hibernate的简单运用步骤笔记

hibernate 3.6.0的使用记录

1.首先下载hibernate的开发jar包

2.引入jar包到项目中

(可以自己手动添加到项目的lib文件夹在构建路径 也可以通过IED来直接引入)

关键的jar包:

①hibernate的核心包

②hibernate解压后lib文件夹下required文件夹下所有的jar包

③hibernate解压后lib文件夹下jpa文件夹下的jar包

④数据库驱动jar包

3.创建映射对象类以及所对应的(*.hbm.xml)文件

4.在src目录下创建hibernate.cfg.xml主配置文件(项目发布时会自动发布到WEB-INF目录中的class文件下)

在hibernate.cfg.xml中加入连接数据库的相关配置一般有以下几项:

<hibernate-configuration>
    <session-factory>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property><!--驱动-->
        <property name="connection.url">jdbc:mysql://127.0.0.1:3306/struts2andhibernate</property><!--url-->
        <property name="connection.username">root</property><!--数据库用户名-->
        <property name="connection.password">root</property><!--数据库密码-->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property><!--数据库方言-->
        <property name="show_sql">true</property>  <!-- 在后台打印sql语句,开发的时候设为true-->
        <property name="format_sql">true</property><!-- 将后台打印的sql语句格式化-->
        <property name="hbm2ddl.auto">update</property>  <!--自动建表设置的-->

     <!--引入相应的*.hbm.xml映射文件-->
<mapping resource="entity/Users.hbm.xml"/> <mapping resource="entity/Students.hbm.xml"/> </session-factory> </hibernate-configuration>

5 最后进行简单的测试

测试和使用的关键步骤:

//获得加载配置文件的管理类对象
Configuration config = new Configuration();
config.configure("cn/config/hibernate.cfg.xml");//默认加载src/hibernate.cfg.xml
//创建session的工厂对象
SessionFactory sf=config.buildSessionFactory();
//创建session(代表一个会话,与数据库连接的会话)

Session session=sf.openSession();
//开启事务
Transaction tx=session.beginTransaction();
//保存-数据库
session.save();
//提交事务
tx.commit();
//关闭
session.close();
sf.close();

 

 

hibernate 4以上的相应用法
//获得加载配置文件的管理类对象
Configuration config = new Configuration();
config.configure("配置文件所在的路径"); //不填写默认是在src目录下
//获得服务注册对象
ServiceRegistry servletRegistry = new ServiceRegistryBuilder()
    .applySettings(config.getProperties()).buildServiceRegistry();
//更高版本用下面这个

 /* ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
    .applySettings(config.getProperties()).build();*/

//获得sessionFactory对象
SessionFactory sessionFactory = config.buildSessionFactory(servletRegistry);
//获得session对象,创建会话 两种方法
//方法一:
Session session = sessionFactory.openSession(); //方法二:
Session session
= sessionFactory.getCurrentSession(); //在配置文档中要进行相应的配置否则会抛出异常(添加一个属性) <property name="hibernate.current_session_context_class">thread</property> 这两种创建session 的区别: 1.getCurrentSession在事务提交或者回滚之后会自动关闭,而opensession需要你手动关闭。 如果使用openSession而没有手动关闭,多次之后会导致连接池溢出 2.openSession每次创建新的session对象,getCurrentSession使用现有的session对象

 

posted @ 2016-08-31 12:57  鲤鱼-CC  阅读(289)  评论(0编辑  收藏  举报