<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一.生成后的文件結構如下圖


    各文件內容如下:
    二.配置文件
    1.
    hibernate.cfg.xml
    <?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="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    ????????
    <property?name="hibernate.connection.password">1234</property>
    ????????
    <property?name="hibernate.connection.url">jdbc:mysql://localhost:3306/sample</property>
    ????????
    <property?name="hibernate.connection.username">root</property>
    ????????
    <property?name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    ????????
    <mapping?resource="cn/blogjava/start/TUser.hbm.xml"?/>
    ????
    </session-factory>
    </hibernate-configuration>

    2.
    hibernate.reveng.xml
    <?xml?version="1.0"?encoding="UTF-8"?>
    <!DOCTYPE?hibernate-reverse-engineering?PUBLIC?"-//Hibernate/Hibernate?Reverse?Engineering?DTD?3.0//EN"?"http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd"?>

    <hibernate-reverse-engineering>
    ??
    <table-filter?match-catalog="sample"?match-name="t_user"/>
    </hibernate-reverse-engineering>

    3.
    GeneralHbmSettings.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"
    >

    <hibernate-mapping>????
    <!--?
    ????Auto-generated?mapping?file?from
    ????the?hibernate.org?cfg2hbm?engine
    ????for?General?Global?Setttings
    -->

    ????
    <import?
    ????????
    class="cn.blogjava.start.TUser"
    ????????rename
    ="cn.blogjava.start.TUser"
    ????
    />
    ????

    </hibernate-mapping>

    4.TUser.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"
    >
    <hibernate-mapping>
    <!--?
    ????????Auto-generated?mapping?file?from
    ????????the?hibernate.org?cfg2hbm?engine
    -->
    ????
    <class?name="cn.blogjava.start.TUser"?table="t_user"?catalog="sample">
    ????????
    <id?name="id"?type="integer">
    ????????????
    <column?name="id"?/>
    ????????????
    <generator?class="native"?/>
    ????????
    </id>
    ????????
    <property?name="name"?type="string">
    ????????????
    <column?name="name"?length="100"?not-null="true"?/>
    ????????
    </property>
    ????
    </class>
    </hibernate-mapping>

    5.
    log4j.properties

    ###?direct?log?messages?to?stdout?###
    log4j.appender.stdout
    =org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target
    =System.out
    log4j.appender.stdout.layout
    =org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern
    =%d{ABSOLUTE}?%5p?%c{1}:%L?-?%m%n

    ###?direct?messages?to?file?hibernate.log?###
    #log4j.appender.file
    =org.apache.log4j.FileAppender
    #log4j.appender.file.File
    =hibernate.log
    #log4j.appender.file.layout
    =org.apache.log4j.PatternLayout
    #log4j.appender.file.layout.ConversionPattern
    =%d{ABSOLUTE}?%5p?%c{1}:%L?-?%m%n

    ###?set?log?levels?-?for?more?verbose?logging?change?'info'?to?'debug'?###

    log4j.rootLogger
    =info,?stdout

    log4j.logger.org.hibernate
    =error
    #log4j.logger.org.hibernate
    =debug

    ###?log?HQL?query?parser?activity
    #log4j.logger.org.hibernate.hql.ast.AST
    =debug

    ###?log?just?the?SQL
    #log4j.logger.org.hibernate.SQL
    =debug

    ###?log?JDBC?bind?parameters?###
    log4j.logger.org.hibernate.type
    =info
    #log4j.logger.org.hibernate.type
    =debug

    ###?log?schema?export/update?###
    log4j.logger.org.hibernate.tool.hbm2ddl
    =debug

    ###?log?HQL?parse?trees
    #log4j.logger.org.hibernate.hql
    =debug

    ###?log?cache?activity?###
    #log4j.logger.org.hibernate.cache
    =debug

    ###?log?transaction?activity
    #log4j.logger.org.hibernate.transaction
    =debug

    ###?log?JDBC?resource?acquisition
    #log4j.logger.org.hibernate.jdbc
    =debug

    ###?enable?the?following?line?if?you?want?to?track?down?connection?###
    ###?leakages?when?using?DriverManagerConnectionProvider?###
    #log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider
    =trace

    三.Java類
    1.POJO類TUser.java
    ?1package?cn.blogjava.start;
    ?2
    ?3
    ?4
    ?5/**
    ?6?*?TUser?generated?by?hbm2java
    ?7?*/

    ?8
    ?9public?class?TUser??implements?java.io.Serializable?{
    10
    11
    12????//?Fields????
    13
    14?????private?Integer?id;
    15?????private?String?name;
    16
    17
    18????//?Constructors
    19
    20????/**?default?constructor?*/
    21????public?TUser()?{
    22????}

    23????
    24????/**?constructor?with?id?*/
    25????public?TUser(Integer?id)?{
    26????????this.id?=?id;
    27????}

    28
    29????
    30
    31???
    32????//?Property?accessors
    33
    34????public?Integer?getId()?{
    35????????return?this.id;
    36????}

    37????
    38????public?void?setId(Integer?id)?{
    39????????this.id?=?id;
    40????}

    41
    42????public?String?getName()?{
    43????????return?this.name;
    44????}

    45????
    46????public?void?setName(String?name)?{
    47????????this.name?=?name;
    48????}

    49???
    50
    51
    52
    53
    54
    55
    56
    57
    58}

    2.測試類HibernateTest.java
    ??1package?cn.blogjava.start;
    ??2
    ??3import?java.util.List;
    ??4
    ??5import?junit.framework.Assert;
    ??6import?junit.framework.TestCase;
    ??7
    ??8import?org.hibernate.HibernateException;
    ??9import?org.hibernate.Session;
    ?10import?org.hibernate.SessionFactory;
    ?11import?org.hibernate.Transaction;
    ?12import?org.hibernate.cfg.Configuration;
    ?13
    ?14
    ?15public?class?HibernateTest?extends?TestCase?{
    ?16????
    ?17????Session?session?=?null;
    ?18????/**
    ?19?????*?JUnit中的setUp方法在TestCase初始化的時候會自動調用
    ?20?????*?一般用于初始化公用資源
    ?21?????*/

    ?22????protected?void?setUp()?{
    ?23????????try?{
    ?24????????????/**
    ?25?????????????*?可以采用hibernate.properties或者hibernate.cfg.xml
    ?26?????????????*?配置文件的初始化代碼
    ?27?????????????*?
    ?28?????????????*?采用hibernate.properties
    ?29?????????????*?Configuration?config?=?new?Configuration();
    ?30?????????????*?config.addClass(TUser.class);
    ?31?????????????*/

    ?32????????????
    ?33????????????//采用hibernate.cfg.xml配置文件,與上面的方法對比,兩個差異
    ?34????????????//1.Configuration的初始化方式
    ?35????????????//2.xml
    ?36????????????Configuration?config?=?new?Configuration().configure();
    ?37????????????SessionFactory?sessionFactory?=?config.buildSessionFactory();
    ?38????????????session?=?sessionFactory.openSession();
    ?39????????????
    ?40????????}
    ?catch?(HibernateException?e)?{
    ?41????????????//?TODO:?handle?exception
    ?42????????????e.printStackTrace();
    ?43????????}
    ????????
    ?44????}

    ?45
    ?46????/**
    ?47?????*?JUnit中的tearDown方法在TestCase執行完畢的時候會自動調用
    ?48?????*?一般用于釋放資源
    ?49?????*/
    ????
    ?50????protected?void?tearDown()?{
    ?51????????try?{
    ?52????????????session.close();????????
    ?53????????}
    ?catch?(HibernateException?e)?{
    ?54????????????//?TODO:?handle?exception
    ?55????????????e.printStackTrace();
    ?56????????}
    ????????
    ?57????}
    ????
    ?58????
    ?59????/**
    ?60?????*?對象持久化測試(Insert方法)
    ?61?????*/
    ????????
    ?62????public?void?testInsert()?{
    ?63????????Transaction?tran?=?null;
    ?64????????try?{
    ?65????????????tran?=?session.beginTransaction();
    ?66????????????TUser?user?=?new?TUser();
    ?67????????????user.setName("byf");
    ?68????????????session.save(user);
    ?69????????????session.flush();
    ?70????????????tran.commit();
    ?71????????????Assert.assertEquals(user.getId().intValue()>0?,true);
    ?72????????}
    ?catch?(HibernateException?e)?{
    ?73????????????//?TODO:?handle?exception
    ?74????????????e.printStackTrace();
    ?75????????????Assert.fail(e.getMessage());
    ?76????????????if(tran?!=?null)?{
    ?77????????????????try?{
    ?78????????????????????tran.rollback();
    ?79????????????????}
    ?catch?(Exception?e1)?{
    ?80????????????????????//?TODO:?handle?exception
    ?81????????????????????e1.printStackTrace();
    ?82????????????????}

    ?83????????????}

    ?84????????}

    ?85????}

    ?86????
    ?87????/**
    ?88?????*?對象讀取測試(Select方法)
    ?89?????*/
    ????????????
    ?90????public?void?testSelect(){
    ?91????????String?hql?=?"?from?TUser?where?name='byf'";
    ?92????????try?{
    ?93????????????List?userList?=?session.createQuery(hql).list();
    ?94????????????TUser?user?=?(TUser)userList.get(0);
    ?95????????????Assert.assertEquals(user.getName(),?"byf");
    ?96????????}
    ?catch?(Exception?e)?{
    ?97????????????//?TODO:?handle?exception
    ?98????????????e.printStackTrace();
    ?99????????????Assert.fail(e.getMessage());
    100????????}

    101????}

    102}

    103
    posted on 2006-07-05 14:37 knowhow 閱讀(784) 評論(0)  編輯  收藏 所屬分類: ORM:Hibernate及其他
    主站蜘蛛池模板: 久久精品毛片免费观看| 欧洲黑大粗无码免费| 久久久亚洲欧洲日产国码是AV| 免费一区二区无码东京热| 亚洲女人影院想要爱| 免费在线观看亚洲| 午夜精品射精入后重之免费观看| 色偷偷亚洲女人天堂观看欧| 亚洲毛片不卡av在线播放一区 | 91免费播放人人爽人人快乐| 亚洲av成人无码网站…| 久久亚洲精品成人| 最近中文字幕无吗免费高清 | 国产中文字幕在线免费观看| 2020国产精品亚洲综合网| 亚洲啪啪AV无码片| 免费黄色网址入口| a级毛片免费全部播放| 亚洲AV香蕉一区区二区三区| 亚洲AV日韩精品久久久久久久| 小小影视日本动漫观看免费| 免费国产黄网站在线观看可以下载 | 在线观看亚洲成人| 最近的免费中文字幕视频 | 国产一区二区三区免费观在线| 亚洲狠狠成人综合网| 久久久久亚洲AV成人无码| 无码国产亚洲日韩国精品视频一区二区三区| 三年片在线观看免费西瓜视频| 国产产在线精品亚洲AAVV| 亚洲一线产区二线产区精华| 亚洲永久精品ww47| 亚洲AV无码一区二区三区在线观看| av免费不卡国产观看| 日本免费一区二区三区四区五六区| 丰满少妇作爱视频免费观看| 亚洲精品无码一区二区| 亚洲国产成人精品无码一区二区| 亚洲精品国产精品乱码不99 | 狠狠入ady亚洲精品| 亚洲日日做天天做日日谢|