【HIbernate示例工程】

本工程是基于Maven的hibernate项目,

1、配置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>

        <!-- Database connection settings -->

        <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property>

        <property name="connection.url">jdbc:mysql://localhost:3306/test</property>

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

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

        <!-- JDBC connection pool (use the built-in) -->

        <property name="connection.pool_size">1</property>

        <!-- SQL dialect -->

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

        <!-- Enable Hibernate's automatic session context management -->

        <property name="current_session_context_class">thread</property>

        <!-- Disable the second-level cache  -->

        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->

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

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

        <!-- Drop and re-create the database schema on startup -->

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

       

        <mapping resource="user.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

2、编写user.hbm.xml文件

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

    <!--name 实体类的 包名+ 类名        table数据库的表名    -->  

 <class name="cn.com.vo.hibernatedemo.UserVO" table="t_user">

     <!-- name对应实体类的属性id -->

     <id  name="id" type="integer">

       <!-- name 对应数据库的列名id  -->

       <column name="id"></column>

       <!--主键的生成策略 native可以适应多种数据库  increment mysql自动增长策略  sequence oracle自动增长策略 -->

       <generator class="native"></generator>

     </id>

    <property name="name">

      <column name="name"></column>

    </property>

    <property name="pwd">

       <column name="pwd"></column>

    </property>

    <property name="age">

       <column name="age"></column>

    </property>

 </class>

</hibernate-mapping>

3、写测试用例

package cn.com.test.hibernatedemo;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import cn.com.vo.hibernatedemo.UserVO;

/**
 * Hello world!
 * 
 */
    public class App {
	public static void main(String[] args) {
		System.out.println("Hello World!");
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction beginTransaction = session.beginTransaction();
		UserVO vo = new UserVO(1, "gaojignosng", "11", 30);
		try {
			session.save(vo);
		     beginTransaction.commit();
		} catch (HibernateException e) {
			beginTransaction.rollback();
			e.printStackTrace();
		}
		session.close();
	}
}

 

猜你喜欢

转载自gaojingsong.iteye.com/blog/2372507