ibatis根据xml中的id获得sql

实现步骤:

1、写个类
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import com.ibatis.sqlmap.engine.impl.SqlMapClientImpl;
import com.ibatis.sqlmap.engine.mapping.sql.stat.StaticSql;
import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement;

public class GetSql {
public static String getMappedStatementSQL(String id,
SqlMapClientDaoSupport dao) {
String sql = null;

SqlMapClientImpl sqlmap = (SqlMapClientImpl) dao.getSqlMapClient();

MappedStatement stmt = sqlmap.getMappedStatement(id);
StaticSql staticSql = (StaticSql) stmt.getSql();
sql = staticSql.getSql(null, null);
return sql;
}

}

2、构建SqlMapClientDaoSupport 参数对象
修改dao,使继承SqlMapClientDaoSupport,还要注入SqlMapClient 。代码如下:
@SuppressWarnings("unchecked")
@Service("userDAO")
public class UserDAO extends SqlMapClientDaoSupport implements IUserDAO {
@Autowired
public UserDAO(SqlMapClient sqlMapClient) {
super.setSqlMapClient(sqlMapClient);
}


3、在dao中这么调用:
GetSql.getMappedStatementSQL("getAllUser", this);
将SQl语句转换成Ibatis之Xml文件语句 用Ibatis时,配置sql语句时候 如果直接从sql里面把语句拷出来,玩玩格式不严谨,我写了这个工具来帮助我们格式化sql语句 立即下载

相关推荐

迈创cameralink采集卡安装操作说明

迈创cameralink采集卡安装操作说明MIL软件安装MIL软件下载获取MIL软件安装MIL软件安装常见问题 MIL软件安装 MIL软件下载获取 MIL软件安装 解压MIL安装包,点击MilSetup.exe开始安装,如下图所示; 备注:64位系统MIL软件可以同时安装32位和64位客户端,本文档默认安装64位客户端,64位系统安装32位MIL方法后续再展开讲(不建议这样用,很麻烦) 点击Launch Installation开始安装,64位系统,默认只安装64位MIL客户端 根据采集卡驱动,选择M

qq_23107577的博客 9354

如何从ibatis中获取SQL

以下是在网上搜到的办法: 运行期从ibatis配置文件中获取sql的两种方法 运行期从ibatis配置文件中获取sql 1.通过SqlMapClientDaoSupport,SqlMapClientImpl,MappedStatement,Sql,RequestScope等ibatis提供的类 public List getUserList(UserInfo userInf

utf7的技术博客 5084

2024高项范文-论项目成本管理

例如,在需求分析和设计阶段,安排了较多经验丰富的人员,确保基础工作的高质量完成,同时也避免了后续因需求变更等问题导致的时间和成本浪费。虽然项目进度略有延迟,但通过有效的成本管理和调整,最终在可控的成本范围内完成了项目,并且软件的质量也得到了保障。通过这个案例可以看出,在项目成本管理过程中,要紧密结合时间管理,根据实际情况灵活调整策略,注重风险的防范和应对,才能实现时间和成本的平衡,确保项目的成功。资源规划是成本基准形成的基础。识别和评估项目中的成本风险,并制定相应的应对措施,以降低风险对项目成本的影响。

xjflion的博客 1188

如何ibatis通过id获得sql?

 public static String getMappedStatementSQL(String id, SqlMapClientDaoSupport dao) {  String sql = null;SqlMapClientImpl sqlmap = (SqlMapClientImpl)dao.getSqlMapClient();MappedStatement 

回到未来。。。 1148

数字通信:信源编码、信道编码、调制、物理信道、解调、信道解码、信源解码

在通信系统中,信息的传输通常需要经过一系列的处理步骤,确保数据可以在信道中高效且可靠地传输。以下是信源编码、信道编码、调制、物理信道、解调、信道解码、信源解码的具体含义及其常见技术的解释。

weixin_44012667的博客 4813

手把手教你用GNU Radio和PlutoSDR搭建FM收音机(附完整流程图)

本文提供了一份详细的实践指南,教你如何使用GNU Radio和PlutoSDR搭建一个功能完整的FM收音机。从软硬件环境准备、核心流程图构建,到运行调试与效果优化,手把手带你完成从射频信号接收、下变频、FM解调到音频输出的全过程,是入门软件定义无线电(SDR)的绝佳实践项目。

weixin_29189377的博客 750

.xml文件中添加SQL数,返回主键ID

在 .xml文件中写插入的sql语句; <insert id="addUpload" parameterType="int" keyProperty="id" keyColumn="id"> insert into 表名 ( <if test="name != null and name != '' ">name,</if> <if test="path != null and path != '' ">pat

m0_54162653的博客 1348

我用 Python 把 Claude 变成了 “代码审查员“:每次提交前 AI 先 Review,Bug 漏网率降了 80%

这是成败的关键。我们需要给 Claude 立规矩,让它像一个严格的架构师那样思考。你是一名资深的首席软件架构师和安全专家。请审查以下 Git Diff 代码变更。你的任务是:1. **安全性检查**:寻找 SQL 注入、XSS、硬编码密钥、敏感信息泄露等。2. **潜在 Bug**:空指针、资源未关闭、竞态条件、逻辑死循环。3. **代码质量**:命名规范、冗余代码、可读性差、缺乏注释。4. **性能优化**:不必要的数据库查询、低效算法。

BUG猿的博客 145

java ibatis 执行sql_Ibatis在运行期得到可执行到sql

public classIbatisUtil {/*** @Title getSqlStr* @Descript :根据xml中的id得到执行时的sql语句* @date : 2017-08-30 15:07:01*@param*@returnjava.lang.String*@throws*@versionV1.0*/public String getSqlStr(SqlMapClien...

weixin_35779309的博客 258

mpv 源码深度解析:从 MPlayer 遗产到现代媒体播放器架构

做减法优于做加法:不值得维护的功能就移除(DVD 菜单、流缓存等)单线程事件驱动:核心逻辑在单线程中运行,通过 dispatch 队列处理并发分离关注点:demuxer 线程、VO 线程、脚本线程各司其职质量优先:使用 GPU 着色器而非固定功能硬件,默认软件解码(更可靠)可嵌入性:libmpv API 让 mpv 可以作为库嵌入其他应用mpv 是一个用纯 C 实现的、工程质量极高的媒体播放器。它的代码库展示了一个事实:C 语言完全可以通过良好的架构设计来实现复杂的多媒体系统。

世界那么大,我想去看看~【随心更新,看世界去了😄】 90

SAP 角色继承、派生

角色继承、派生 继承:是指两个角色Role形成母子关系。子角色的所有菜单、授权都源于母角色,并与母角色保持一致。母角色与子角色是1对多的关系。 继承关系:新建子角色继承母角色中的事务(后续通过复制,将母角色授权数据复制至子角色) 派生概念:将母角色中的授权数据派生至子角色中。 业务场景:方便批量修改子角色权限。若有继承关系,只需要修改母角色,然后通过母角色派生功能,从而批量修改子角色授权数...

willieyuan的博客 1万+

实现update批量更新多个字段多条记录

前言 由于业务需求需要,一个页面需要刷新一页数据到表里面,这个时候,使用循环update语句完成没有毛病,但是在实际系统使用中是不会这么做的,因为对于数据越大的系统的来说,为了节省系统开销,系统与数据库的连接次数是越少越好。那么,这个时候我们就需要实现用一条SQL语句来update多条记录。 一、技术指南 本案例采用ibatis来写SQL语句 上代码: <update id="updateInfo" parameterClass="java.util.List"> UPDATE

weixin_43976226的博客 6730

[Dify实战] 多轮对话状态管理:上下文保持与槽位填充

本文探讨了基于LLM的对话应用中多轮对话状态管理的核心挑战与解决方案。文章指出,单纯的"能聊"远远不够,关键在于建立有效的状态管理机制,包括上下文保持和槽位填充两大核心能力。通过Dify实战视角,详细阐述了如何设计工程化落地方案:采用混合策略的上下文管理(窗口+摘要+关键槽位)、JSON Schema强约束的槽位抽取、统一状态对象存储、冲突处理机制和优化追问策略。文章特别强调,合理的状态管理能将"聊天"转化为"可执行的业务流程",避免模型成为&qu

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 240

ibatis 动态查询

http://www.iteye.com/topic/393042最近做了很多动态的查询,尤其是排序,以及一些状态字段,所以就做了一个总的动态查询,以不变应万变,呵呵 ibatis 里面的sql代码: Xml代码 <select id="getTopics" resultClass="topic" parameterClass="map"> ...

weixin_30480651的博客 68

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Mybatis杂谈

。

weixin_43189971的博客 270

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

根据sqlId获取Ibatis配置文件中的SQL

[code="java"] import com.ibatis.sqlmap.engine.impl.SqlMapClientImpl; import com.ibatis.sqlmap.engine.mapping.sql.Sql; import com.ibatis.sqlmap.engine.scope.SessionScope; import com.ibatis.sqlmap.e...

xingkaistart的专栏 889

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

iBatis.net中SQL文xml的说明(转载)

使用IBatis之映射XML文件 假设将数据库中名为ItemList的表映射到Asp.Net中的ItemList类,那么XML映射文件如下(映射文件的文件的说明请查看注释说明)     http://www.w3.org/2001/XMLSchema-instance"      xsi:noNamespaceSchemaLocation="SqlMap.xsd">

bigheadsheep的专栏 1977

ibatis中sql xml的基础写法

ibatis中sqlxml的基础写法 在工作中整理的ibatis sql配置文件的一些基础写法。 ibatis sql xml文件基本构成 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="USER">

lewenson的博客 1670

ibatis 插入数据获得主键值

在进行数据的插入时,有的业务需要获得相应的生成的主键值,以下是ibatis的实现方式:有些数据库是预生成(pre-generate)主键的,如Oracle和PostgreSQL;有些是后生成(post-generate)主键的,如MySQL和SQL Server。不管是哪种方式,都可以用iBATIS的节点来获取语句所产生的主键。demo如下:xml 代码  insert id=

com360的专栏 4294

Eclipse添加ibatis DTD文件实现xml的自动提示功能

转自 http://danne823.iteye.com/blog/847706 以iBATIS编写 Sql Map Config 配置文件为例, 添加 sql-map-config-2.dtd 到Eclipse中, 从而获得xml自动的提示的功能, 能更好的按照iBATIS官方定义的规范来编写xml文档.     记住xml中有这么一句话. Eclipse中打开wind

suifengshiyu的专栏 3821

IBATIS总结

iBATIS 学习总结 一、        了解iBATIS 1.什么是iBATIS “一个映射层,在对象和数据库间传递数据,并保持两者与映射层本身独立”  iBatis 不是直接在类和数据表或字段与列之间进行关联,而是把SQL语句的参数和返回结果映射至类。iBatis是出于类和数据表之间的一个中间层。这使得它在类和数据表之间进行映射时更加灵活。 iBATIS 是把SQL语句的参数和返回

duci2的专栏 2505

ibatis中sql-map-config.xml的settings配置

ibatis中sql-map-config.xml的settings配置 cacheModelsEnabled="true" lazyLoadingEnabled="false" enhancementEnabled="true" maxSessions="64" maxTransactions="8" maxRequests="128" useStatementNamespac

hsgao_water的博客 2019

ibatis 获取新增id mysql_IBatis添加信息返当前添加对象ID

在Ibatis中,insert()的返回值为一个Object的主键,其实这个Object的主键是这样的来的:如果在bean的xml文件中设置了插入的keyProperty,则insert()方法返回的就是这个主键的值。例如,所以我们想要在插入时想要插入一个sequence值到数据库的某个字段(当然,这个字段的类型为Number的),我们可以在xml文件中做如下配置(以下为在DB服务器是Oracle...

weixin_29171129的博客 284

ibatis中动态SQL_delete

其实这个不是动态的,不过要写就把CRUD全写一边了,因为IBATIS很简单,就不放 JAVA代码,直接上XML Xml代码   delete id="delete_role_id" parameterClass="java.util.Map">       delete myivr_trole where ROLEID in       iterate open=

Changgo在IT路上的一路风景 997

插入返回ibatis 的selectKey 实现插入数据后获得id

在本篇文章中,我们主要介绍插入返回的内容,自我感觉有个不错的建议和大家分享下   在用使ibatis插入据数进据数库的时候,会用到一些sequence的据数,有些情况下,在插入成完以后还需要将sequence的值返回,然后才能停止下一步的操纵。       用使ibatis的selectKey以可就失掉sequence的值,同时也会将值返回。不过对于不同的据数库有不同的操纵方法。      ...

weixin_33842328的博客 441
上一篇: 发布ss3ex的maven版本,取名叫sango吧
下一篇: ibatis复用sql片段
iteye_6521
博客等级 码龄8年 0粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值