社区
Java EE
帖子详情
请问在spring中如何调用复杂sql?
xinghao_1984
2009-06-27 02:26:43
我有一个复杂的sql语句。现在在spring项目中需要调用执行。
请问代码怎么写啊?
最好能举个例子!
...全文
175
23
打赏
收藏
请问在spring中如何调用复杂sql?
我有一个复杂的sql语句。现在在spring项目中需要调用执行。 请问代码怎么写啊? 最好能举个例子!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
feiyangdesky
2009-11-20
打赏
举报
回复
jf
不会飞的小龙人
2009-11-20
打赏
举报
回复
SQLQuery query1=session.createSQLQuery(sql1); //执行第1个SQL
query1.executeUpdate(); //执行更新
SQLQuery query1=session.createSQLQuery(sql1); //执行第1个SQL
sqlQuery.addScalar("name", Hibernate.STRING);
sqlQuery.addScalar("id", Hibernate.LONG);
sqlQuery.addScalar("state", Hibernate.SHORT);
return sqlQuery.list();//执行查询
executeUpdate和list是必需的
jiangxilaile
2009-07-15
打赏
举报
回复
有的公司禁止用hibernate进行大数据量查询的
xinghao_1984
2009-07-15
打赏
举报
回复
对啊,比如有一些多表关联的,或者带复杂子查询的语句。在ssh项目中怎么处理呢??
youjianbo_han_87
2009-07-15
打赏
举报
回复
如果是调用原生 SQL的话,用 jdbcTemplate执行(你在google里能搜 jdbctemplate用法)
如果是 HQL的话,就用 HibernateTemplate 执行(你在google里能搜 jdbctemplate用法)
deng1234
2009-07-15
打赏
举报
回复
public List findEmployee(final Integer userId) {
return (List) this.getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
StringBuffer sql = new StringBuffer();
sql.append("select b.Employee_ID,b.Employee_Code..............");
Connection conn = session.connection();
PreparedStatement prs = null;
ResultSet rs = null;
List<Employee> list = new ArrayList<Employee>();
try {
prs = conn.prepareStatement(sql.toString());
rs = prs.executeQuery();
while (rs.next()) {
Employeeemployee = new Employee();
employee.setEmployeeId(rs.getInt("Employee_ID"));
employee.setEmployeeCode(rs.getString("Employee_Code"));
list.add(employee);
}
} catch (Exception ex) {
ex.printStackTrace();
}finally{
if(rs!=null){
try{
rs.close();
}catch(Exception dex){
dex.printStackTrace();
}
}else if(prs != null){
try{
prs.close();
}catch(Exception sex){
sex.printStackTrace();
}
}else if(conn!=null){
try{
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}else if(session!=null){
try{
session.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
return list;
}
}, true);
}
a_will
2009-07-03
打赏
举报
回复
警告楼上的同学,hibernate不是万能的,上百万,千万的表,用hibernate做查询,就是垃圾一个。
bibixiaozhu
2009-07-03
打赏
举报
回复
HQL有什么复杂语句是解决不了的,好像hql语句写复杂查寻还更加简单的样子..
是不是要跨表呀,再复杂不也就是那样,大不了多跨几个表,
如果是,我可以给你一些hql语句,专门做做那种跨表的复杂查询的..
xinghao_1984
2009-07-01
打赏
举报
回复
难道大家都没碰到过spring项目中有复杂sql语句的,用HQL解决不了的??
bibixiaozhu
2009-07-01
打赏
举报
回复
这下麻烦了,这个又不像,hibernate可以在.xml里在框子里点点就配好...
全手动写,还不知道怎么写...
不过不知道可不可把hibernate里的那段处理事务的方法拿过来用,反正在曾经做的数据开发中sql语句的事务外理方式其实是跟
hibernate里那段事务处理代码一样的..那么说不定spring里也一样呢,真接给在sql语句执行语句那一段添一个Transaction,commit事务回滚
试试看吧..
yuzi13631138780
2009-06-30
打赏
举报
回复
找本书看看吧,单讲spring的事务管理就有1百几十页了..可以用声明式事务管理:
配好datsource,sessionFactory,TransactionManager,配置事务策略:
<tx:advice>
</txadvice>
<aop:config>
</aop:config>
xinghao_1984
2009-06-30
打赏
举报
回复
自己顶一下。难道要用spring的编程式事物方式吗?请问具体代码怎么写呢?
yuzi13631138780
2009-06-29
打赏
举报
回复
应该是事务代理或事务策略吧,感觉没commit()那样?
lansetianle
2009-06-29
打赏
举报
回复
学习中,帮你顶吧。。。
xinghao_1984
2009-06-29
打赏
举报
回复
是hibernate+Spring呀。我用了6楼的方法。虽然没有报错,可是doInHibernate里的方法没有执行啊!
this.getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {
System.out.println("*****************************");
session.createSQLQuery("update sql");
System.out.println("*****************************");
return null;
}
});
前后都输出了*,但是sql语句没有执行!请问没执行sql可能是什么原因?我的事物是在spring里配置好的!
xinghao_1984
2009-06-29
打赏
举报
回复
我也感觉是这样啊。好像是没commit.可是应该怎么写呢!我之前在Spring配置文件里的配置好像没起作用啊!
dinghun8leech
2009-06-28
打赏
举报
回复
楼主单独用的spring还是集合了hibernate??
前者的话直接在楼主定义的jdbc工具集里去直接执行即可。
yuzi13631138780
2009-06-28
打赏
举报
回复
getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
Query q=session.createSQLQuery("your sqk");
return null;
}
});
一洽客服系统
2009-06-27
打赏
举报
回复
什么sql这么复杂呢 不行你就写个存储过程 掉存储过程 直接用spring的 jdbcsupport 也还是很方便的
xinghao_1984
2009-06-27
打赏
举报
回复
自己顶一下。其实就是求在spring中调用一般sql语句的方法。
加载更多回复(3)
Spring
核心功能指南
大多数使用过
Spring
的开发人员都会有体会,
Spring
的功能越学越多、
Spring
太庞大了、似乎是无所不能。 到底
Spring
的核心定位是什么?
Spring
有哪些实用功能? 肖老师在本课程通过深度剖析,帮你正确理解
Spring
、入门
在
Spring
框架
中
使用
SQL
存储过程
Spring
框架也支持对
SQL
存储过程的
调用
,
SQL
存储过程是一组预先定义好的
SQL
语句,并存储到数据库管理系统
中
,...● 在
Spring
框架
中
调用
SQL
存储过程 1、 认识
SQL
存储过程 类似于编程语言
中
的函数,
SQL
存储过程是
SQL
...
spring
cloud
复杂
sql
查询
spring
cloud有自动生成
sql
的功能,不需要手写简单的
sql
语句实现,
复杂
的
sql
查询需要通过手写
sql
语句实现查询功能; eg:在controller层 @RestController@RequestMapping("api")public class MemberController { @...
Spring
Data JPA使用必备(三):
Spring
Data JPA自定义
SQL
写法
Spring
Data JPA的前两篇已经写了通过方法名格式...这篇博客的篇幅不会很长,主要是讲两个点,一个是在
Spring
Data JPA系列的第一篇博客
中
提到的@Query注解,一个就是通过Specification组合动态条件以及Pageable和Sor
Spring
DataJpa原生
SQL
查询
Spring
DataJpa原生
SQL
查询 前言 今天为大家分享:
Spring
DataJpa...一些比较
复杂
的关联查询要怎么实现呢,JPA的处理方法是:利用原生的
SQL
命令来实现那些
复杂
的关联查询,通 过设置nativeQuery = true 来设置开启...
Java EE
67,512
社区成员
225,885
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章