天才第一步,雀氏纸尿裤,Hibernate 第一步,连接数据库。
Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,它将 POJO 与数据库表建立映射关系,是一个全自动的 orm 框架,hibernate 可以自动生成 SQL 语句,自动执行,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 所以说,Hibernate 讲白了就是简化了与数据库之间的操作,那么要玩转它自然就得连接上数据库咯。(与 Hibernate 对应的 orm 框架还有 Mybatis,只不过 Mybatis 是半自动的,但是个人感觉更喜欢 Mybatis,更自由,扩展性更强)。
今天就给大家分享一下 Hibernate 怎么连接 mysql 数据库并自动创建表,至于其他数据库的连接其实是同理的,大家自己学会举一反三。
第一步:随便创建一个 java 项目,麻痹的项目的都没有怎么玩对吧?New》Other...,输入 java Project, 如图:
点击 Next,然后输入项目名称,选择使用的 JDK 版本等等,然后点击 Finish,如图:
这样一个 java 项目就创建好了。
第二步:在项目的根目录创建一个 lib 目录用来存放项目所需的 jar 包,这里需要用到的有 Hibernate 的核心 jar 包、mysql jdbc 的 jar 包以及 Junit 的 jar 包,这里会用 Junit 进行测试(哥们不用我教怎么去获取这些包吧?如果要,那哥们你还是放弃这个行业吧,作为职业 IT 屌丝,一定要从基层就学会获取资源,利用资源),如图:
然后,在项目中引入这些 jar 包,鼠标右键点击项目,选择 Properties, 弹出如图所示窗口:
点击 Java Build Path, 点击 Libraries,点击 Add JARs,弹出:
将 lib 目录下的 jar 包全部选中点击 ok 按钮就成了,如图:
第三步:创建 Hibernate 的配置文件,在 src 上点击鼠标右键选择 New》Other... 输入 Hibernate,弹出 Hibernate Tools 插件相关的内容,然后选中配置文件,点击 Next,如图:
点击 Next,Next,Finish 就好了。
第四步:在 src 路径下按照包命名规范创建包,并在 entity 包下创建一个实体类,这里我创建的是一个 Student 学生类,然后随便给上几个字段,用 getter/setter 封装一下就好,如图:
第五步:创建实体类的映射文件,New》Other... 输入 Hibernate,弹出 Hibernate Tools 插件相关的内容,然后选中映射文件,点击 Next,如图:
弹出如图所示窗口,点击 Add Class:
选择要映射的实体类,点击 OK 按钮, 如图:
然后又是 Next 或者 Finish 啥的,不用多说,然后映射文件就创建成功了,Hibernate 会帮我们自动写好映射文件,如图:
第六步:进行 Hibernate 配置文件的详细配置,包括连接数据库需要的配置,是否输出 sql 语句,导入映射文件等等,(各个配置的含义请自行了解,培养个人学习能力)如图:
Hibernate 常用配置理解:
第七步:创建数据库,配置文件中我用的是 hibernate 数据库,记得打开 mysql 服务,然后通过可视化工具创建一个 hibernate 数据库就好,如图:
最后一步:使用 Junit 进行测试,新建一个 test 包,在包下新建一个 Junit 测试类,如图:
然后敲上相应的代码:
- 1 package com.alanlee.test;
- 2 3 import java.util.Date;
- 4 5 import org.hibernate.Session;
- 6 import org.hibernate.SessionFactory;
- 7 import org.hibernate.Transaction;
- 8 import org.hibernate.cfg.Configuration;
- 9 import org.hibernate.service.ServiceRegistry;
- 10 import org.hibernate.service.ServiceRegistryBuilder;
- 11 import org.junit.After;
- 12 import org.junit.Before;
- 13 import org.junit.Test;
- 14 15 import com.alanlee.entity.Student;
- 16 17
- /**
- 18 * 测试类
- 19 * @author AlanLee
- 20 *
- 21 */
- 22 public class StudentTest 23 {
- 24
- /**
- 25 * 会话工厂
- 26 */
- 27 private SessionFactory sessionFactory;
- 28
- /**
- 29 * 会话对象
- 30 */
- 31 private Session session;
- 32
- /**
- 33 * 事务对象
- 34 */
- 35 private Transaction transaction;
- 36 37
- /**
- 38 * 初始化
- 39 * @throws Exception
- 40 */
- 41@Before 42 public void setUp() throws Exception 43 {
- 44 // 创建配置镀锡
- 45 Configuration config = new Configuration().configure();
- 46 // 创建服务注册对象
- 47 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()) 48.buildServiceRegistry();
- 49 // 创建会话工厂对象
- 50 sessionFactory = config.buildSessionFactory(serviceRegistry);
- 51 // 创建会话对象
- 52 session = sessionFactory.openSession();
- 53 // 开启事务
- 54 transaction = session.beginTransaction();
- 55
- }
- 56 57
- /**
- 58 * 释放资源
- 59 * @throws Exception
- 60 */
- 61@After 62 public void tearDown() throws Exception 63 {
- 64 // 提交事务
- 65 transaction.commit();
- 66 // 关闭会话
- 67 session.close();
- 68 // 关闭会话工厂
- 69 sessionFactory.close();
- 70
- }
- 71 72
- /**
- 73 * 测试方法
- 74 */
- 75@Test 76 public void testSaveStudent() 77 {
- 78 //生成学生对象
- 79 Student student = new Student();
- 80 student.setSid(1);
- 81 student.setName("AlanLee");
- 82 student.setSex("男");
- 83 student.setBirthday(new Date());
- 84 student.setAddress("湖南郴州");
- 85 //保存对象进入数据库
- 86 session.save(student);
- 87
- }
- 88 89
- }
通过 Junit 运行这个类进行测试,运行成功,如图:
然后我们看一下数据库,刷新一下表,如图:
这样,通过 Hibernate 连接 mysql 数据库并自动创建表就完美实现了。
小 Alan 之前有写关于 eclipse 安装 Hibernate Tools 的随笔,关于 Hibernate Tools 没弄明白的自己翻出来看看,小 Alan 都是尽量用图片展示就是喜欢大家能够尽量自己动手敲敲,别还没理解就是一个 copy,那样子是很难把技术变成自己脑海里的东西的。
爸妈又在催吃饭了,下回见。
来源: http://www.cnblogs.com/AlanLee/p/5839094.html