社区
Java EE
帖子详情
请问在spring中如何调用复杂sql?
xinghao_1984
2009-06-27 02:26:43
我有一个复杂的sql语句。现在在spring项目中需要调用执行。
请问代码怎么写啊?
最好能举个例子!
...全文
218
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
-ai-alibaba 简化版NL2
SQL
文章针对nl2
sql
使用不便问题,设计
spring
-ai-alibaba简化版NL2
SQL
。最初考虑用advisor方式,后采用工具注册,按需
调用
大模型。保留扩展性,添加可插拔组件接口。介绍了简单和
复杂
两种
调用
方式,预留用户介入接口。
spring
cloud
复杂
sql
查询
本文详细介绍如何在
Spring
Cloud项目
中
实现
复杂
的
SQL
查询,通过手写
SQL
语句并结合
Spring
Data JPA,演示了从Controller层到Repository层的完整
调用
流程。案例包括通过特定条件筛选、排序和分页展示数据。
Spring
Boot 自研运行时
SQL
调用
树,3 分钟定位慢
SQL
本项目基于
Spring
Boot和MyBatis开发了一个
SQL
调用
树可视化系统,能够自动捕获并展示
SQL
执行过程,帮助开发者快速定位慢
SQL
,提供性能监控和统计分析功能。系统后端采用
Spring
Boot和MyBatis,前端使用D3.js进行数据可视化,支持RESTful API,适用于
复杂
查询性能分析和慢
SQL
识别。
Spring
Boot集成Hibernate实现自定义
SQL
查询
本文详细介绍了如何在
Spring
Boot项目
中
集成Hibernate,并通过自定义
SQL
查询来满足
复杂
的数据库操作需求。内容涵盖了基础配置、实体类与Repository的定义、Service层与Controller层的
调用
方法,以及如何执行
复杂
SQL
语句。通过使用特定的注解,开发者可以编写原生
SQL
语句,同时保持代码的简洁性和可维护性。
JOOQ事实:
SQL
函数变得简单
本文探讨了使用JDBC API的
复杂
性,并介绍了
Spring
JDBC框架如何改善这一状况。然而,真正的突破在于JOOQ的出现,它提供了一种类型安全的方法来构建和执行
SQL
查询,特别适用于动态查询构建和
SQL
函数
调用
。通过比较
Spring
JDBC和JOOQ
调用
SQL
函数的代码示例,展示了JOOQ的优雅和高效。
Java EE
67,535
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章