﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-JAVA半桶水HIBERNATE</title><link>http://www.blogjava.net/luopeizhong/category/44709.html</link><description>静</description><language>zh-cn</language><lastBuildDate>Tue, 20 Apr 2010 06:30:57 GMT</lastBuildDate><pubDate>Tue, 20 Apr 2010 06:30:57 GMT</pubDate><ttl>60</ttl><item><title>第一个Hibernate例子</title><link>http://www.blogjava.net/luopeizhong/news/2010/04/18/318637.html</link><dc:creator>cart</dc:creator><author>cart</author><pubDate>Sun, 18 Apr 2010 02:15:00 GMT</pubDate><guid>http://www.blogjava.net/luopeizhong/news/2010/04/18/318637.html</guid><wfw:comment>http://www.blogjava.net/luopeizhong/comments/318637.html</wfw:comment><comments>http://www.blogjava.net/luopeizhong/news/2010/04/18/318637.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/luopeizhong/comments/commentRss/318637.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/luopeizhong/services/trackbacks/318637.html</trackback:ping><description><![CDATA[<div class="tit">第一个Hibernate例子</div>
<div class="date">2007-04-21 21:39</div>
<table style="table-layout: fixed">
    <tbody>
        <tr>
            <td>
            <div class="cnt" id="blog_text">
            <p><strong>1、环境准备</strong><br />
            采用的是eclipse平台加上J2EE插件myeclipse的配置，数据库为微软的SQL Server2000，驱动为微软的jtds，具体配置如下：<br />
            eclipse 3.2.0<br />
            myeclipse 5.1.1GA<br />
            Sqlserver2000+SP4<br />
            jtds1.2.jar<br />
            <br />
            <strong>2、数据库</strong><br />
            数据库名为hibernate，只有一张表computer<br />
            create table computer(<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id int(11) not null primary key auto_increment,<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cpu varchar(50),<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mainboard varchar(50),<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; displaycard varchar(50),<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; harddisk varchar(50),<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; display varchar(50),<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memory varchar(50),<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; soundcard varchar(50),<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cdrom varchar(50),<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mouse varchar(50),<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; keyboard varchar(50)<br />
            );</p>
            <p><br />
            <strong>3、基础配置文件<br />
            &nbsp;&nbsp;&nbsp;<font color="#800000">hibernate.cfg.xml</font><br />
            </strong><font color="#808000"></p>
            <p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
            &lt;!DOCTYPE hibernate-configuration PUBLIC<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "-//Hibernate/Hibernate Configuration DTD 3.0//EN"<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&gt;</p>
            <p>&lt;!-- Generated by MyEclipse Hibernate Tools.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&gt;<br />
            &lt;hibernate-configuration&gt;</p>
            <p>&lt;session-factory&gt;<br />
            &lt;property name="myeclipse.connection.profile"&gt;profile&lt;/property&gt;<br />
            &lt;property name="connection.url"&gt;jdbc:mysql://localhost:3306/test&lt;/property&gt;<br />
            &lt;property name="connection.username"&gt;root&lt;/property&gt;<br />
            &lt;property name="connection.password"&gt;xxxxx&lt;/property&gt;<br />
            &lt;property name="connection.driver_class"&gt;<br />
            &nbsp;&nbsp; com.mysql.jdbc.Driver<br />
            &lt;/property&gt;<br />
            &lt;property name="hibernate.show_sql"&gt;true&lt;/property&gt;<br />
            &lt;property name="hibernate.hbm2ddl.auto"&gt;create-drop&lt;/property&gt;<br />
            &lt;property name="dialect"&gt;org.hibernate.dialect.MySQLDialect&lt;/property&gt;<br />
            &lt;mapping resource="org/bwgl/sample/hibernate3/Computer.hbm.xml" /&gt;</p>
            <p>&lt;/session-factory&gt;</p>
            <p>&lt;/hibernate-configuration&gt;<br />
            </p>
            </font>
            <p><font color="#800000"><strong>&nbsp;&nbsp;&nbsp; javabean :&nbsp;&nbsp; Computer.java[数据库所对应的java类文件]<br />
            </strong></font><font color="#808000">package com.weportal.computer;</font></p>
            <p><font color="#808000">public class Computer {<br />
            private int id;<br />
            private String cpu;<br />
            private String mainboard;<br />
            private String memory;<br />
            private String harddisk;<br />
            private String display;<br />
            private String keyboard;<br />
            private String mouse;<br />
            private String displaycard;<br />
            private String soundcard;<br />
            private String cdrom;<br />
            /*<br />
            &nbsp;&nbsp; *获取computer属性的get方法 <br />
            &nbsp;&nbsp; */<br />
            public int getId(){<br />
            &nbsp;&nbsp; return id;<br />
            }<br />
            public String getCpu(){<br />
            &nbsp;&nbsp; return cpu;<br />
            }<br />
            public String getMainboard(){<br />
            &nbsp;&nbsp; return mainboard;<br />
            }<br />
            public String getMemory(){<br />
            &nbsp;&nbsp; return memory;<br />
            }<br />
            public String getHarddisk(){<br />
            &nbsp;&nbsp; return harddisk;<br />
            }<br />
            public String getDisplay(){<br />
            &nbsp;&nbsp; return display;<br />
            }<br />
            public String getKeyboard(){<br />
            &nbsp;&nbsp; return keyboard;<br />
            }<br />
            public String getMouse(){<br />
            &nbsp;&nbsp; return mouse;<br />
            }<br />
            public String getDisplaycard(){<br />
            &nbsp;&nbsp; return displaycard;<br />
            }<br />
            public String getSoundcard(){<br />
            &nbsp;&nbsp; return soundcard;<br />
            }<br />
            public String getCdrom(){<br />
            &nbsp;&nbsp; return cdrom;<br />
            }<br />
            /*<br />
            &nbsp;&nbsp; * 设置computer属性的set方法集<br />
            &nbsp;&nbsp; */<br />
            public void setId(int id){<br />
            &nbsp;&nbsp; this.id=id;<br />
            }<br />
            public void setCpu(String cpu){<br />
            &nbsp;&nbsp; this.cpu=cpu;<br />
            }<br />
            public void setMainboard(String mainboard){<br />
            &nbsp;&nbsp; this.mainboard=mainboard;<br />
            }<br />
            public void setMemory(String memory){<br />
            &nbsp;&nbsp; this.memory=memory;<br />
            }<br />
            public void setHarddisk(String harddisk){<br />
            &nbsp;&nbsp; this.harddisk=harddisk;<br />
            }<br />
            public void setDisplay(String display){<br />
            &nbsp;&nbsp; this.display=display;<br />
            }<br />
            public void setKeyboard(String keyboard){<br />
            &nbsp;&nbsp; this.keyboard=keyboard;<br />
            }<br />
            public void setMouse(String mouse){<br />
            &nbsp;&nbsp; this.mouse=mouse;<br />
            }<br />
            public void setDisplaycard(String displaycard){<br />
            &nbsp;&nbsp; this.displaycard=displaycard;<br />
            }<br />
            public void setSoundcard(String soundcard){<br />
            &nbsp;&nbsp; this.soundcard=soundcard;<br />
            }<br />
            public void setCdrom(String cdrom){<br />
            &nbsp;&nbsp; this.cdrom=cdrom;<br />
            }<br />
            </font><font color="#808000">}</font></p>
            <p><font color="#808000"><strong><font color="#800000">Computer.hbm.xml</font></strong><br />
            <font color="#808000">&lt;?xml version='1.0' encoding='UTF-8'?&gt;<br />
            &lt;!DOCTYPE hibernate-mapping PUBLIC<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "</font><a href="http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><font color="#808000">http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd</font></a><font color="#808000">"&gt;<br />
            &lt;hibernate-mapping&gt;<br />
            &lt;class name="com.weportal.computer.Computer" table="computer"&gt;<br />
            &nbsp;&nbsp; &lt;id name="id" type="int"&gt;<br />
            &nbsp;&nbsp;&nbsp; &lt;generator class="native"/&gt;<br />
            &nbsp;&nbsp; &lt;/id&gt;<br />
            &nbsp;&nbsp; &lt;property name="cpu"&gt;&lt;/property&gt;<br />
            &nbsp;&nbsp; &lt;property name="mainboard" &gt;&lt;/property&gt;<br />
            &nbsp;&nbsp; &lt;property name="displaycard" &gt;&lt;/property&gt;<br />
            &nbsp;&nbsp; &lt;property name="harddisk" &gt;&lt;/property&gt;<br />
            &nbsp;&nbsp; &lt;property name="display"&gt;&lt;/property&gt;<br />
            &nbsp;&nbsp; &lt;property name="memory"&gt;&lt;/property&gt;<br />
            &nbsp;&nbsp; &lt;property name="soundcard"&gt;&lt;/property&gt;<br />
            &nbsp;&nbsp; &lt;property name="cdrom"&gt;&lt;/property&gt;<br />
            &nbsp;&nbsp; &lt;property name="mouse"&gt;&lt;/property&gt;<br />
            &nbsp;&nbsp; &lt;property name="keyboard"&gt;&lt;/property&gt;<br />
            &lt;/class&gt;<br />
            &lt;/hibernate-mapping&gt;</font></font></p>
            <p><font color="#808000"><strong><font color="#800000">log4j.Properties文件<br />
            </font></strong></font><font color="#808000"><font color="#808000"><font color="#000000">新建一文件，起名为log4j.Properties，在文件中添加如下内容：</font><br />
            log4j.appender.stdout=org.apache.log4j.ConsoleAppender<br />
            log4j.appender.stdout.Target=System.out<br />
            log4j.appender.stdout.layout=org.apache.log4j.PatternLayout<br />
            log4j.rootLogger=warn,stdout</font></font></p>
            <p><font color="#000000"><strong>4、操作类文件<br />
            </strong>&nbsp;&nbsp;&nbsp; 添加数据类ComputerCreate.java<br />
            </font><font color="#808000">package com.weportal.computer;</font></p>
            <p><font color="#808000">import java.sql.SQLException;<br />
            import org.apache.log4j.PropertyConfigurator;<br />
            import org.hibernate.HibernateException;<br />
            import org.hibernate.Session;<br />
            import org.hibernate.SessionFactory;<br />
            import org.hibernate.cfg.Configuration;</font></p>
            <p><font color="#808000">public class ComputerCreate {<br />
            public static void main(String args[]){<br />
            &nbsp;&nbsp; //PropertyConfigurator.configure("log4j.Properties");<br />
            &nbsp;&nbsp;Configuration cfg=new Configuration();<br />
            &nbsp;&nbsp;&nbsp; cfg.configure();<br />
            &nbsp;&nbsp; // cfg.setProperty(Environment.HBM2DDL_AUTO, "create-drop");<br />
            &nbsp;&nbsp;&nbsp; SessionFactory sf=cfg.buildSessionFactory();<br />
            &nbsp;&nbsp;&nbsp; Session sess=sf.openSession();<br />
            &nbsp;&nbsp;&nbsp; Computer pc=new Computer();<br />
            &nbsp;&nbsp;&nbsp; pc.setCpu("Intel Pentuim4 2.4B GHZ");<br />
            &nbsp;&nbsp;&nbsp; pc.setDisplay("LG 563LS");<br />
            &nbsp;&nbsp;&nbsp; pc.setDisplaycard("NVIDA GeForce 4 MX 440");<br />
            &nbsp;&nbsp;&nbsp; pc.setHarddisk("WD120JB");<br />
            &nbsp;&nbsp;&nbsp; pc.setMainboard("技嘉 8I845PE-RZ");<br />
            &nbsp;&nbsp;&nbsp; pc.setMemory("kingMax 512MBX2");<br />
            &nbsp;&nbsp;&nbsp; pc.setMouse("Logitech MX 500");<br />
            &nbsp;&nbsp;&nbsp; pc.setSoundcard("Creative SB Live");<br />
            &nbsp;&nbsp;&nbsp; pc.setKeyboard("Logitech");<br />
            &nbsp;&nbsp;&nbsp; pc.setCdrom("Sony DVD-ROM");<br />
            &nbsp;&nbsp;&nbsp; sess.save(pc);<br />
            &nbsp;&nbsp;&nbsp; sess.flush();&nbsp;&nbsp; try{<br />
            &nbsp;&nbsp;&nbsp; //提交hibernate会话连接的状态<br />
            &nbsp;&nbsp;&nbsp; sess.connection().commit();<br />
            &nbsp;&nbsp; }catch(HibernateException e){<br />
            &nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
            &nbsp;&nbsp; }catch(SQLException e){<br />
            &nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
            &nbsp;&nbsp; }<br />
            &nbsp;&nbsp; sess.close();<br />
            }</font></p>
            <p><font color="#808000">}</font></p>
            <p><font color="#808000"><font color="#000000">&nbsp;&nbsp;&nbsp;</font></font><font color="#808000"><font color="#000000">另外，借助于hibernate自身功能，可以根据.hbm.xml映射文件生成数据库表。DatabaseGenerate.java类用于完成这一功能。值得注意的是，如果数据库中存在同名表，hibernate采取的措施是先删除该表，再生成同名表，因此，如果数据表中有数据，应该进行备份<br />
            </font>package com.weportal.computer;</font></p>
            <p><font color="#808000">import org.apache.log4j.PropertyConfigurator;<br />
            import org.hibernate.SessionFactory;<br />
            import org.hibernate.cfg.Configuration;<br />
            import org.hibernate.cfg.Environment;</font></p>
            <p><font color="#808000">public class DatabaseGenerate {<br />
            public static void main(String args[]){<br />
            &nbsp;&nbsp; //配置log4j.Properties<br />
            &nbsp;&nbsp; PropertyConfigurator.configure("log4j.Properties");<br />
            &nbsp;&nbsp; //从hibernate.cfg.xml中导入hibernate配置数据<br />
            &nbsp;&nbsp; Configuration cfg=new Configuration();<br />
            &nbsp;&nbsp; cfg.configure();<br />
            &nbsp;&nbsp; //打开自动创建和修改数据库资源的开关<br />
            &nbsp;&nbsp; cfg.setProperty(Environment.HBM2DDL_AUTO, "create-drop");<br />
            &nbsp;&nbsp; SessionFactory sf=cfg.buildSessionFactory();<br />
            }<br />
            }</font></p>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/luopeizhong/aggbug/318637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/luopeizhong/" target="_blank">cart</a> 2010-04-18 10:15 <a href="http://www.blogjava.net/luopeizhong/news/2010/04/18/318637.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用Spring 2.5 和 Hibernate 3.2 开发MVC Web程序(基于annotation特性)</title><link>http://www.blogjava.net/luopeizhong/news/2010/04/16/318566.html</link><dc:creator>cart</dc:creator><author>cart</author><pubDate>Fri, 16 Apr 2010 13:59:00 GMT</pubDate><guid>http://www.blogjava.net/luopeizhong/news/2010/04/16/318566.html</guid><wfw:comment>http://www.blogjava.net/luopeizhong/comments/318566.html</wfw:comment><comments>http://www.blogjava.net/luopeizhong/news/2010/04/16/318566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/luopeizhong/comments/commentRss/318566.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/luopeizhong/services/trackbacks/318566.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 使用Spring 2.5 和 Hibernate 3.2 开发MVC Web程序(基于annotation特性)Spring 和 Hibernate 都支持annotation开发应用程序,无疑减少呢很多XML配置,使程序看起来更&#8221;干净&#8221;,下面我们以一个简单的例子来说明:程序的开发环境:eclipse 3.2.2 + WTP + tomcat(推荐)首先我们建一...&nbsp;&nbsp;<a href='http://www.blogjava.net/luopeizhong/news/2010/04/16/318566.html'>阅读全文</a><img src ="http://www.blogjava.net/luopeizhong/aggbug/318566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/luopeizhong/" target="_blank">cart</a> 2010-04-16 21:59 <a href="http://www.blogjava.net/luopeizhong/news/2010/04/16/318566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>