HibernateTemplate里执行SQL(非Select和Select)语句(1)时间:2010-09-03 15:39 来源:互联网 字体:[大 中 小]下面将为您介绍在HibernateTemplate里执行的两种SQL语句,一种执行非Select语句的情况,以及一种执行Select语句的情况,供您参考,希望对您有所启迪。
如下所示只能执行非Select语句;
public static void executeSQL(HibernateTemplate hibernateTemplate,
String sql)
{
final String tempsql = sql;
hibernateTemplate.execute(new HibernateCallback()
{
public Object doInHibernate(Session session)
throws HibernateException
{
session.createQuery(tempsql).executeUpdate();
return null;
}
});
}
若要执行Select则用session.createQuery(tempsql).list();
此处final String tempsql = sql;必须为final 表示tempsql不可以修改;
内联类的要求;
public Object doInHibernate(Session session)返回Object等于hibernateTemplate.execute(new HibernateCallback()的返回,可以通过查看源代码看的出来;
下面是执行select语句的情况:
return (List)hibernateTemplate.execute(new HibernateCallback()
{
public Object doInHibernate(Session session)
throws HibernateException
{
List list=session.createQuery(tempsql).list();
return list;
}
});
http://www.bitscn.com/pdb/mssql/201010/191481.html
分享到:
相关推荐
"hibernate执行原生sql...我们可以使用 `Session.createSQLQuery()` 方法、`HibernateCallback` 接口和 `SQLQuery` 对象来执行原生 SQL 语句。这些方法可以帮助我们更好地控制数据库查询,并解决一些复杂的查询问题。
3. **批处理操作**:支持批量执行SQL语句,优化数据库访问性能。 4. **自定义查询**:支持HQL(Hibernate Query Language)和原生SQL查询。 #### 三、HibernateTemplate的初始化与配置 `HibernateTemplate`可以...
final String sql = "select count(*), substring(smoke_time,1,10) from SmokeEvent group by substring(smoke_time,1,10)"; List list = hibernateTemplate.execute(new HibernateCallback() { @Override ...
在Hibernate中,批量插入的HQL语法与标准的SQL语法有所不同,它只支持从一个表中通过select语句选择数据,并将这些数据插入到另一个表中。这在SQL中通常称为“insert into ... select ...”。 举例来说,如果想要将...
例如,它们可能包括了保存(insert)、更新(update)、删除(delete)和查询(select)数据的方法,这些方法可能是基于JdbcTemplate或者HibernateTemplate实现的。 JdbcTemplate是Spring提供的一个数据库访问组件...
SSM框架提供了预编译的SQL语句和参数绑定机制,可以有效避免恶意的SQL代码执行。 9. **性能监控与调优**:通过监控SQL执行时间、数据库连接池状态等,可以发现并解决性能瓶颈。例如,调整SQL语句以减少全表扫描,...
除了`HibernateTemplate`提供的便捷操作外,Hibernate还支持直接执行SQL语句,这为开发者提供了更大的灵活性。下面是几种常见的SQL查询方式及其应用场景: 1. **GET查询** ```java Customer cust = session.get...
使用Spring的JDBC模板,你可以编写SQL语句并执行,如插入数据(INSERT)、查询数据(SELECT)、更新数据(UPDATE)和删除数据(DELETE)。Spring会自动处理结果集,将其转化为Java对象。 6. **实体类与数据表映射*...
总的来说,Hibernate的`Criteria`、`Query`以及QBC(Query By Criteria)提供了灵活且强大的查询手段,它们不仅支持基本的单表查询,还能处理复杂的联表、分页、参数绑定和统计需求,是Java开发者进行数据库操作的...
在JDBC中,DAO模式的应用尤为常见,因为它可以有效地管理与数据库的连接,执行SQL语句,并处理结果集。 **1. JDBC基础** 在了解DAO之前,我们需要理解JDBC(Java Database Connectivity)的基本概念。JDBC是Java...
Hibernate支持直接执行SQL语句,这使得开发者可以充分利用数据库的特性和性能。通过`Session.createSQLQuery()`方法创建SQL查询,然后设置参数并获取结果集。例如: ```java String sql = "SELECT * FROM User ...
- 这段代码接收HQL查询语句、偏移量(`offset`)以及每页记录数(`length`),通过`HibernateTemplate`的`executeFind`方法创建Session并执行查询。 - `setFirstResult`设置查询的起始位置,`setMaxResults`限制...
而**JdbcDaoSupport**则主要针对原生JDBC操作进行了封装,使得开发者能够更方便地执行SQL语句。 #### 二、Spring框架中实现数据库连接方式 ##### 1. 借助HibernateDaoSupport实现 - **简介**:当项目中已经使用了...
- **SQL 查询**:可以直接编写原生 SQL 语句进行查询,适用于复杂的查询场景。例如,`select * from users where username = ?`。 - **条件查询**:通过 Criteria API 或 HQL 的条件子句来构建动态查询。 #### 3. ...
JdbcTemplate 可以自动处理诸如打开和关闭连接、事务管理和结果集映射等繁琐的细节,让开发者专注于编写 SQL 语句和处理结果。此外,Spring 还提供了其他模板类,如 JpaTemplate(用于 JPA 操作)、...
11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.3. 控制数据库连接 11.3.1. DataSourceUtils类 11.3.2. SmartDataSource接口 11.3.3. AbstractDataSource类 11.3.4. ...
11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.3. 控制数据库连接 11.3.1. DataSourceUtils类 11.3.2. SmartDataSource接口 11.3.3. AbstractDataSource类 11.3.4. ...
这里的`findBy_name`方法名遵循了Spring Data JPA的命名规则,它会自动转换为SQL的`SELECT`语句。在运行时,Spring Data JPA会根据这个方法名生成对应的查询逻辑。 在服务层,我们可以注入`ActorRepository`并调用...
数据源负责连接数据库,而JdbcTemplate则用于执行SQL语句。 ```xml <!-- 在Spring配置文件中定义数据源 --> <!-- 定义JdbcTemplate bean --> ``` 4. **执行数据库操作**:利用JdbcTemplate...
11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.2.9. 获取自动生成的主键 11.3. 控制数据库连接 11.3.1. DataSourceUtils类 11.3.2. SmartDataSource接口 11.3.3. AbstractDataSource类 ...