假如bean的配置文件存在 你可以在执行完sql后面加上addEntity方法 hibernate会自动封装
如果这个bean是没有xml配置文件的 那你只能去遍历这个list 构造bean
Ⅱ 如何用hibernate直接进行SQL语句查询
String sql="SQL语句";session.createSqlQuery(sql);
Ⅲ hibernate sql查询语句
既然你的项目继承了hibernateDaoSupoort,并且是由spring来管理的那么,我想应该实在applicationContext.xml中配置的sessionFactory或者getTemplate来注入数据库连接的,既然如此在hibernateDaoSupport的继承类中可以得到写很多的封装查询、添加、删除操作,只需要把方法加入一个抽象类去实现就好了
不过你要通过sql语句去实现的话
因为已经注入了数据库连接到hibernateDaoSupport中.所以你也继承到了两个数据库连接方法getSession() 和 getHibernateTemplate()
直接用就可以了
Ⅳ hibernate怎样查询数据库里面的所有数据
Hibernate查询所有数据的操作方式有三种。
1、Query
(1)使用该方法查询时,不需要编写sql语句,但是需要编写hql(Hibernate Query Language)语句,该语句是Hibernate查询语言。
(2)hql语言操作的是实体类和实体类的属性,比如查询所有数据的hql语句为:from 实体类名称。
(3)使用方法:首先创建Query对象,然后调用该对象的List方法返回数据集合。
@Test
public void test11(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;
try {
sessionFactory = HibernateUtils.getFactory();
session = sessionFactory.getCurrentSession();
tx = session.beginTransaction();
/**
* 使用session对象的createQuery方法创建Query对象。
* 参数为hql语句
* 使用QUERY对象的list方法获取数据集合
*/
Query query =session.createQuery("from UserEntity");
List<UserEntity> list = query.list();
//使用forEach遍历集合
for (UserEntity userEntity : list) {
System.out.println(userEntity);
}
tx.commit();
} catch (Exception e) {
tx.rollback();
}finally{
sessionFactory.close();
}
}
2、criteria
(1)使用该对象不需要写hql语句,只需要指定实体类。
(2)使用方法:首先创建criteria对象,然后调用list返回数据集合。
@Test
public void test12(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;
try {
sessionFactory = HibernateUtils.getFactory();
session = sessionFactory.getCurrentSession();
tx = session.beginTransaction();
/**
* 使用session对象的createCriteria方法创建criteria对象。
* 使用criteria对象的list方法获取数据集合
*/
Criteria criteria =session.createCriteria(UserEntity.class);
List<UserEntity> list = criteria.list();
//使用forEach遍历集合
for (UserEntity userEntity : list) {
System.out.println(userEntity);
}
tx.commit();
} catch (Exception e) {
tx.rollback();
}finally{
sessionFactory.close();
}
}
3、SQLQuery
(1)使用该对象,需要写底层的SQL语句。
(2)实现方法:首先创建该对象,然后调用list。
@Test
public void test13(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;
try {
sessionFactory = HibernateUtils.getFactory();
session = sessionFactory.getCurrentSession();
tx = session.beginTransaction();
/**
* 使用session对象的createSQLQuery方法创建SQLQuery对象。
* 使用qQLQuery对象的list方法获取数据集合,集合里面不是对象,而是数组
*/
SQLQuery qQLQuery =session.createSQLQuery("select * from t_user");
List<Object[]> list = qQLQuery.list();
//使用forEach遍历集合
for (Object[] objects : list) {
System.out.println(Arrays.toString(objects));
}
tx.commit();
} catch (Exception e) {
tx.rollback();
}finally{
sessionFactory.close();
}
}
(3)数组转换成对象
@Test
public void test13(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;
try {
sessionFactory = HibernateUtils.getFactory();
session = sessionFactory.getCurrentSession();
tx = session.beginTransaction();
/**
* 使用session对象的createSQLQuery方法创建SQLQuery对象。
* 使用qQLQuery对象的list方法获取数据集合,集合里面不是对象,而是数组
*/
SQLQuery qQLQuery =session.createSQLQuery("select * from t_user");
//将数组装载进实体中
qQLQuery.addEntity(UserEntity.class);
List<UserEntity > list = qQLQuery.list();
//使用forEach遍历集合
for (UserEntity userEntity : list) {
System.out.println(userEntity);
}
tx.commit();
} catch (Exception e) {
tx.rollback();
}finally{
sessionFactory.close();
}
}
Ⅳ hibernate使用sql查询
看了下你的 SQL ,里面打的是中文的问号,这个应该是英文的咧
Ⅵ Hibernate 怎样 执行sql语句,获得查询到的值
这个你都要纠结嘛。。直接声明一个int 类型的 变量来接收这个值就可以了,我一般都是把这个写在一个方法里面,这个方法的返回值为Int 在这个方法里面,取出这个值,返回即可。
Ⅶ Hibernate SQL查询
如果你的hbm.xml配置文件配置恰当,可以用HQL:
Query query=....."from MessagePO mpo where mpo.clent=?";
ClentPO cpo=session.get(ClentPO.class,主键值);
query.setParameter(1,cpo);
query.list();
Ⅷ sql查询,hibernate 的sql语句查询信息
select * from user where name ='root' 这里用单引号
Ⅸ hibernate对SQL语句的使用
如下代码:
(注意该类继承自HibernateDaoSupport ,要在applicationContext.xml中将sessionFactory注入此类中)
public class DaoUtil extends HibernateDaoSupport {
public Object executeMySQL(final String sql){
System.out.println(sql);
return getHibernateTemplate().execute( new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Connection CurConn = session.connection();
PreparedStatement ps = CurConn.prepareStatement(sql);
ps.execute();
ps.close();
session.flush();
return null;
}
} );
}
public Object executeBetchSQL(final ArrayList sqlList){
return getHibernateTemplate().execute( new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Connection CurConn = session.connection();
int count = sqlList.size();
for(int i=0;i//System.out.println(sqlList.get(i));
PreparedStatement ps = CurConn.prepareStatement(sqlList.get(i));
ps.execute();
ps.close();
session.flush();
}
return null;
}
} );
}
public static DaoUtil getFromApplicationContext(
ApplicationContext ctx) {
return (DaoUtil) ctx.getBean("DaoUtil");
}
}
Ⅹ 用hibernate查询sql数据库并输出
你这只是一个实体类 无从下手的 你可以定义一个实体对象 完了赋值userid=3 再通过hibernate的get方法 +你这个有值的对象做参数去获得这个数据库记录
也可以通过excuteSQL(SQL语句去执行)