在intellij idea中使用Hibernate详细

来源:互联网 发布:淘宝美妆店扒皮贴吧 编辑:程序博客网 时间:2024/06/05 09:26

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();    }}

然后运行这个类
这里写图片描述
测试成功!!!完结散花

1 0