SSH2 Step by Step- Step 2 Hibernate的配置

版权声明:欢迎转载,转载请注明作者和出处 https://blog.csdn.net/bruesz/article/details/7008160

我们配置完Struts2以后 (详细配置请参考上面一片文章SSH2 Step by Step- Step 1 Struts2初步配置学习),开始配置Hibernate
这里使用了免费的数据库Mysql来保存数据库信息

1. 开始下载Hibernate的文件,地址:http://www.hibernate.org/downloads.html
下面是一张Hibernate的组件图,我们用到的是Javaee5.0,组件内容很丰富,但是先下载Hibernate Core的组件包先:




解压缩hibernate-release-4.0.0.CR4.zip后,可以看到lib目录下有一个required目录,偷懒的话可以将jar文件全部copy到你的project中,当然,咱不是偷懒的人,所以精选了几个核心jar包,至少运行不会报错。
Hibernate的核心Jar包

  1. antlr-2.7.7.jar
  2. commons-collections-3.2.1.jar
  3. dom4j-1.6.1.jar
  4. hibernate-commons-annotations-4.0.0.CR2.jar   (如果要用到annotations的feature的估计要用到这个jar包,不管用不用,放着先吧)
  5. hibernate-core-4.0.0.CR4.jar
  6. hibernate-jpa-2.0-api-1.0.1.Final.jar
  7. commons-collections-3.2.1.jar
  8. jboss-logging-3.0.0.GA.jar
  9. jboss-transaction-api_1.1_spec-1.0.0.Final.jar
Mysql需要用到的包:(http://dev.mysql.com/downloads/connector/j/)
mysql-connector-java-5.1.18-bin.jar

2. 配置hibernate xml文件 (hibernate.cfg.xml, 放在src/目录下), 看不懂的自己看备注或者百度...我这里的数据库是test, 用户名和密码都是root. 

<?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.url">
			jdbc:mysql://localhost/test?characterEncoding=utf-8
		</property>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">root</property>
		
		<!-- 数据描述语言生成方式 -->  
		<property name="hbm2ddl.auto">false</property> 
				
		<!-- for Debug Only -->
		<property name="show_sql">true</property>
		
	</session-factory>
</hibernate-configuration>

3. 修改原先的User 对象,增加几个属性:
package com.test.model;

import java.util.Date;

public class User {
	private int id;
	private String name;
	private String password;
	private Date birthday;
        // get set 方法略过....
}

4. 在User类的源代码目录下增加一个Hibernate映射文件,名字为: User.hbm.xml....这个就是告诉Hibernate,怎么把User类映射到数据库中。

User.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 package="com.test.model">  
  
    <class name="User">  
        <id name="id">  
            <generator class="native" />  
        </id>  
        <property name="name" />
        <property name="password" />    
        <property name="birthday" />  
    </class>  
  
</hibernate-mapping> 

5. 修改hibernate.cfg.xml, 在“show_sql" 的属性下再增加一句:
        <!-- 映射文件 -->  
        <mapping resource="com/test/model/User.hbm.xml" />

6. 好了,开始在Mysql中创建User表了,SQL如下:

CREATE TABLE user (
	id INT PRIMARY KEY auto_increment,
	password varchar(40),
	name VARCHAR(40),
	birthday DATE
);

7. 写个类测试一下是否可以连上数据库:
package test;



import java.util.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.test.model.User;

public class HibernateTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Configuration cfg = new Configuration().configure();
		SessionFactory factory = cfg.buildSessionFactory();
		Session session = factory.openSession();
		
		//打开事务
		Transaction tx = session.beginTransaction();
		
		//创建POJO对象
		
		User user = new User();
		user.setName("brues");
		user.setPassword("blog.csdn.net/bruesz");
		user.setBirthday(new Date());
		session.save(user);
		
		//关闭事务
		tx.commit();
		
		session.close();
		
		System.out.println("User Inserted!");
		
	}

}

使用Hibernate的7个步骤:

看看输出的Log,已经成功更新数据库

查询一下数据库,是否有数据:

接下来要把 Struts2 和Hibernate整合起来,休息一下,详见下一篇文章.

猜你喜欢

转载自blog.csdn.net/bruesz/article/details/7008160