在HibernateTemplate里执行Sql语句

如下所示只能执行非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();

下面是执行select语句的情况:

return (List)hibernateTemplate.execute(new HibernateCallback()

       {

           public Object doInHibernate(Session session)

                  throws HibernateException

           {

              List list=session.createQuery(tempsql).list();

              return list;

           }

       });

  

此处final String tempsql = sql;必须为final 表示tempsql不可以修改;

内联类的要求;

public Object doInHibernate(Session session)返回Object等于hibernateTemplate.execute(new HibernateCallback()的返回,可以通过查看源代码看的出来;

时间: 2024-10-09 18:42:24

在HibernateTemplate里执行Sql语句的相关文章

怎样在dos里进入mysql,执行sql语句

1.进入mysql bin目录下,执行mysql.exe 2.用mysql -uroot -p登陆mysql之后就可以使用 怎样在dos里进入mysql,执行sql语句,布布扣,bubuko.com

C#参数化执行SQL语句,防止漏洞攻击本文以MySql为例【20151108非查询操作】

为什么要参数化执行SQL语句呢? 一个作用就是可以防止用户注入漏洞. 简单举个列子吧. 比如账号密码登入,如果不用参数, 写的简单点吧,就写从数据库查找到id和pw与用户输入一样的数据吧 sql:select id,pw where id='inputID' and pw='inputPW'; 一般情况没什么问题,但如果用户输入的id或PW带 ‘ ,这是可能就会出现漏洞,bug了 比如用户输入的id是: 1‘ or ’1‘=‘1 这是sql语句执行的是:select id,pw where id

在mybatis执行SQL语句之前进行拦击处理

比较适用于在分页时候进行拦截.对分页的SQL语句通过封装处理,处理成不同的分页sql. 实用性比较强. import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import java.util.Properties; import org.apache.ibatis.e

DB操作-用批处理执行Sql语句

用批处理在命令行状态下调用查询分析器来执行这个sql文件里的语句.下面就是sqlserver帮助里对于查询分析器(isqlw)命令行参数的解释:isqlw 实用工具(SQL 查询分析器)使您得以输入 Transact-SQL 语句.系统存储过程和脚本文件.通过设置快捷方式或创建批处理文件,可以启动预配置的 SQL 查询分析器. 1.语法 isqlw     [-?] |      [          [-S server_name[instance_name]]          [-d da

MyBatis-Spring 执行SQL语句的流程

1. 从SqlSessionDaoSupport开始 通常我们使用MyBatis会让自己的DAO继承SqlSessionDaoSupport,那么SqlSessionDaoSupport是如何运作的呢,下面是SqlSessionDaoSupport的源代码 /* * Copyright 2010 The myBatis Team * * Licensed under the Apache License, Version 2.0 (the "License"); * you may n

ORA-01843: 无效的月份,执行sql语句更改为美国语言后仍然失败的解决办法

ORA-01843: 无效的月份失败的 sql 为:XXXXXXXXXXXXXXXX 执行sql语句更改为美国语言后仍然失败, ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN'; 结果是注册表的问题,优化后多余的语言被清理掉了,所以,要修复注册表 将下面的文件复制保存为注册表文件.reg双击导入注册表. windows server 2005 系统时区文件 Time Zones.reg的文件内容,适用于windows server 2008 r2 我是

为什么要参数化执行SQL语句呢?

C#参数化执行SQL语句,防止漏洞攻击本文以MYSQL为例[20151108非查询操作] 为什么要参数化执行SQL语句呢? 一个作用就是可以防止用户注入漏洞. 简单举个列子吧. 比如账号密码登入,如果不用参数, 写的简单点吧,就写从数据库查找到id和pw与用户输入一样的数据吧 sql:select id,pw where id='inputID' and pw='inputPW'; 一般情况没什么问题,但如果用户输入的id或PW带 ' ,这是可能就会出现漏洞,bug了 比如用户输入的id是: 1

使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作

使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作 Hive Impala HBase HiveQL 大数据 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作 〇.摘要 一.基础环境 二.数据存储在HBase中,使用Hive执行SQL语句 Ⅰ.创建Hive外部表 Ⅱ.从HBase读 Ⅲ.向HBase写 三.数据存储在HBase中,使用Impala执行SQL语句 Ⅰ.从HBase读 Ⅱ.向HBase写 四.综上所述 〇.摘要 Hive是基于Hadoop

批量执行sql语句

基本使用 $sqls="sql语句1;sql语句2;sql语句n"; 或 $sqls="insert into xx;";  $sqls.="insert into xx;"; $res=mysqli::multi_query($sqls); 如果$sqls 是dml 语句,则$res 返回布尔值: 如果$sqls 是dql 语句,则$res 返回多个结果集,需要使用mysqli::store_result() 和 mysqli::more_re