• 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对象
  • 相关阅读:
    taobao 爬虫基本思路分享
    浅谈python中字典append 到list 后值的改变问题
    滑动验证码验证
    selenium:css_selector定位详解
    01分数规划
    可持久化并查集(草稿)
    后缀自动机求endpos集大小
    伯努利数公式
    HDU 6619 Horse 斜率优化dp
    别人的回文自动机
  • 原文地址:https://www.cnblogs.com/qingcong/p/5825470.html
Copyright © 2020-2023  润新知