Hibernate 执行原始SQL语句
来源:互联网 发布:网络推手的发展 编辑:程序博客网 时间:2024/05/07 13:01
在hibernate中有时不需要用到表的映射,需要直接执行SQL语句。
其中sessionFactory在配置文件中配置,SSH详细配置见http://blog.csdn.net/xumengxing/article/details/8586012
在dao层中定义两个常见函数用于查询和执行操作。
dao代码如下:
package com.hsinghsu.testSSH.dao.impl; import java.util.List; import javax.annotation.Resource; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.stereotype.Repository; import com.hsinghsu.testSSH.dao.BaseDao; @Repository(value = "baseDao") public class BaseDaoImpl implements BaseDao { @Resource(name = "sessionFactory") private SessionFactory sessionFactory; public Session getSession() { return sessionFactory.getCurrentSession(); } public List queryBySql(String sql) { List<Object[]> list = getSession().createSQLQuery(sql).list(); return list; } public int excuteBySql(String sql) { int result ; SQLQuery query = this.getSession().createSQLQuery(sql); result = query.executeUpdate(); return result; } }service代码如下:
package com.hsinghsu.testSSH.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.hsinghsu.testSSH.dao.BaseDao; import com.hsinghsu.testSSH.service.BaseService; @Service(value = "baseService") public class BaseServiceImpl implements BaseService { @Autowired private BaseDao baseDao; public List queryBySql(String sql) { List<Object[]> list = baseDao.queryBySql(sql); return list; } public int excuteBySql(String sql){ return baseDao.excuteBySql(sql); } }测试代码如下:
package com.hsinghsu.testSSH.service; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.util.List; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import com.hsinghsu.testSSH.SpringTestBase; public class BaseServiceTest extends SpringTestBase{ @Autowired private BaseService baseService; @Test public void testConfig() { assertNotNull(baseService); assertTrue(baseService != null); } @Test public void testQueryBySql() { String sql = "select * from T_TEST_USER WHERE SEX = 1"; List<Object[]> list = baseService.queryBySql(sql); System.out.println("---"+list.size()); for(Object[] obj :list) { System.out.println(obj[0]+" -- "+ obj[1]+" -- "+obj[2]); } } @Test public void testExcuteBySql() { // String sql = "UPDATE T_TEST_USER SET NAME = 'GSS09', PWD = 'GG007', AGE = 24, SEX = 1 WHERE ID = 6"; // String sql = "UPDATE T_TEST_USER SET NAME = 'GSS29', PWD = 'GG007' WHERE ID = 6"; // String sql = "insert into T_TEST_USER(ID,NAME,PWD,AGE,SEX) values(7,'gogo08','gogopwd08',24,1)"; String sql = "delete from T_TEST_USER where ID = 7"; int result = baseService.excuteBySql(sql); System.out.println("---009:"+result); } }
- Hibernate 执行原始SQL语句
- Hibernate 执行原始SQL语句
- Hibernate 执行原始SQL语句
- Hibernate执行原始SQL
- Grails 执行原始SQL语句配置
- Hibernate执行sql语句
- hibernate执行sql语句
- hibernate执行SQL语句
- Hibernate执行sql语句
- Hibernate 执行SQL语句
- hibernate执行sql语句
- Hibernate执行SQL语句实现
- 使用hibernate执行sql语句
- Hibernate直接执行SQL语句
- hibernate执行sql语句步骤
- hibernate执行sql语句更新
- Grails 执行原始SQL语句配置 之二
- django执行原始SQL
- 公司员工类延伸,管理者类
- MFC播放声音文件
- C/C++/OC基本数据类型
- 【0】密码学关于des算法的了解
- 题目1031:xxx定律
- Hibernate 执行原始SQL语句
- 性能测试系统瓶颈分析的基本原则
- 源码安装postgresql
- 继承和派生
- 图形文件格式比较
- Application的使用介绍
- OpenCv 2.3在VS2010上的配置
- jquery对象和DOM对象区别
- Linux设备驱动程序第三版之块设备驱动程序