使用myeclipse编写Hibernate小栗子
2016-11-21 21:24
357 查看
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 创建数据库连接
点击myeclipse的右上角图标open Perspective 选择MyEclipse Database Explorer
在DB Browser界面鼠标右键new 新建数据库驱动
我用的是mysql数据库,使用其它数据库请相应修改,把数据库帐号密码 驱动添加后点击finsh即可。
创建hibernate的配置文件
点击你创建的java项目 右键 MyEclipse->Add Hibernate Capabilities
导入自定义类库的三个jar包 next
这里就是生成的hibernate配置文件位置和名称 点击next
选择我们刚刚在MyEclipse Database Explorer新建的数据库 点击next
create SessionFactory class是否创建SessionFactory类我取消勾选了 因为我在下面自己实例化了
点击finish即成功创建了hibernate的配置文件hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.url">jdbc:mysql://localhost:3306/susu</property>
<property name="connection.username">root</property>
<property name="connection.password">123</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="myeclipse.connection.profile">MySQLDriver</property>
</session-factory>
</hibernate-configuration>
根据数据库表自动生成持久化类和对象关系映射文件
点击myeclipse的右上角图标open Perspective 选择MyEclipse Database Explorer
在DB Browser界面打开我们创键的数据库连接
选中我们需要生成持久化类的表,右键选择Hibernate Reverse Engineering
java src folder 持久化类生成的项目位置
java package 持久化类的包名
点击next
id generator 选择native 点击finish
在你选择的项目里即成功生成了持久化类和对象关系映射文件
持久化类
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;
}
}
对象关系映射文件
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.susu.entity.Students" table="students" catalog="susu">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
<property name="gender" type="java.lang.String">
<column name="gender" length="2" />
</property>
<property name="date" type="java.util.Date">
<column name="date" length="0" />
</property>
<property name="address" type="java.lang.String">
<column name="address" length="30" />
</property>
</class>
</hibernate-mapping>
这个时候会在hibernate.cfg.xml 新增一个映射 指向刚刚生成的关系映射文件
<mapping resource="com/susu/entity/Students.hbm.xml" />
通常我们还会加上
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property>
在控制台输出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表中插入了一条数据。
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 创建数据库连接
点击myeclipse的右上角图标open Perspective 选择MyEclipse Database Explorer
在DB Browser界面鼠标右键new 新建数据库驱动
我用的是mysql数据库,使用其它数据库请相应修改,把数据库帐号密码 驱动添加后点击finsh即可。
创建hibernate的配置文件
点击你创建的java项目 右键 MyEclipse->Add Hibernate Capabilities
导入自定义类库的三个jar包 next
这里就是生成的hibernate配置文件位置和名称 点击next
选择我们刚刚在MyEclipse Database Explorer新建的数据库 点击next
create SessionFactory class是否创建SessionFactory类我取消勾选了 因为我在下面自己实例化了
点击finish即成功创建了hibernate的配置文件hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.url">jdbc:mysql://localhost:3306/susu</property>
<property name="connection.username">root</property>
<property name="connection.password">123</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="myeclipse.connection.profile">MySQLDriver</property>
</session-factory>
</hibernate-configuration>
根据数据库表自动生成持久化类和对象关系映射文件
点击myeclipse的右上角图标open Perspective 选择MyEclipse Database Explorer
在DB Browser界面打开我们创键的数据库连接
选中我们需要生成持久化类的表,右键选择Hibernate Reverse Engineering
java src folder 持久化类生成的项目位置
java package 持久化类的包名
点击next
id generator 选择native 点击finish
在你选择的项目里即成功生成了持久化类和对象关系映射文件
持久化类
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;
}
}
对象关系映射文件
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.susu.entity.Students" table="students" catalog="susu">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
<property name="gender" type="java.lang.String">
<column name="gender" length="2" />
</property>
<property name="date" type="java.util.Date">
<column name="date" length="0" />
</property>
<property name="address" type="java.lang.String">
<column name="address" length="30" />
</property>
</class>
</hibernate-mapping>
这个时候会在hibernate.cfg.xml 新增一个映射 指向刚刚生成的关系映射文件
<mapping resource="com/susu/entity/Students.hbm.xml" />
通常我们还会加上
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property>
在控制台输出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表中插入了一条数据。
相关文章推荐
- 使用MyEclipse编写第一个Hibernate例子(内含导入jar包等一系列准备工作)
- 关于使用MyEclipse自动生成Hibernate和Struts出现的jar不兼容的问题(antlr.collections.AST.getLine()I)
- 使用ThreadLocal编写HibernateUtil工具类
- mac下Myeclipse2015编写的第一个hibernate程序myHibernateUser及源码
- myeclipse使用hibernate正向工程和逆向工程
- 使用MyEclipse开发Spring+Hibernate
- 使用MyEclipse编写Java程序
- 如何使用MyEclipse自动生成hibernate映射文件
- SS3.1_Hibernate_ByMyEclipse 使用MyEclipse创建Hibernate项目
- [转]在 MyEclipse 5.1GA 上使用 XFire 编写 Web Service
- [hsp学习笔记]如何使用myEclipse进行hibernate开发(第十二讲)
- 使用MyEclipse可视化开发Hibernate
- 使用Myeclipse完成Hibernate的逆向工程
- 使用MyEclipse工具简化Hibernate数据库开发
- 在Myeclipse中使用Hibernate反向工程工具——Hibernate Synchronizer
- myeclipse6.5下使用hibernate3.6进行逆向工程
- 编写你的第一个Hibernate程序 (在Hibernate中使用oracle的sequence产生主键 )
- 使用myeclipse对数据库进行反向生成Hibernate
- MyEclipse使用hibernate正向工程和逆向工程
- 使用Myeclipse实现Hibernate快速数据库访问