使用myeclipse编写Hibernate小栗子

网友投稿 257 2022-09-17

使用myeclipse编写Hibernate小栗子

Hibernate是java领域的一款开源的ORM框架技术

Hibernate对JDBC进行了非常轻量级的对象封装

准备前的工作

导入Hibernate必须的jar包​​ hibernate-core.zip ​​

导入MySQL的JDBC驱动 ​​mysql-connector-java-5.1.7-bin.jar​​

导入Junit4的jar包 ​​Junit-4.10.jar​​

我们可以把上面的jar包 添加自定义用户类库,方便每次导入jar包。添加后最好就不要移动这些jar包的位置了哦  不然你就要重新修改用户类库了

基本步骤

在MyEclipse Datebase Explorer 创建数据库连接创建hibernate的配置文件根据数据库表自动生成持久化类和对象关系映射文件使用junit通过Hibernate API编写访问数据库的代码

在MyEclipse Datebase Explorer 创建数据库连接

在DB Browser界面鼠标右键new 新建数据库驱动

创建hibernate的配置文件

导入自定义类库的三个jar包 next

create SessionFactory class是否创建SessionFactory类我取消勾选了  因为我在下面自己实例化了

org.hibernate.dialect.MySQLDialect jdbc:mysql://localhost:3306/susu root 123 com.mysql.jdbc.Driver MySQLDriver

根据数据库表自动生成持久化类和对象关系映射文件

在DB Browser界面打开我们创键的数据库连接

选中我们需要生成持久化类的表,右键选择Hibernate Reverse Engineering

java src folder    持久化类生成的项目位置

java package     持久化类的包名

在你选择的项目里即成功生成了持久化类和对象关系映射文件

持久化类

package com.susu.entity;import java.util.Date;/** * Students entity. @author MyEclipse Persistence Tools */public class Students implements java.io.Serializable { // Fields private Integer id; private String name; private String gender; private Date date; private String address; // Constructors /** default constructor */ public Students() { } /** full constructor */ public Students(String name, String gender, Date date, String address) { this.name = name; this.gender = gender; this.date = date; this.address = address; } // Property accessors public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getGender() { return this.gender; } public void setGender(String gender) { this.gender = gender; } public Date getDate() { return this.date; } public void setDate(Date date) { this.date = date; } public String getAddress() { return this.address; } public void setAddress(String address) { this.address = address; }}

对象关系映射文件

这个时候会在hibernate.cfg.xml 新增一个映射  指向刚刚生成的关系映射文件

通常我们还会加上

true true update

在控制台输出sql 语句并对Sql语句进行排版

使用junit通过Hibernate API编写访问数据库的代码

import java.util.Date;import java.util.Properties;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;import org.junit.After;import org.junit.Before;import org.junit.Test;import com.susu.entity.Students;public class StudentsTest { private SessionFactory sessionFactory; private Session session; private Transaction transaction; @Before public void init() { // 创建配置对象 Configuration config = new Configuration().configure(); // 创建服务注册对象 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder() .applySettings(config.getProperties()).buildServiceRegistry(); // 创建会话工厂对象 sessionFactory = config.buildSessionFactory(serviceRegistry); // 会话对象 session = sessionFactory.openSession(); // 开启事务 transaction = session.beginTransaction(); } @Test public void testSaveStudents() { Students stu=new Students("张三", "男", new Date(), "河南省信阳市"); session.save(stu); } @After public void destroy() { transaction.commit();// 提交事务 session.close(); sessionFactory.close(); }}

运行结果:

打开mysql数据库会发现我们成功在Students表中插入了一条数据。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:TankWar 单机(JAVA版) 版本1.5 画一辆敌方的坦克
下一篇:@SkipValidation注解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~