zoukankan      html  css  js  c++  java
  • hibernate初次配置及测试

    1.hibernate框架使用的准备工作

      1.1导入jar包

        

          

      1.2向eclipse导入dtd文件

        

        uri在dtd文件中有

        

     2.hibernate框架的配置

      2.1首先先创建一个实体类

    package cn.domain.demo;
    
    public class Users {
        private Integer id;
        private String username;
        private Integer age;
        private String gender;
        public Integer getId() {
            return id;
        }
        public void setId(Integer id) {
            this.id = id;
        }
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        public String getGender() {
            return gender;
        }
        public void setGender(String gender) {
            this.gender = gender;
        }
        //用于测试
        @Override
        public String toString() {
            return "Users [id=" + id + ", username=" + username + ", age=" + age + ", gender=" + gender + "]";
        }
    }

      2.2配置*.hbm.xml映射文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
        <!-- package如果配置在下面要用全包名的可以使用类名 -->
    <hibernate-mapping package="cn.domain.demo">
        <!-- bean类与数据表关联 -->
        <class name="cn.domain.demo.Users" table="users">
            <!-- 主键映射 -->
            <id name="id" column="id">
                <!-- 主键生成策略 -->
                <generator class="native"/>
            </id>
            <!-- 其他键的映射 -->
            <property name="username" column="username"/>
            <property name="age" column="age"/>
            <property name="gender" column="gender"/>
        </class>
    </hibernate-mapping>

      2.2配置hibernate.cfg.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
    
    <session-factory>
         <!--
              配置服务器方言 
             针对不同的数据库和数据库引擎
         -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <!-- 配置数据库驱动 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <!-- 配置数据库的URL -->
        <property name="hibernate.connection.url">jdbc:mysql:///test</property>
        <!-- 配置数据库的用户名 -->
        <property name="hibernate.connection.username">root</property>
        <!-- 配置数据库的密码 -->
        <property name="hibernate.connection.password">root</property>
        
        <!-- 可选配置 -->
        <!-- 配置是否显示SQL语句 -->
        <property name="hibernate.show_sql">true</property>
        <!-- 配置是否格式化SQL语句 -->
        <property name="hibernate.format_sql">true</property>
        <!-- 配置session绑定的对象  jta-->
        <property name="hibernate.current_session_context_class">thread</property>
    <!-- 
        配置对数据库自动建表
        ## auto schema export 
        #hibernate.hbm2ddl.auto create-drop ---自动建表当程序结束时删除表,不留痕迹
        #hibernate.hbm2ddl.auto create        ---自动建表每次创建启动都会建表,覆盖数据
        #hibernate.hbm2ddl.auto update        ---自动建表没有表时新建,不会对原来的表结构进行修改(推荐)
        #hibernate.hbm2ddl.auto validate     ---不自动建表 -->
         <property name="hibernate.hbm2ddl.auto">update</property>
     
        <!-- 关联hbm文件 -->
        <mapping resource="cn/domain/demo/Users.hbm.xml"/>
    </session-factory>
    </hibernate-configuration>

    3.测试配置的hibernate是否正确

    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    
    import cn.domain.demo.Users;
    
    public class Test {
        @org.junit.Test
        public void hibernateTest() {
            //创建configuration对象并加载hibernate.cfg.xml文件默认加载src下的文件
            Configuration config = new Configuration().configure();
            //获取session工厂,该对象属于重量级
            SessionFactory sessionFactory = config.buildSessionFactory();
            //获取session对象
            Session session = sessionFactory.getCurrentSession();
            //开启事务
            Transaction tx = session.beginTransaction();
            Users user = new Users();
            user.setUsername("zjj");
            user.setAge(18);
            user.setGender("男");
            //更新数据,将瞬时态转换为持久态
            session.save(user);
            //提交事务
            tx.commit();
            session.close();
            sessionFactory.close();
        }
    }

      

  • 相关阅读:
    INSPIRED启示录 读书笔记
    INSPIRED启示录 读书笔记
    INSPIRED启示录 读书笔记
    INSPIRED启示录 读书笔记
    dialog窗口也能刷新
    js验证数字及操作备份
    工具类
    查询结果设置背景色
    decmain主体类经典保存备份
    jquery操作备份
  • 原文地址:https://www.cnblogs.com/FlyBlueSky/p/9129466.html
Copyright © 2011-2022 走看看