本人剛接觸Hibernate,在網上看了些例子,就按著教程用netbean配置Hibernate,
為自己做做筆記,我試過用application和web配置,我在這里記得我配置的過程。(netbean version6.1)
? 1:application project
a:需要下載的東西:mysql database,core包(antlr.jar,asm-attrs.jar,asm.jar,cglic.jar,commons-collections.jar,commons-logging.jar,dom4j.jar,ehcache.jar,jdbc2_0_stdext.jar,jta.jar),連接mysql的driver(mysql-connector-java-5.0.8-bin.jar)。
b: 用mysql 新建一個database :test,建立一個table:user.
Drop table if exits test.user
Create table test.user(
id varchar(32) primary key,
username varchar(32) not null,
password varchar(32) not null
)
Type = InnoDB;
c:設置基本的hibernate.cfg.xml , 我是在SCR里面建立的,也就是<default package>里面,我也試過在自己新建的package建,但不成功,報”hibernate.cfg.xml not found”(還沒找到原因).
<?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 name="session1">
<!--設置方言為MYSQL-->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!--JDBC驅動程序-->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!--JDBC URL-->
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<!--database 的賬號-->
<property name="hibernate.connection.username">root</property>
<!--database 的密碼-->
<property name="hibernate.connection.password">root</property>
<!-- 指定對應的mapping 文件 -->
<mapping? resource="hibernatemap/user.cfg.xml"/>
</session-factory>
</hibernate-configuration>
d:在 netbean里面,建立一個名為User的java文件:(這里所建的屬性,必須一一對應之前在database(test)的user表)
package hibernatemap;
import java.io.Serializable;
public class User implements Serializable {
??? public int id;
??? public String username;
??? public String password;
??? public int getId() {
??????? return id;
??? }
??? public void setId(int id) {
??????? this.id = id;
??? }
??? public String getUsername() {
??????? return username;
??? }
??? public void setUsername(String username) {
??????? this.username = username;
??? }
??? public String getPassword() {
??????? return password;
??? }
??? public void setPassword(String password) {
??????? this.password = password;
??? }
}
e:設置基本的user.cfg.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 寫下指定剛才建的User.java路徑,table是對應在database的表名 -->
<class name="hibernatemap.User" table="user">
??? <id name="id">
??????? <column name="id"/>
??? </id>
??? <property name="username"/>
??? <property name="password"/>
</class>
</hibernate-mapping>
配置完成了,可以寫一個測試類了,Test.java
package hibernateconnect;
import hibernatemap.User;
import org.hibernate.cfg.* ;
import org.hibernate.* ;
public class Test {
public static void main (String[] args) throws Exception {
????? try {
??????????? SessionFactory sf = new Configuration().configure().buildSessionFactory();/*建立一個sessionfactory,要hibernate.cfg.xml的路徑不在默認路徑里面,必須在configure()填上具體具體路徑(這里我還沒嘗試過,我是在默認的路徑建立的)*/
???????????
??????????? Session session = sf.openSession();
??????????? Transaction tx =? session.beginTransaction();
???????????
??????????? User user = new User();
??????????? //user.setId(6);
??????????? user.setUsername("daniellai");
??????????? user.setPassword("11110");
??????????? session.save(user);
??????????? tx.commit();
????????
???????????
??????? } catch (HibernateException e){
??????????? e.printStackTrace();
??????? }
??? }
}
2:web project.
? 用web 做 project去配置hibernate,你只需有Plugins到Hibernate3.0,就不需要自己動手去下載core包,Hibernate configuration file 和 Hibernate mapping file.只需要下載連接mysql的driver就可以了。方便的很,但感覺還是自己動手配配好點,起碼熟悉一點.

? 1:application project
a:需要下載的東西:mysql database,core包(antlr.jar,asm-attrs.jar,asm.jar,cglic.jar,commons-collections.jar,commons-logging.jar,dom4j.jar,ehcache.jar,jdbc2_0_stdext.jar,jta.jar),連接mysql的driver(mysql-connector-java-5.0.8-bin.jar)。
b: 用mysql 新建一個database :test,建立一個table:user.
Drop table if exits test.user
Create table test.user(
id varchar(32) primary key,
username varchar(32) not null,
password varchar(32) not null
)
Type = InnoDB;
c:設置基本的hibernate.cfg.xml , 我是在SCR里面建立的,也就是<default package>里面,我也試過在自己新建的package建,但不成功,報”hibernate.cfg.xml not found”(還沒找到原因).
<?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 name="session1">
<!--設置方言為MYSQL-->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!--JDBC驅動程序-->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!--JDBC URL-->
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<!--database 的賬號-->
<property name="hibernate.connection.username">root</property>
<!--database 的密碼-->
<property name="hibernate.connection.password">root</property>
<!-- 指定對應的mapping 文件 -->
<mapping? resource="hibernatemap/user.cfg.xml"/>
</session-factory>
</hibernate-configuration>
d:在 netbean里面,建立一個名為User的java文件:(這里所建的屬性,必須一一對應之前在database(test)的user表)
package hibernatemap;
import java.io.Serializable;
public class User implements Serializable {
??? public int id;
??? public String username;
??? public String password;
??? public int getId() {
??????? return id;
??? }
??? public void setId(int id) {
??????? this.id = id;
??? }
??? public String getUsername() {
??????? return username;
??? }
??? public void setUsername(String username) {
??????? this.username = username;
??? }
??? public String getPassword() {
??????? return password;
??? }
??? public void setPassword(String password) {
??????? this.password = password;
??? }
}
e:設置基本的user.cfg.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 寫下指定剛才建的User.java路徑,table是對應在database的表名 -->
<class name="hibernatemap.User" table="user">
??? <id name="id">
??????? <column name="id"/>
??? </id>
??? <property name="username"/>
??? <property name="password"/>
</class>
</hibernate-mapping>
配置完成了,可以寫一個測試類了,Test.java
package hibernateconnect;
import hibernatemap.User;
import org.hibernate.cfg.* ;
import org.hibernate.* ;
public class Test {
public static void main (String[] args) throws Exception {
????? try {
??????????? SessionFactory sf = new Configuration().configure().buildSessionFactory();/*建立一個sessionfactory,要hibernate.cfg.xml的路徑不在默認路徑里面,必須在configure()填上具體具體路徑(這里我還沒嘗試過,我是在默認的路徑建立的)*/
???????????
??????????? Session session = sf.openSession();
??????????? Transaction tx =? session.beginTransaction();
???????????
??????????? User user = new User();
??????????? //user.setId(6);
??????????? user.setUsername("daniellai");
??????????? user.setPassword("11110");
??????????? session.save(user);
??????????? tx.commit();
????????
???????????
??????? } catch (HibernateException e){
??????????? e.printStackTrace();
??????? }
??? }
}
2:web project.
? 用web 做 project去配置hibernate,你只需有Plugins到Hibernate3.0,就不需要自己動手去下載core包,Hibernate configuration file 和 Hibernate mapping file.只需要下載連接mysql的driver就可以了。方便的很,但感覺還是自己動手配配好點,起碼熟悉一點.
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
