SessionFactory是一個計算機語言,指的是負責創建Session的核心接口,它充當數據存儲源的代理,并負責創建Session對象。
SessionFactory接口:SessionFactory接口負責初始化Hibernate。它充當數據存儲源的代理,并負責創建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當需要操作多個數據庫時,可以為每個數據庫指定一個SessionFactory。
數據庫是一個單位或是一個應用領域的通用數據處理系統,它存儲的是屬于企業和事業部門、團體和個人的有關數據的集合。數據庫中的數據是從全局觀點出發建立的,按一定的數據模型進行組織、描述和存儲。其結構基于數據間的自然聯系,從而可提供一切必要的存取路徑,且數據不再針對某一應用,而是面向全組織,具有整體的結構化特征。
數據庫中的數據是為眾多用戶所共享其信息而建立的,已經擺脫了具體程序的限制和制約。不同的用戶可以按各自的用法使用數據庫中的數據;多個用戶可以同時共享數據庫中的數據資源,即不同的用戶可以同時存取數據庫中的同一個數據。數據共享性不僅滿足了各用戶對信息內容的要求,同時也滿足了各用戶之間信息通信的要求。
使用JDBC和hibernateSessionFactory訪問數據庫
package test.dao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import test.vo.User;
public class TestDao {
@SuppressWarnings(“deprecation”)
public void querySql(Integer id){
Session session= HibernateSessionFactory.getSession();
Connection conn = session.connection();
PreparedStatement ps=null;
ResultSet rs=null;
try {
String sql = “select username,password from shdb.user”;
ps =conn.prepareStatement(sql);
rs = ps.executeQuery();
while(rs.next()){
String nameString = rs.getString(1);
String passString = rs.getString(2);
System.out.println(nameString+“--------”+passString);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
try {
if(rs != null)
rs.close();
if(ps != null)
ps.close();
if(conn != null)
conn.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
}
public void queryHql(Integer id){
Session session= HibernateSessionFactory.getSession();
User user = (User)session.get(User.class, id);
System.out.println(“hql get.。。。。。。。”+user.getUsername()+“ ”+user.getPassword());
session.close();
}
@SuppressWarnings(“unchecked”)
public void queryHql1(Integer id){
Session session= HibernateSessionFactory.getSession();
String hql=“from User”;
Query query=session.createQuery(hql);
List《User》 userList = query.list();
for(User user :userList){
System.out.println(“hql list.。。。。。。。”+user.getUsername()+“ ”+user.getPassword());
}
session.close();
}
}
評論
查看更多