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();
}
}
评论
查看更多