发表于: 2017-07-21 15:09:44

13 1020


根据上次的内容总结,现在自己稍微的学习了一下hibernate

装上了JBoos,用hibernate谢了一个测试类,基本上可以完成增删改查等对数据库的操作,但还没有DAO,Service,Web的,就只是一个测试的java工程!

Book.java  :

Book.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">

<!-- Generated 2017-7-21 14:02:43 by Hibernate Tools 3.4.0.CR1 -->

<hibernate-mapping>

    <class name="cn.books.bean.Book" table="BOOK">

        <id name="bid" type="int">

            <column name="BID" />

            <generator class="native" /><!-- 指定主键的生成方式为使用数据库的本地方式 -->

        </id>

        <property name="bname" type="java.lang.String">

            <column name="BNAME" />

        </property>

        <property name="bauthor" type="java.lang.String">

            <column name="BAUTHOR" />

        </property>

        <property name="price" type="java.math.BigDecimal">

            <column name="PRICE" />

        </property>

        <property name="bpress" type="java.lang.String">

            <column name="BPRESS" />

        </property>

        <property name="phone" type="java.lang.String">

            <column name="PHONE" />

        </property>

    </class>

</hibernate-mapping>

hibernate.cfg.xml:

 <session-factory>

    <!-- 配置数据库的基本信息 -->

    <property name="connection.username">root</property>

    <property name="connection.password">123456</property>

    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>

    <property name="connection.url">jdbc:mysql:///master</property>

    

    <!-- 配置 hibernate 的基本信息 -->

    <!-- hibernate 所使用的数据库方言 -->

    <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>       

    <!-- 执行操作时是否在控制台打印 SQL -->

    <property name="show_sql">true</property>

    <!-- 是否对 SQL 进行格式化 -->

    <property name="format_sql">true</property>

    <!-- 指定自动生成数据表的策略 -->

    <property name="hbm2ddl.auto">update</property>

    <!-- 指定关联的 .hbm.xml 文件 -->

    <mapping resource="cn/books/bean/Book.hbm.xml"/>

    </session-factory>

testbook.java:

public class testbook {

@org.junit.Test

   public void test() {

       //1.创建一个 SessionFactory 对象

       SessionFactory sessionFactory = null;


       //1).创建Configuration对象:对应hibernate的基本配置信息和对象关系映射信息

       //Configuration configuration = new Configuration();

       Configuration configuration = new Configuration().configure();


       // Hibernate4.0之前这样创建

       //sessionFactory = configuration.buildSessionFactory();


       //2).创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象

       //hibernate 的任何配置和服务都需要在该对象中注册后才能有效.

       ServiceRegistry serviceRegistry = 

                       new ServiceRegistryBuilder().applySettings(configuration.getProperties())

                                                   .buildServiceRegistry();


       //3).

       sessionFactory = configuration.buildSessionFactory(serviceRegistry);

       //2. 创建一个 Session 对象

       Session session = sessionFactory.openSession();


       //3. 开启事务

       Transaction transaction = session.beginTransaction();


       //4.执行保存和加载操作

       /*BigDecimal b = new BigDecimal("19.90");

       Book bo = new Book("dfsadf", "zhangsan", b,"中华出版社","15810807161");

       session.save(bo);*/


       //加载数据库中id为1的News记录

       Book boo = (Book) session.get(Book.class, 12);

       System.out.println(boo);


       //5. 提交事务 

       transaction.commit();


       //6. 关闭 Session

       session.close();


       //7. 关闭 SessionFactory 对象

       sessionFactory.close();

   }

}




返回列表 返回列表
评论

    分享到