標籤:cti mini javabean min character save 4.0 hibernate market
好久都不曾寫寫總結一些東西了,惰性真的是令人難以克制!雖然和許多北漂族一樣,艱苦而又迷茫,但是我總能找到一些方向,一點期盼,因為你就我的目標。我會堅持下去,重拾青春的熱血,既然人生如戲,那我不當豬腳。我要當導演! Action! 在eclipse的market中安裝hibernate tools外掛程式 測試是否安裝成功這裡我們採用的hibernate Jar包是hibernate-release-4.2.4.Final版本的(lib中有required必備包)其他jar包如junit和mysql驅動包直接配置到eclipse的userlib中即可(建立一個java project並配置以上內庫即可) 1.建立hibernate設定檔(自動提示需要配置對應的dtd文檔支援) 在以下的檔案中尋找(hibernate-release-4.2.4.Final\project\hibernate-core\src\main\resources\org\hibernate\hibernate-mapping-3.0.dtd) 建立一個Hibernate Configuration File(cfg.xml)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE hibernate-configuration PUBLIC 3 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 4 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 5 <hibernate-configuration> 6 <session-factory> 7 <property name="connection.username">root</property> 8 <property name="connection.password">root</property> 9 <property name="connection.driver_class">com.mysql.jdbc.Driver</property>10 <!-- 三個斜杠為簡寫方式 -->11 <property name="connection.url">jdbc:mysql:///hibernate?userUnicode=true&12 characterEncoding=UTF-8</property>13 <property name="dialect">org.hibernate.dialect.MySQLDialect</property>14 15 <property name="show_sql">true</property>16 <property name="format_sql">true</property>17 18 <!-- 產生表結構策略 -->19 <!--create:表示啟動的時候先drop,再create20 create-drop: 也表示建立,只不過再系統關閉前執行一下drop21 update: 這個操作啟動的時候會去檢查schema是否一致,如果不一致會做scheme更新22 validate: 啟動時驗證現有schema與你配置的hibernate是否一致,如果不一致就拋出異常,並不做更新23 -->24 <property name="hbm2ddl.auto">update</property>25 26 <!-- 預設的資料庫 -->27 <property name="hibernate.default_schema">hibernate</property>28 </session-factory>29 </hibernate-configuration>
2.建立一個持久化類Students(JavaBean設計原則 1.公有類 2.提供不帶參的共有的構造方法 3.屬性必須私人 4.set、get方法封裝)3.建立對象-關係對應檔 產生Students類對應配置如下:
1 <?xml version="1.0"?> 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 4 <!-- Generated 2016-11-12 23:40:02 by Hibernate Tools 3.4.0.CR1 --> 5 <hibernate-mapping> 6 <class name="Students" table="STUDENTS"> 7 <id name="sid" type="int"> 8 <column name="SID" /> 9 <generator class="assigned" />10 </id>11 <property name="sname" type="java.lang.String">12 <column name="SNAME" />13 </property>14 <property name="gender" type="java.lang.String">15 <column name="GENDER" />16 </property>17 <property name="birthday" type="java.util.Date">18 <column name="BIRTHDAY" />19 </property>20 <property name="address" type="java.lang.String">21 <column name="ADDRESS" />22 </property>23 </class>24 </hibernate-mapping>
將Student.hbm.xml配置到hibernate.cfg.xml中
1 <session-factory>2 ...3 <mapping resource="Students.hbm.xml"/>4 </session-factory>
建立資料庫(Student)4.利用Junit,通過hibernate API編寫訪問資料庫代碼
1 import java.util.Date; 2 import org.hibernate.Session; 3 import org.hibernate.SessionFactory; 4 import org.hibernate.Transaction; 5 import org.hibernate.cfg.Configuration; 6 import org.hibernate.service.ServiceRegistry; 7 import org.hibernate.service.ServiceRegistryBuilder; 8 import org.junit.After; 9 import org.junit.Before;10 import org.junit.Test;11 12 public class StudentsTest {13 private SessionFactory sessionFactory;14 private Session session;15 private Transaction transaction;16 17 @Before18 public void init() {19 //建立設定物件20 Configuration config = new Configuration().configure();21 22 //建立服務註冊對象23 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(24 config.getProperties()).buildServiceRegistry();25 26 //建立會話工廠對象27 sessionFactory = config.buildSessionFactory(serviceRegistry);28 29 //回話對象30 session = sessionFactory.openSession();31 32 //開啟事物33 transaction = session.beginTransaction();34 }35 36 @After37 public void destory() {38 transaction.commit();39 session.close();40 sessionFactory.close();41 }42 43 @Test44 public void TestSaveStudents() {45 Students students = new Students(3, "小白", "男", new Date(), "武當山");46 session.save(students);47 }48 }
hibernate初涉