`
san586
  • 浏览: 134727 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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);

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    sqlserver Ibatis XML自动生成工具

    SQLServer Ibatis XML自动生成工具是一款实用的开发辅助软件,主要针对Java开发人员,特别是那些在项目中使用Ibatis作为持久层框架的开发者。这款工具能够显著提高开发效率,通过自动化的方式生成Ibatis所需的XML...

    ibatis用xml配置文件配置使用

    通过上述步骤,你可以在iBATIS中使用XML配置文件进行SQL操作。对于复杂场景,如多表联查、分页、存储过程等,你可以继续深入学习XML配置文件的高级用法,例如使用`<association>`, `<collection>`处理嵌套结果,使用...

    Struts+Spring+iBATIS做的XML文件操作例子

    例如,当用户请求查看特定用户信息时,Struts的Action类会根据请求参数(如用户ID)调用Spring中的Service方法,该方法再利用iBATIS的DAO获取数据库中的数据,然后将结果返回给Action,最终由Action将数据传递给JSP...

    iBATIS-XmlParser

    iBATIS 是一款著名的开源Java持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,从而实现数据库操作与业务逻辑的解耦。"iBATIS-XmlParser" 指的是iBATIS框架中解析XML配置文件的部分,这部分主要负责读取和...

    ibatis的dynamicSQL中,关于prepend的使用

    在探讨ibatis中的动态SQL(Dynamic SQL)及`prepend`的使用时,我们首先需要对ibatis有一个基本的理解。ibatis是一种开源的数据访问层框架,它简化了Java应用程序与数据库之间的交互过程。通过使用XML配置文件来定义...

    ibatis常用的sql

    这条SQL语句的作用是从`MemberAccessLog`表中根据成员ID、开始时间和结束时间统计每个动作ID(`actionId`)出现的次数。这里的`#memberId#`, `#start#`, `#end#`等都是从传入的`HashMap`对象中获取的键值对。 ### 四...

    ibatis sql 语句的编写

    在ibatis中,可以通过XML配置文件或者注解的方式定义SQL语句。以下是一些常见的SQL语句类型及其编写方式: ##### 3.1 查询(SELECT) 查询操作是最常见的数据库操作之一,用于从数据库中检索数据。 ```xml ...

    ibatis的sql-map dtd

    在Ibatis中,`sql-map`和`sql-map-config`是两个重要的XML配置文件,它们使用DTD(Document Type Definition)来定义其结构和规则。 DTD是XML文档类型定义,它定义了XML文档的合法构建块,包括元素、属性、实体等,...

    ibatis sql语句对条件中特殊字符% # 处理

    在ibatis框架中,开发者经常需要根据用户的输入来动态构建SQL查询语句。例如,在实现模糊查询功能时,用户的搜索关键词可能包含SQL中的特殊字符,比如`%`、`_`等。如果不做任何处理,这些特殊字符将会被SQL引擎视为...

    ibatis教程_查询指定id的单个对象

    这里的`#{id}`是Ibatis的参数占位符,它会自动将Java方法中的参数值注入到SQL中。 在查询指定id的单个对象时,Ibatis提供了`<select>`标签,用于定义SQL查询。标签内可以设置id属性,对应Mapper接口中的方法名,...

    ibatis总结 ibatis ibatis ibatis ibatis

    例如,`select * from PRODUCT where PRD_CAT_ID = #{value}`中的`#{value}`是预编译参数,能有效防止SQL注入。 总结,Ibatis提供了灵活的SQL映射机制,使得开发人员能够更好地控制SQL的执行。同时,通过与Struts和...

    Ibatis常用sql语句

    根据给定的文件信息,以下是对“Ibatis常用SQL语句”的详细解析,涵盖了一系列Ibatis在数据操作中的应用实例。 ### Ibatis简介 Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让...

    ibatis UPDATE 动态XML与insert

    标题 "ibatis UPDATE 动态XML与insert" 涉及到的是MyBatis框架中对数据库数据进行更新(UPDATE)和插入(INSERT)操作的动态XML配置方式。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,...

    IBATIS中,要查询出来的属性来自哪个xml,就把这个方法写在该xml下

    在这个例子中,我们有一个名为`findBOOK`的方法,其功能是从`BOOK`表中根据`ID`查询`TITLE`字段的值。根据iBatis的设计原则,这样的SQL语句应该被放置在其对应的实体类的映射文件中,即`BOOK.xml`文件。 **具体步骤...

    Ibatis查询Id列表.doc

    根据提供的文档信息,我们可以深入探讨Ibatis框架中的一个具体应用场景:如何通过动态SQL查询特定条件下的ID列表。本文将从以下几个方面进行详细解析: ### 一、Ibatis简介 Ibatis是一个基于Java的持久层框架,它...

    iBATIS-SqlMaps2入门代码文档

    ### iBATIS-SqlMaps2入门代码文档知识点详解 #### 一、简介 iBATIS-SqlMaps2是一款用于简化Java应用程序与数据库交互过程的框架。该框架通过配置文件定义了对象关系映射规则,使得开发者能够更加专注于业务逻辑而...

    ibatis16个常用sql语句

    在iBatis中,SQL语句是通过XML文件来配置的。下面是16个常用的iBatis SQL语句,涵盖了基本的CRUD(Create、Read、Update、Delete)操作。 1. 删除语句 在iBatis中,删除语句可以使用`<delete>`元素。例如: ```xml...

    ibatis拼接字符串

    在本篇文章中,我们将深入探讨如何使用 Java 编程语言结合 iBatis 框架进行 SQL 字符串的动态拼接。通过分析提供的代码片段,我们可以了解到在实际开发过程中,这种动态 SQL 的构建方式非常常见,尤其是在处理复杂的...

    ibatis中iterate的例子

    在Java Web开发中,iBatis(现在称为MyBatis)是一个流行的持久层框架,它提供了灵活的SQL映射机制,使得数据库操作更加便捷。在iBatis中,`<iterate>`标签是一个非常实用的功能,它允许我们处理集合数据,如数组、...

Global site tag (gtag.js) - Google Analytics