,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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
1511 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数据库并自动创建表就完美实现了。
最后
以上就是稳重铃铛最近收集整理的关于hibernate连接mysql自动生成的全部内容,更多相关hibernate连接mysql自动生成内容请搜索靠谱客的其他文章。
发表评论 取消回复