首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

HiberNate学习-一入门

2013-03-12 
HiberNate学习-1入门?xml version1.0 encodingUTF-8?!DOCTYPE hibernate-configuration PUBLIC-

HiberNate学习-1入门
HiberNate学习-一入门HiberNate学习-一入门

    <?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="connection.url">jdbc:mysql://localhost:3306/jpa?useUnicode=true&amp;characterEncoding=UTF-8</property><property name="connection.username">root</property><property name="connection.password">root</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><!-- hibernate属性 --><!-- 是否显示执行的sql语句 --><property name="show_sql">true</property><!-- 显示执行的sql语句是否格式化 --><property name="format_sql">true</property><!-- 根据配置文件创建表 --><property name="hbm2ddl.auto">update</property><mapping resource="com/tao/hibernate/Student.hbm.xml"/></session-factory></hibernate-configuration>

    ?

    三、配置ORM映射

    1.创建java类

    HiberNate学习-一入门HiberNate学习-一入门
      package com.tao.hibernate;import java.io.Serializable;@SuppressWarnings("serial")public class Student implements Serializable {private Integer id;private String name;public Student() {super();}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

      2.配置表映射文件

      HiberNate学习-一入门HiberNate学习-一入门
        <?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><class name="com.tao.hibernate.Student" table="student" schema="jpa"><id name="id" type="java.lang.Integer" column="id"><generator /></id><property name="name" type="java.lang.String"><column name="name" length="16" /></property></class></hibernate-mapping>

        注:映射文件已经在二中加入了。如果没有加入,自己手动加入。

        四、数据操作类

        HiberNate学习-一入门HiberNate学习-一入门
          package com.tao.hibernate;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;public class StudentDAO {private Session session = null;public StudentDAO() { //创建一个Configuration对象,此时Hibernate会默认加载classpath中的配置文件hibernate.properties //configura()方法:用于告诉Hibernate加载hibernate.cfg.xml文件。Configuration config = new Configuration().configure();SessionFactory factory = config.buildSessionFactory();session = factory.openSession();}public void save(Student student) {Transaction tran = session.getTransaction();tran.begin();session.save(student);tran.commit();}public void update(Student student) {Transaction tran = session.beginTransaction();tran.begin();session.update(student);tran.commit();}public void delete(Integer id) {String hql = "delete from Student o where o.id = ?";Transaction tran = session.beginTransaction();tran.begin();Query query = session.createQuery(hql);query.setParameter(0, id);query.executeUpdate();tran.commit();}@SuppressWarnings("unchecked")public Student getModel(Integer id) {String hql = "from Student o where id = :id";Query query = session.createQuery(hql);query.setParameter("id", id);List list = query.list();if (list != null && list.size() == 1) {return (Student) list.get(0);} else {return null;}}@SuppressWarnings("unchecked")public List getPagination(int maxResults, int firstResult) {String hql = "from Student o";Query query = session.createQuery(hql);query.setFirstResult(firstResult);query.setMaxResults(maxResults);return query.list();}}

          ?

          五、测试代码类

          HiberNate学习-一入门HiberNate学习-一入门
            HiberNate学习-一入门
              <?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 package="com.tao.hibernate"><class name="Student" table="student" schema="jpa"><id name="id" type="java.lang.Integer" column="id"><generator /></id><property name="name" type="java.lang.String"><column name="name" length="16" /></property></class></hibernate-mapping>

              ?

              详细介绍:

              一:<hibernate-mapping>标签:

              HiberNate学习-一入门HiberNate学习-一入门
                <hibernate-mappingauto-import="true|false"package="package.name" />

                (1):package (可选): 指定一个包前缀,如果在映射文档中没有指定全限定的类名, 就使用这个作为包名。

                (2):auto-import(可选 - 默认为 HiberNate学习-一入门HiberNate学习-一入门

                  <classname="ClassName" table="tableName" dynamic-update="true|false"dynamic-insert="true|false" lazy="true|false" />

                  (1): HiberNate学习-一入门HiberNate学习-一入门

                    <idname="propertyName" type="typename"column="column_name"<generator src="/img/2013/03/10/1028051081.gif"> HiberNate学习-一入门HiberNate学习-一入门
                      <id name="id" type="long" column="cat_id"><generator src="/img/2013/03/10/1028051081.gif"> HiberNate学习-一入门HiberNate学习-一入门
                        <property name="propertyName" column="column_name" type="typename" update="true|false" insert="true|false" lazy="true|false" unique="true|false" not-null="true|false" length="L" />

                        (1): HiberNate学习-一入门HiberNate学习-一入门

                          <?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="com.bjsxt.hibernate.FiscalYearPeriod" table="t_fiscal_year_period"><composite-id name="fiscalYearPeriodPK"><key-property name="fiscalYear"/><key-property name="fiscalPeriod"/></composite-id><property name="beginDate"/><property name="endDate"/><property name="periodSts"/></class></hibernate-mapping> HiberNate学习-一入门HiberNate学习-一入门
                            <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.bjsxt.hibernate.User" table="t_user"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <component name="contact"> <property name="email"/> <property name="address"/> <property name="zipCode"/> <property name="contactTel"/> </component> </class> </hibernate-mapping>