博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate第一个程序(最基础的增删改查) --Hibernate
阅读量:4509 次
发布时间:2019-06-08

本文共 4369 字,大约阅读时间需要 14 分钟。

 本例实现Hibernate的第一个程序,Hibernate的优点我想大家都很清楚,在这里不做过多赘述。总之,使用Hibernate对数据库操作,也就是来操作实体对象的!

项目目录:

一、第一步要做的就是先建个数据库,这很简单,一条语句搞定;

  create database test;

二、配置hibernate.cfg.xml配置文件,主要是指定与数据库的连接及其他的相关设置,看代码就懂了

 

com.mysql.jdbc.Driver
jdbc:mysql:///test
root
123456
org.hibernate.dialect.MySQL5Dialect
org.hibernate.c3p0.internal.C3P0ConnectionProvider
thread
update
true
true

 

三、建实体类(Student.java)和相应的映射文件(Student.hbm.xml)

Student.java:

package com.beans;public class Student {    int id;    String name;    int age;    double score;    public Student() {        super();        // TODO Auto-generated constructor stub    }    public Student(String name, int age, double score) {        super();        this.name = name;        this.age = age;        this.score = score;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public double getScore() {        return score;    }    public void setScore(double score) {        this.score = score;    }    @Override    public String toString() {        return "Student [id=" + id + ", name=" + name + ", age=" + age                + ", score=" + score + "]";    }}

Student.hbm.xml:

四、junit测试,主要是测试操作实体类对象对数据库进行增删改查

MyTest.java:

package com.test;import org.hibernate.Session;import org.junit.Test;import com.beans.Student;import com.utils.HbnUtils;public class MyTest {    /**     * 查询操作(查)     */    @Test    public void testGet() {                Session session = HbnUtils.getSession();        session.beginTransaction();// 等价于session.getTransaction().begin();        Student student = session.get(Student.class, 1);        System.out.println(student);        session.getTransaction().commit();    }    @Test    /**     * 保存信息(增)     */    public void testSave(){        Session session = HbnUtils.getSession();//执行这一步表就会建出来        try {            session.beginTransaction();            Student student = new Student("Tom",21,98);            student.setId(1);            session.save(student);            session.getTransaction().commit();                    } catch (Exception e) {            // TODO: handle exception            e.printStackTrace();            session.getTransaction().rollback();        }    }    @Test    /**     * 修改信息     */    public void testSaveOrUpdate(){        Session session = HbnUtils.getSession();//执行这一步表就会建出来        try {            session.beginTransaction();            Student student = new Student("Tom",21,100);//更新并保存tid为1的值            student.setId(1);            session.saveOrUpdate(student);            session.getTransaction().commit();                    } catch (Exception e) {            // TODO: handle exception            e.printStackTrace();            session.getTransaction().rollback();        }    }    @Test    /**     * 删除操作(删)     */    public void testDelete(){        Session session = HbnUtils.getSession();//执行这一步表就会建出来        try {            session.beginTransaction();            Student student = new Student();            student.setId(1);//删除id是1的所有相关数据            session.delete(student);            session.getTransaction().commit();                    } catch (Exception e) {            // TODO: handle exception            e.printStackTrace();            session.getTransaction().rollback();        }    }}

testSave():数据库表中添加了一条数据(增)

testDelete():删除这条数据(删)

testSaveOrUpdate():更新了这条数据(改)

texstGet():查询这条数据全部信息(查)

 

附:个人网站www.nxl123.cn(后台采用Python Flask框架搭建,2019年1月1日将升级完成并正式启用。哎,本人是学生狗呢!网站做的不好希望大家多多提意见或建议吧!?别骂我就好!……以后SEO什么的还得多向大家学习……)

转载于:https://www.cnblogs.com/qikeyishu/p/9158373.html

你可能感兴趣的文章
WebKit的已实施srcset图像响应属性
查看>>
suggestion开发小结以及 对键盘事件的总结(针对中文输入法状态)
查看>>
Nio Client
查看>>
数据库 chapter 16 XML数据库
查看>>
spring mvc jsp运行不起来的问题
查看>>
大数据概述
查看>>
SpringBoot 密码MD5加密
查看>>
Mac MySQL启动不了解决办法(MySQL卸载重新安装教程)
查看>>
连通块
查看>>
servlet.txt笔记
查看>>
jquery设置select选中
查看>>
今天说一下DML触发器的顺序
查看>>
Memcached学习(一)--网络模型
查看>>
FragmentTransaction add 和 replace 区别 转
查看>>
jQuery 效果方法
查看>>
STM32物联网通信WIFI
查看>>
java反射案例详解
查看>>
MAGENTO 与 reindexer
查看>>
数字,字符串,列表及其内置方法
查看>>
iOS遍历数组的同时删除元素
查看>>