Hibernate的配置与简单使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Hibernate的配置与简单使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5443字,纯文字阅读大概需要8分钟。
内容图文
![Hibernate的配置与简单使用](/upload/InfoBanner/zyjiaocheng/1333/472f11c874eb4a438f6c69c42f27b583.jpg)
一、概念
Hibernate是一个开源的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以抛弃在程序中编写SQL语句,随心所欲的使用对象编程思维来操纵数据库。
二、准备工作
在Eclipse中安装HibernateTools插件:Help -> Install New Software 来进行安装。New -> Other打开的对话框中如果有Hibernate选项则表明安装成功。
三、创建工程
1.New 一个 Java Project
2.为Java工程导入jar包:
-
- Hibernate核心jar包
- MySQL的jdbc驱动jar包
- Junit4的jar包
![]() |
![]() |
![]() |
我们在windows->preferences->java->build path-user libraries中将三者添加为三个用户类库,方便以后的导入:
右击Java项目->properties->Java Build Path->Library->add Library->User Library->next->将刚才建好的用户类库全打勾->finish->ok。
3. 创建Hibernate的配置文档,并编辑:
右击工程下的src->new->other->Hibernate->Hibernate Configuration File (cfg.xml)->next,next,finish
src下已经生成了配置文件hibernate.cfg.xml,打开
< hibernate-configuration > < session-factory name ="" > < property name ="connection.driver_class" >com.mysql.jdbc.Driver</property> //mysql的jdbc驱动<property name="connection.url">jdbc:mysql:///hibernate?useUnicode=true&characterEncoding=UTF-8</property> //指明数据库的url地址<property name="connection.username">root</property> //mysql用户名<property name="connection.password">****</property> //密码<property name="dialect">org.hibernate.dialect.MySQLDialect</property> //方言<property name="show_sql">true</property><property name="format_sql">true</property><property name="hbm2ddl.auto">create</property><mapping resource="Students.hbm.xml"/> //映射文件</session-factory></hibernate-configuration>
4. 创建持久化类
假如我们想往数据库存放一张学生表,包括id,姓名,性别,生日,地址这些字段。那么我们可以创建一个Students类,类中包含了学生的这些属性,我们可以通过“更改Students对象的属性,再传递给数据库”来间接地操纵数据库,这样就避免了使用SQL语句。那么Students这个类我们就称为持久化类。
在src下创建一个类,命名为Students。持久化类的设计原则要遵循JavaBean的设计原则:
-
- 公有的类
- 私有的属性
- 无参的公有的构造方法
- 属性setter/getter封装
如下:
![技术分享](/upload/getfiles/default/2022/11/9/20221109092538807.jpg)
![技术分享](/img/jian.gif)
public class Students { private int sid; private String sname; private String gender; private Date brithday; private String address; public Students() { } public Students(int sid, String sname, String gender, Date brithday, String address) { this.sid = sid; this.sname = sname; this.gender = gender; this.brithday = brithday; this.address = address; } publicint getSid() { return sid; } publicvoid setSid(int sid) { this.sid = sid; } public String getSname() { return sname; } publicvoid setSname(String sname) { this.sname = sname; } public String getGender() { return gender; } publicvoid setGender(String gender) { this.gender = gender; } public Date getBrithday() { return brithday; } publicvoid setBrithday(Date brithday) { this.brithday = brithday; } public String getAddress() { return address; } publicvoid setAddress(String address) { this.address = address; } @Override public String toString() { return "Students [sid=" + sid + ", sname=" + sname + ", gender=" + gender + ", brithday=" + brithday + ", address=" + address + "]"; } }
5. 创建对象-关系映射文件
右击src->new->other->Hibernate->Hibernater XML Mapping File (hbm.xml)->next,next->点选要持久化的类->finish
对象-关系映射文件创建完毕,打开可以看到:文件将一个实体类映射称为数据库中的一张表。
![技术分享](/upload/getfiles/default/2022/11/9/20221109092538807.jpg)
![技术分享](/img/jian.gif)
< hibernate-mapping > < class name ="Students" table ="STUDENTS" > < id name ="sid" type ="int" > < column name ="SID" /> < generator class ="assigned" /> </ id > < property name ="sname" type ="java.lang.String" > < column name ="SNAME" /> </ property > < property name ="gender" type ="java.lang.String" > < column name ="GENDER" /> </ property > < property name ="brithday" type ="java.util.Date" > < column name ="BRITHDAY" /> </ property > < property name ="address" type ="java.lang.String" > < column name ="ADDRESS" /> </ property > </ class > </ hibernate-mapping >
映射文件创建好之后要记得在hibernate配置文件中,添加mapping标签:
< mapping resource ="Students.hbm.xml" />
6. 在Mysql中创建一个数据库,名称为配置文档中所配置的数据库名称
7. 通过Hibernate API编写访问数据库的代码,使用Junit进行测试。
三个注解:
-
- @Test :测试方法
- @Before:初始化方法
- @After:释放资源
右击工程名->new->source folder源文件夹->folder name命名为test->finish
在test文件夹下新建一个类,命名为StudentsTest:
1 import java.util.Date; 2 import org.hibernate.Session; 3 import org.hibernate.SessionFactory; 4 import org.hibernate.Transaction; 5 import org.hibernate.cfg.Configuration; 6 import org.hibernate.service.ServiceRegistry; 7 import org.hibernate.service.ServiceRegistryBuilder; 8 import org.junit.After; 9 import org.junit.Before; 10 import org.junit.Test; 11 12 // 测试类 13 public class StudentsTest { 14 15 private SessionFactory sessionFactory; 16 private Session session; 17 private Transaction transaction; 18 19 @Before 20 public void init() { 21 // 创建配置对象 22 Configuration config = new Configuration().configure(); 23// 创建服务注册对象24 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()) 25 .buildServiceRegistry(); 26// 创建会话工厂对象27 sessionFactory = config.buildSessionFactory(serviceRegistry); 28// 会话对象29 session = sessionFactory.openSession(); 30// 开启事务31 transaction = session.beginTransaction(); 3233 } 3435 @After 36publicvoid destroy() { 37 transaction.commit();// 提交事务38 session.close();// 关闭会话39 sessionFactory.close();// 关闭会话工厂40 } 4142 @Test 43publicvoid testSaveStudents() { 44// 生成学生对象45 Students s = new Students(1, "张三", "男", new Date(), "北京市"); 46// 保存对象进入数据库47 session.save(s); 48 } 49 }
测试类创建好之后,右击该类下目录下的testSaveStudents()方法,Run as Junit Test!
之后我们去相应的数据库里查看,已经有一张students的表生成了:
原文:http://www.cnblogs.com/xingyazhao/p/6659124.html
内容总结
以上是互联网集市为您收集整理的Hibernate的配置与简单使用全部内容,希望文章能够帮你解决Hibernate的配置与简单使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。