課程
/后端開發
/Java
/Hibernate初探之單表映射
通過session對象操作數據庫
2015-06-15
源自:Hibernate初探之單表映射 2-3
正在回答
*用JDBC驅動建立連接,顯示Connection對象
package?com.bohy.jdbc.test;
import?java.sql.Connection;
import?java.sql.DriverManager;
import?java.sql.SQLException;
public?class?Demo01?{
public?void?JDBCConnection(){
try?{
//加載JDBC連接數據庫的驅動
//驅動說白點,就是一個class文件
Class.forName("com.mysql.jdbc.Driver");
/*
?*?獲取鏈接需要三個參數:
?*?1、url:連接的地址及相關參數
?*?2、username:數據庫賬號
?*?3、password:數據庫密碼
?*/
"http://url格式:jdbc:數據庫廠商名稱(例如:mysql):
//數據庫所在地址的IP(例如:localhost):端口號(一般情況下都是3306)/數據庫名稱(例如:12_db)"
String?url="jdbc:mysql://localhost:3306/12_db";
String?username="root";
String?password="123456";
//從驅動獲取一個數據庫連接(也就是Connection對象)
//connection:連接;?Driver:驅動程序;?Manager:管理者;
Connection?conn?=?DriverManager.getConnection(url,username,password);
System.out.println(conn);
?*?注意,數據庫用完*必須*關掉;這是規定.?
*Statement對象將由Java垃圾收集程序自動關閉。
*而作為一種好的編程風格,應在不需要Statement對象時顯式地關閉它們。
*這將立即釋放DBMS資源,有助于避免潛在的內存問題。?
*?ResultSet維護指向其當前數據行的光標。
*每調用一次next方法,光標向下移動一行。
*最初它位于第一行之前,
*因此第一次調用next將把光標置于?第一行上,
*使它成為當前行。
*隨著每次調用next導致光標向下移動一行,
*按照從上至下的次序獲取ResultSet行,
*在ResultSet對象或其父輩?Statement對象關閉之前,
*光標一直保持有效。
conn.close();
}?catch?(ClassNotFoundException?e)?{
System.err.println("沒有找到JDBC連接mySql的驅動");
}?catch?(SQLException?e)?{
System.err.println("連接數據庫失敗!");
}
public?static?void?main(String[]?args)?{
new?Demo01().JDBCConnection();
*hibernate獲取session對象,并顯示成功還是失敗
Public?class?SessionTest
{
???@Test
???Public?void?testOpenSession()
???{
???//獲得配置對象
???Configuration?config=new?Configuration().configure();
???//獲得服務注冊對象
???ServiceRegistry?serviceRegistry=new?ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
???//獲得sessionFactory對象
???SessionFactory?sessionFactory=config.buildSessionFactory(serviceRegistry);
???//獲取session對象
???Session?session=sessionFactory.openSession();
???If(session!=null)
?????{
?????System.out.println(“session創建成功!”);
?????}
???else
?????System.out.println(“session創建失??!”);
???}
舉報
Java持久化框架Hibernate入門教程,掌握Hibernate基本概念
3 回答session看成是一個操作數據庫對象
1 回答有沒有同學和我一樣報錯的,session保存對象空指針
3 回答如何保持BLOB對象
3 回答如何儲存blob對象在sql server?實體set blob對象保存就報錯,不set blob對象就沒問題
2 回答說明兩種獲取Session對象的方法會自動關閉可以用這個例子不是更好點
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-12-15
*用JDBC驅動建立連接,顯示Connection對象
package?com.bohy.jdbc.test;
import?java.sql.Connection;
import?java.sql.DriverManager;
import?java.sql.SQLException;
public?class?Demo01?{
public?void?JDBCConnection(){
try?{
//加載JDBC連接數據庫的驅動
//驅動說白點,就是一個class文件
Class.forName("com.mysql.jdbc.Driver");
/*
?*?獲取鏈接需要三個參數:
?*?1、url:連接的地址及相關參數
?*?2、username:數據庫賬號
?*?3、password:數據庫密碼
?*/
"http://url格式:jdbc:數據庫廠商名稱(例如:mysql):
//數據庫所在地址的IP(例如:localhost):端口號(一般情況下都是3306)/數據庫名稱(例如:12_db)"
String?url="jdbc:mysql://localhost:3306/12_db";
String?username="root";
String?password="123456";
//從驅動獲取一個數據庫連接(也就是Connection對象)
//connection:連接;?Driver:驅動程序;?Manager:管理者;
Connection?conn?=?DriverManager.getConnection(url,username,password);
System.out.println(conn);
/*
?*?注意,數據庫用完*必須*關掉;這是規定.?
*Statement對象將由Java垃圾收集程序自動關閉。
*而作為一種好的編程風格,應在不需要Statement對象時顯式地關閉它們。
*這將立即釋放DBMS資源,有助于避免潛在的內存問題。?
*?ResultSet維護指向其當前數據行的光標。
*每調用一次next方法,光標向下移動一行。
*最初它位于第一行之前,
*因此第一次調用next將把光標置于?第一行上,
*使它成為當前行。
*隨著每次調用next導致光標向下移動一行,
*按照從上至下的次序獲取ResultSet行,
*在ResultSet對象或其父輩?Statement對象關閉之前,
*光標一直保持有效。
?*/
conn.close();
}?catch?(ClassNotFoundException?e)?{
System.err.println("沒有找到JDBC連接mySql的驅動");
}?catch?(SQLException?e)?{
System.err.println("連接數據庫失敗!");
}
}
public?static?void?main(String[]?args)?{
new?Demo01().JDBCConnection();
}
}
*hibernate獲取session對象,并顯示成功還是失敗
Public?class?SessionTest
{
???@Test
???Public?void?testOpenSession()
???{
???//獲得配置對象
???Configuration?config=new?Configuration().configure();
???//獲得服務注冊對象
???ServiceRegistry?serviceRegistry=new?ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
???//獲得sessionFactory對象
???SessionFactory?sessionFactory=config.buildSessionFactory(serviceRegistry);
???//獲取session對象
???Session?session=sessionFactory.openSession();
???If(session!=null)
?????{
?????System.out.println(“session創建成功!”);
?????}
???else
?????{
?????System.out.println(“session創建失??!”);
?????}
???}
}