一、數據庫結構
- createtable User (
- idinteger not null,
- namevarchar(255),
- passvarchar(255),
- primarykey (id)
- )
二、建立測試實例
1、 新建普通java項目
2、 項目下新建lib文件夾(放置引用jar包)
3、db(放置hsqlDB的數據庫文件)文件夾
4、解壓hibernate文件夾,將hibernate-release-4.0.1.Final\lib\required目錄下的jar文件拷貝到項目的lib下,將hsqldb.jar(下載地址http://hsqldb.org/)拷貝到lib目錄下,並引入到工程
(3、4也可建立用戶庫,再引入項目)
5、 項目Src目錄下hibernate建立連接數據庫的配置文件 hibernate.cfg.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE hibernate-configuration
- PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <hibernate-configuration>
- <session-factory>
- <!-- 是否將運行期生成的SQL輸出到日志以供調試 -->
- <property name="show_sql">true</property>
- <!-- SQL方言,這裡設定的是HSQL -->
- <property name="dialect">org.hibernate.dialect.HSQLDialect</property>
- <!-- JDBC驅動程序 -->
- <property name="connection.driver_class">org.hsqldb.jdbcDriver
- </property>
- <!-- JDBC URL,User為數據庫名 ; hsqldb.write_delay=false持久化 -->
- <property name="connection.url"> jdbc:hsqldb:file:./db/User;hsqldb.write_delay=true
- </property>
- <!-- 設置數據庫中的表用hibernate自動建立,一般不需要不斷重新建表 -->
- <property name="hibernate.hbm2ddl.auto">create</property>
- <!-- 數據庫用戶名 -->
- <property name="connection.username">sa</property>
- <!-- 數據庫密碼 -->
- <property name="connection.password"></property>
- <!-- 指定User的映射文件,這個地方應該在建立文件後添加到此處 -->
- <mapping resource="<SPAN >com/hibernate/test/User.hbm.xml</SPAN>" />
- </session-factory>
- </hibernate-configuration>
6、 新建包:com.hibernate.test 以及包下的實體類user.java.實體通數據庫映射文件User.hbm.xml、測試類Test.java
7、 實體類屬性要同數據庫字段名稱相同,並有set和get方法
- public class User {
- private long id;
- private String name;
- private String pass;
- public long getId() {
- return id;
- }
- public void setId(long id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getPass() {
- return pass;
- }
- public void setPass(String pass) {
- this.pass = pass;
- }
- }
8、 實體類數據庫映射文件一般以 實體類名.hbm.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>
- <class name="<SPAN >com.hibernate.test.User</SPAN>" table="User">
- <id name="id">
- <generator class="increment"/>
- </id>
- <property name="name"/>
- <property name="pass" />
- </class>
- </hibernate-mapping>
9、.hbm.xml中對應的實體類位置要寫正確
<class name="com.hibernate.test.User" table="User">
10、 將User.hbm.xml 添加到hibernate.cfg.xml中:使用全路徑(包括包名)
<!-- 指定User的映射文件,這個地方應該在建立文件後添加到此處 -->
<mapping resource="com/hibernate/test/User.hbm.xml" />
11、 建立測試文件Test.java
- public class Test {
- public static void main(String[] args) {
- try {
- SessionFactory sf = new Configuration().configure()
- .buildSessionFactory();
- Session session = sf.openSession();
- Transaction tx = session.beginTransaction();
- User user = new User();
- user.setName("李雷");
- user.setPass("123456");
- session.save(user);
- tx.commit();
- session.close();
-
- } catch (HibernateException e) {
- e.printStackTrace();
- }
- }
- }
12、正確執行程序