Hibernate环境搭建
1、从官网下载Hibernate发布包 http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc
2、解压Hibernate包,将hibernate3\lib\required下的jar包导入项目中,
3、下载jdbc驱动包,也放到项目中。
MySQL JDBC Driver下载地址 https://dev.mysql.com/downloads/connector/j/3.0.html
4、创建hibernate.cfg.xml文件,完成基本配置。可以从Hibernate3\project\etc下拷贝。
5、建立实体类User.java
6、创建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> <!--生成默认为user的数据库表--> <class name="com.lhy.hibernate.User">
<id name="id" type="java.lang.Integer"> <generator class="increment"/> </id> <property name="name"></property> <property name="password"></property> <property name="createTime" type="date"></property> </class> </hibernate-mapping>
7、将User.hbm.xml文件加入到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="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 设置数据库URL --> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_first</property> <!-- 数据库用户名 --> <property name="hibernate.connection.username">root</property> <!-- 数据库密码 --> <property name="hibernate.connection.password">1234</property> <!-- 指定对应数据库的方言,hibernate为了更好适配各种关系数据库,针对每种数据库都指定了一个方言dialect --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 映射文件 --> <mapping resource="com/lhy/hibernate/User.hbm.xml"/> </session-factory> </hibernate-configuration>
8、编写工具类ExportDB.java,将hbm生成ddl,也就是hbm2ddl
package com.lhy.hibernate;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class ExportDB{
public static void main(String[]args){
//默认读取hibernate.cfg.xml文件
Configuration cfg = new Configuration().configure();
////生成并输出sql到文件(当前目录)和数据库
SchemaExport export = new SchemaExport(cfg);
export.create(true, true);
}
}
9、测试,建立客户端类Client,添加用户数据到mySQL
package com.lhy.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 cfg = new Configuration().configure();
//建立SessionFactory
SessionFactory factory =cfg.buildSessionFactory();
//取得session
Session session = null;
try{
//开启session
session = factory.openSession();
//开启事务
session.beginTransaction();
User user = new User();
user.setName("lhy1");
user.setPassword("123456");
user.setCreateTime(new Date()); //保存User对象
session.save(user);
//提交事务
session.getTransaction().commit();
}catch(Exception e){
e.printStackTrace();
//回滚事务
session.getTransaction().rollback();
}finally{
if(session != null){
if(session.isOpen()){
//关闭session
session.close();
}
}
}
}
}
10、为了在调试过程中能观察到Hibernate的日志输出,最好加入log4j.properties配置文件、在CLASSPATH中新建log4j.properties配置文件或将该配置文件拷贝到src下,便于程序调试。
说明:此贴仅做记录学习之用。代码仅作参考,实际运行中可能会有问题,请谨慎使用。
参考网站 http://blog.csdn.net/jiuqiyuliang/article/details/39380465