当前位置:首页 » 编程语言 » hibernate用sql查询
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

hibernate用sql查询

发布时间: 2022-01-18 18:41:45

Ⅰ hibernate中使用数据库sql语句查询问题

假如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语句去执行)