1.在intellij idea中添加Hibernate support
在file->setting->plugins搜索Hibernate
选中Hibernate support和Persistence frameworks Support点击确定待添加完成后再添加JUnit,待添加完成重新启动intellij idea
2.创建一个Hibernate项目
和创建普通的java项目一样file->new->project
选择java,选择Hibernate选项,勾选上create default hibernate configuration and main class,下面的Liberaries选择Download点击next命名为HibernateDamo。项目创建完成。
3.在mysql数据库中创建数据库hibernate并创建一个学生表(students)
这里我使用Navicat Premium
打开软件创键连接
然后新建数据库(hibernate)
字符集选择utf-8,点击确定
在数据库里新建表(students)并添加属性
到此,数据库就准备完毕了
4.使用intellij idea连接数据库
打开intellij idea,找到view->Tool Windows->Database
按下图操作
填写完成后点击侧边的MySql选项添加驱动
最后点击Test connection
看到successful后点击OK
可以看到刚刚建立的数据库和表
5.创建持久化类
首先在src包下新建一个包叫table
然后跟下图操作
完成后在table下会生成两个文件实体类和配置文件
现在到lib包下添加jdbc for mysql驱动(需要自己提前下载)
然后右击复制好的文件选择add as Library 弹出对话框点击确定
然后打开hibernate.cig.xml(在src包中)添加用户名和密码
6.使用Junit测试
在第一步的时候我们已经添加了JUnit
首先在src包下面新建test包 在包中新建一个StudentsTest类
内容如下
package test;
import Dao.StudentsEntity;
import org.hibernate.*;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.sql.Date;
/**
* 这里是测试类
* Created by mycomputer on 2017/4/15.
*/
public class StudentsTest {
private SessionFactory sessionFactory;
private Session session;
private Transaction transaction;
@Before
public void init(){
//创建配置对象
Configuration config = new Configuration().configure();
//创建服务注册对象
// ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build();(使用这种方法会报错,unkonw Entity 。。。。)
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
//创建会话工厂对象
sessionFactory = config.buildSessionFactory(serviceRegistry);
//创建会话对象
session = sessionFactory.openSession();
//开启事务
transaction = session.beginTransaction();
}
@Test
public void testSaveStudents(){
StudentsEntity s = new StudentsEntity();
s.setSid(2);
s.setSname("张三丰");
s.setGender("男");
s.setBirthday( new Date(1));
s.setAddress("大昌南路18号");
session.save(s);//保存对象进入数据库
}
@After
public void destory(){
//提交事务
transaction.commit();
//关闭session
session.close();
//关闭sessionFactory
sessionFactory.close();
}
}
然后运行这个类
测试成功!!!完结散花