读书人

hibernate:入门小例证

发布时间: 2012-10-27 10:42:26 作者: rapoo

hibernate:入门小例子
1、新建java项目
2、创建User Library:hibernate,加入如下jar
* HIBERNATE_HOME/hibernate3.jar
* HIBERNATE_HOME/lib/*.jar
* MySql jdbc驱动
3、把新建的类库加入到项目
4、创建hibernate配置文件hibernate.cfg.xml

<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><property name="myeclipse.connection.profile">mysql</property><property name="connection.url">jdbc:mysql://localhost:3306/hibernate_first</property><property name="connection.username">root</property><property name="connection.password">admin</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="show_sql">true</property></session-factory></hibernate-configuration>

5、定义实体类
package com.lhtwqh.hibernate;import java.util.Date;public class User {private String id;private String name;private String password;private Date createTime;private Date expireTime;public User(){}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getExpireTime() {return expireTime;}public void setExpireTime(Date expireTime) {this.expireTime = expireTime;}}

6、定义User类的映射文件User.hbm.xml
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.lhtwqh.hibernate"><class name="User"><id name="id" length="32">  <generator name="code">   <mapping resource="com/lhtwqh/hibernate/User.hbm.xml">         </mapping>

8、编写hbm2ddl工具类,将实体类生成数据库表
package com.lhtwqh.hibernate;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;public class ExportDB {public static void main(String[] args) {            //读取配置文件   Configuration config = new Configuration().configure();   SchemaExport export = new SchemaExport(config);            //生成数据库表   export.create(true, true);}}

9、开发客户端
package com.lhtwqh.hibernate;import java.util.Date;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class Client {    public static void main(String[] args) {      //读取hibernate.cfg.xml文件      Configuration config = new Configuration().configure();      //创建SessionFactory      sessionFactory sessionFactory=config.buildSessionFactory()         Session session = null;try {session = sessionFactory.openSession();                            //开启事务session.beginTransaction();User user = new User();user.setName("lhtwqh");user.setPassword("lhtwqh");user.setCreateTime(new Date());user.setExpireTime(new Date());                            //保存数据session.save(user);                            //提交事务session.getTransaction().commit();} catch (Exception e) {                            //回滚事务session.getTransaction().rollback();e.printStackTrace();} finally {if (session != null) {if (session.isOpen()) {                                             //关闭sessionsession.close();}}}}}

读书人网 >软件架构设计

热点推荐