hibernate 環境搭建測試
阿新 • • 發佈:2017-06-06
hibernate 環境搭建小測試
對於hibernate的介紹,網絡上一搜一堆,恐怕我寫的也沒前輩總結的好。
這個博主總結的十分好,方便大家欣賞 http://blog.csdn.net/liujiahan629629/article/details/21442607
真正要掌握,還得需要自己動手,才能豐衣足食。
所需jar包
jar包版本不同,找的地址也不同。這裏用到的是 hibernate-release-5.2.10 版本的jar包
除了這些jar包,還需要數據庫驅動jar,根據自己用的數據庫自定,這裏用到的是oracle
2.jar包導入好,看看配置,在配置之前,看下實體和表結構。
實體 Users
package com.hib.entity; public class Users { private Integer id; private String name; private String pass; private String address; public Integer getId() { return id; } public void setId(Integer 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; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public Users(Integer id, String name, String pass, String address) { super(); this.id = id; this.name = name; this.pass = pass; this.address = address; } public Users() { super(); } @Override public String toString() { return "Users [id=" + id + ", name=" + name + ", pass=" + pass + ", address=" + address + "]"; } }
表結構
在src下 hibernate.cfg.xml配置,如果不知道裏面的配置怎麽寫。可以通過在下載的jar包中搜索hibernate.cfg.xml,裏面有配置信息。
hibernate.cfg.xml 配置如下
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property> <property name="hibernate.connection.username">ssh</property> <property name="hibernate.connection.password">ssh</property> <property name="hibernate.connection.url">jdbc:oracle:thin:@127.0.0.1:1521:xe</property> <!-- 方言 --> <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property> <!-- 可視化sql --> <property name="hibernate.show_sql">true</property> <!-- 格式化sql,自動對可視化sql換行,對齊 --> <property name="hibernate.format_sql">true</property> <!-- 映射文件配置 --> <mapping resource="User.hbm.xml"/> </session-factory> </hibernate-configuration>
3. User.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> <!-- name:是實體 table是表名稱 --> <class name="com.hib.entity.Users" table="TEST_USER"> <id name="id"> <!-- 主鍵自增策略,hibernate提供了幾種,這裏測試,先寫一個,後面會補充 --> <generator class="increment"></generator> </id> <!-- name:是實體中屬性的名稱,column:是表中字段的名稱,type是數據類型 在這裏發現後面的 pass和 address 沒有寫column和type 如果表字段和實體屬性名稱一致,可以省略不寫 --> <property name="name" column="name" type="java.lang.String"/> <property name="pass"/> <property name="address"/> </class> </hibernate-mapping>
4.測試數據連接是否配置成功
package com.hib.test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.Test; import com.hib.entity.Users; public class TestConn { // 獲取session public static Session getSession(){ // 加載配置 Configuration cfg = new Configuration().configure(); // 獲取sessionFactory SessionFactory factory = cfg.buildSessionFactory(); // 獲取session Session session = factory.openSession(); return session; } // 查詢 @Test public void query(){ Session session = getSession(); // 查詢 Users users = session.get(Users.class, 1); System.out.println(users); //關閉資源 session.close(); } // 在進行增刪改時 ,好控制事務 ---- 插入 @Test public void insert(){ Session session = getSession(); // 開啟事務 Transaction tx = session.beginTransaction(); Users users = new Users(null, "xyz", "xyz", "china"); // 插入 session.save(users); // 事務提交 tx.commit(); // 事務回滾 //tx.rollback(); session.close(); } // 更新數據前 需要先查詢出修改的數據 @Test public void update(){ Session session = getSession(); Transaction tx = session.beginTransaction(); Users users = session.get(Users.class, 1); users.setAddress("鄭州"); users.setName("小李飛刀"); session.update(users); tx.commit(); session.close(); } // 刪除 需要先出現出刪除的數據 @Test public void delete(){ Session session = getSession(); Transaction tx = session.beginTransaction(); Users users = session.get(Users.class, 1); session.delete(users); tx.commit(); session.close(); } }
這裏僅僅是個測試,後面的會繼續更新,不足希望多多指教。
本文出自 “永恒之光” 博客,請務必保留此出處http://zhuws.blog.51cto.com/11134439/1932652
hibernate 環境搭建測試