??xml version="1.0" encoding="utf-8" standalone="yes"?>性做久久久久久久久,国产在线观看高清视频,久蕉在线视频http://www.aygfsteel.com/hayun/articles/h2.html?/dc:creator>?/author>Sun, 05 Nov 2006 12:38:00 GMThttp://www.aygfsteel.com/hayun/articles/h2.htmlhttp://www.aygfsteel.com/hayun/comments/79256.htmlhttp://www.aygfsteel.com/hayun/articles/h2.html#Feedback0http://www.aygfsteel.com/hayun/comments/commentRss/79256.htmlhttp://www.aygfsteel.com/hayun/services/trackbacks/79256.html首先打开mySQL数据新徏一个数据库HibernateTest
create database HibernateTest;
use HibernateTest;
CREATE TABLE USER (
    user_id CHAR(32) NOT NULL PRIMARY KEY,
    name VARCHAR(16) NOT NULL,
    sex CHAR(1),
    age INT
);
然后~写一个User.java文g
public class User {
    private String id;
    private String name;
    private char sex;
    private int age;

    public int getAge() {
        return age;
    }

    public String getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public char getSex() {
        return sex;
    }

    public void setAge(int i) {
        age = i;
    }

    public void setId(String string) {
        id = string;
    }

    public void setName(String string) {
        name = string;
    }

    public void setSex(char c) {
        sex = c;
    }
}


User.hbm.xml文g是用来描q数据库中表的字D信息的配置文g内容如下Q?br /><?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
    PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>

    <class name="onlyfun.caterpillar.User" table="USER">

        <id name="id" type="string" unsaved-value="null">
            <column name="user_id" sql-type="char(32)" />
            <generator class="uuid.hex"/>
        </id>

        <property name="name" type="string" not-null="true">
            <column name="name" length="16" not-null="true"/>
        </property>

        <property name="sex" type="char"/>

        <property name="age" type="int"/>

    </class>

</hibernate-mapping>

hibernate.cfg.xml文g时用来连接数据库时用的配置文g

<?xml version='1.0' encoding='big5'?>
<!DOCTYPE hibernate-configuration
    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">

<hibernate-configuration>

    <session-factory> 

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

        <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property> 

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

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

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

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

    </session-factory>

</hibernate-configuration>
然后我们~写一个测试类来测试一下刚才的配置
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;

public class HibernateTest {
    public static void main(String[] args) throws HibernateException {
        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

        User user = new User();
        user.setName("caterpillar");
        user.setSex('M');
        user.setAge(28);

        Session session = sessionFactory.openSession();
        Transaction tx= session.beginTransaction();
        session.save(user);
        tx.commit();
        session.close();
        sessionFactory.close();
      
        System.out.println("新增資料OK!請先用MySQL觀看結果!");
    }
}



]]>
如何学习Hibernatehttp://www.aygfsteel.com/hayun/articles/H1.html?/dc:creator>?/author>Sun, 05 Nov 2006 10:02:00 GMThttp://www.aygfsteel.com/hayun/articles/H1.htmlHibernate入门ҎQ掌握精通我也不敢自夸。我W一遍看Hibernate文的时候也觉得很吃力,但不是因为Hibernate难掌握而感到吃力,是因为Hibernate文处处都是持久层设计的l验和最佛_cHibernate文准确的来_l大部分内容都在讲对象的持久层设计,而不是简单的Hibernate使用Q用问题查Java doc够了。所以学习HibernateQ主要是在学习持久层的设计模式,如果你把Hibernate文都看完了Q还整天只会提那?Hibernate的配|问题,Hibernate的类调用问题Q我觉得q样的hq没有真正的入门Q算是白学了?

我对Hibernate 的那些配|也不是特别U熟Q每ơ写hbmQ都要对照文一点点的检查;c调用参C不太记得Q写代码也要Java doc随时备查。但是我在学习Hibernate的时候即集中所有精力来理解Hibernate的运行原理,集中_֊来掌握持久层设计应该把握的原则和技巧,q些才对我是最重用的东ѝ毫不夸张的_学习完HibernateQ我对JDBC的编E也提高了一大截Q更不要说对于J2EE架构的持久层的框架设计,基本上是了然于胸了,即ɞ来换了APIQ不用Hibernate的,改用JDOQCastor什么的Q这些经验一L用?

学习Hibernate主要不是在学习Hibernat怎么配置Q用工具怎么生成hbm文gQ如果你把重Ҏ在这里,基本上等于白学了Hibernate。Hibernate的精华在于无与u比的灵y的对象持久层设计Q这些持久层设计l验不会因ؓ你不用Hibernate而失掉Q我自己学习HibernateQ已l明显感觉到Ҏ久层设计能力已经长了很多l验gQ这些经验甚至不光可以用在Java上,用在.net上也是一栗所以Hibernate配置的学习,我只是简单看看,用的时候知道到那里Lp了,一堆复杂的生成工具我根本就看都不去看,q样下来,掌握Hibernate的配|,可以用Hibernate来替代JDBC写程序,不过׃3天时间就_了。我?天时间对你来说不很奢侈的学习代价吧?

Z么我q么学习Hibernate的对象持久层设计理念呢?那就看你的理x想一辈子做一个程序员呢?q是惛_更高的方向发展呢Q从U做技术的角度来说Q职业发展的最高点是“系l架构师”,Bill Gates不是q叫做微软的首席pȝ架构师吗QSystem Architect职位需要的是你的学习和领悟能力Q如果你不能把学习Hibernate得到的设计经验运用到其它地方Q那么你是失败的Q也没有资格?System Architect?
不管JDO也好QHibernate也好QTopLink也好QCocoBase也好Q还?CastorQ还是什么TorqueQOJBQY件的使用和配|方法可以各异,但本质上都是ORMQ都是对JDBC的对象持久层装Q所以万变不d宗,如果你完整的学习和掌握Hibernate׃1个月的时_那么你再学习OJB的时间不应该过1个星期,因ؓ你已l把对象持久层设计都了然于胸了,你需要的只是熟悉一下OJB的API和配|Ş了,至于怎么q用OJBq行持久层的开发你早就已经熟悉了?

所以当你掌握了两种以上的ORMQ你应该能够不拘于用的ORM软g的限Ӟ设计出适合于你的项目的持久层来Q这才是System Architect的水准。用金庸说来打个比Ҏ说吧Q张无忌学太极剑Q?font style="BACKGROUND-COLOR: #ffffff" face="Georgia" color="#ff3300" size="4">只记剑意Q不记剑招,q才是真正的高手Q而低手就只会d习剑招,而不去领会剑招背后蕴含的剑意Q所以一辈子都是低手Q永q不能真正学会太极剑。所以周颠看到张三丰W二ơ演C太极剑Q招式完全不同就以ؓ是另一套东西,其实本质上都一栗学习Hibernate也不要舍本逐末的去学各U五花八门的工具Q重Ҏ握它的对象持久层设计理念?

]]>
վ֩ģ壺 | | | | ѭ| | ̫| ǰ| ¤| ƽ| | | | ̨| | | | ˮ| | | | | ϵ| կ| | | | | | ޽| ޻| | | ˮ| β| ̽| | ƽ| ض| | ƽ|