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.engine.scope.StatementScope;
import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement;
/**
* 获取SQL
* ibatais根据sqlMap的Id获取sql语句
* @param sqlId 是xml文件配置的ID
* @return sql语句 以“$”注入的会自动转换,“#”不会
*/
public static String getSql(SqlMapClientImpl sqlclientImpl,String sqlId,Object params){
String sqlStr = "";
/**获取隐身对象*/
MappedStatement stmt = sqlclientImpl.getMappedStatement(sqlId);
Sql sql = stmt.getSql();
/**获取规则*/
SessionScope sessionScope = new SessionScope();
sessionScope.incrementRequestStackDepth();
StatementScope statementScope = new StatementScope(sessionScope);
stmt.initRequest(statementScope);
/**获取sql映射对象*/
sqlStr = sql.getSql(statementScope, params);
log.debug("sqlMap:"+sqlId);
log.debug("sql:"+sqlStr);
return sqlStr;
}
以上便是获取sql语句的方法。
也许有些地方看不明了,在这里增加一点点解释。
传参:
SqlMapClientImpl 就是指的我们平时使用的 SqlMapClient 当然在传这个参数需要强制类型转换 如: SqlMapClientImpl temp = (SqlMapClientImpl)sqlMapClient;
String sqlId 指的 就是 我Ibatais.sqlMap.xml中定义的SQL的Id
Object params 这个参数指的是sqlMap.xml中 如<insert parameterClass="params">..</insert>的parameterClass传入的对象,如果没有可以为null。
分享到:
相关推荐
通过上述解析,我们可以看出ibatis配置文件在ibatis框架中的核心地位,它不仅定义了数据源和事务管理策略,还指定了SQL映射文件的位置,使得ibatis能够根据配置正确地执行SQL语句,完成数据库操作。
通过上述步骤,你可以在iBATIS中使用XML配置文件进行SQL操作。对于复杂场景,如多表联查、分页、存储过程等,你可以继续深入学习XML配置文件的高级用法,例如使用`<association>`, `<collection>`处理嵌套结果,使用...
### ibatis配置文件信息 #### 一、简介 在Java开发领域中,ibatis(现称为MyBatis)是一款优秀的持久层框架,它通过XML或注解的方式将接口方法与SQL语句绑定起来,实现对象关系映射(ORM)功能。ibatis的主要优势...
下面我们将详细探讨Ibatis配置文件模板中的关键组成部分,包括`SqlMap.properties`、`SqlMapConfig.xml`以及与JavaBean的映射文件。 1. **SqlMap.properties** 这是Ibatis的属性配置文件,主要用于存放数据库连接...
它会根据配置文件中的设置,连接到MySQL数据库,读取表结构,并自动创建对应的Java实体类和iBatis配置文件。 5. **整合到项目**: 将生成的Java文件和XML文件引入到你的项目中,然后就可以在代码中直接使用这些实体...
例如,使用like关键字配合SQL中的通配符“%”,可以在“name”字段上执行模糊匹配。在文档中,可以看到一个模糊查询的例子,如果name不为空,则SQL语句会增加一个name LIKE '%输入值%'的条件。 5. date时间段:在很...
在传统的XML配置文件中,Ibatis允许我们定义SQL语句、参数映射以及结果集映射。然而,随着Java注解的普及,Ibatis也支持使用注解来进行配置,使得代码更加简洁易读。 1. **@Select**: 这个注解用于标记一个方法,该...
命名空间是iBatis配置中的一个重要概念,它用于区分不同的SQL映射文件。例如,`<sqlMap namespace="Account">`,在这个命名空间内定义的所有SQL语句和其他元素都属于Account模块。如果要在其他地方引用这个命名空间...
总结来说,SQLServer Ibatis XML自动生成工具是Java开发中的得力助手,尤其适合于处理Ibatis的XML映射文件生成。它通过自动化的方式,帮助开发者快速创建和维护数据库操作的映射文件,从而提高开发速度,降低错误率...
其主要组成部分包括:SqlMapConfig.xml(全局配置文件)、Mapper.xml(SQL映射文件)以及对应的.NET接口或实体类。 配置数据库连接: 在使用IBatis.net时,首要任务是配置数据库连接。全局配置文件SqlMapConfig.xml...
5. **配置Mapper扫描**:在Spring配置文件中,扫描Mapper接口,使其能够被Spring管理。 ```xml ``` 6. **Service层实现**:在Service层中,注入Mapper接口,通过接口方法调用SQL。 7. **Controller层...
举个例子,假设我们有一个用户ID的列表,我们需要查询这些ID对应的所有用户信息,可以这样配置iBatis的映射文件: ```xml <select id="selectUsersByIds" parameterType="java.util.List" resultType=...
在Ibatis中,`sql-map`和`sql-map-config`是两个重要的XML配置文件,它们使用DTD(Document Type Definition)来定义其结构和规则。 DTD是XML文档类型定义,它定义了XML文档的合法构建块,包括元素、属性、实体等,...
- `applicationContext.xml`是Spring的主配置文件,它定义了Spring容器中的bean,包括对Struts、Ibatis等其他框架的配置,实现各组件间的依赖注入。 - `codelist.xml`则可能包含了全局共享的bean,如`...
一、Ibatis配置文件 Ibatis的主要配置文件是`mybatis-config.xml`,它是整个系统的全局配置文件。这个文件中包含了数据源、事务管理器、环境配置、Mappers等重要元素的定义。例如: ```xml <environment id=...
通过使用XML配置文件来定义SQL查询语句,并结合Java对象映射关系,ibatis提供了一种灵活的方式来处理数据库操作。其中,动态SQL是ibatis的一个非常强大的特性,允许开发者根据不同的条件构建出复杂的SQL查询语句。 ...
在全局配置文件中,你可以选择JDBC或MANAGED作为事务管理器。JDBC事务管理需要手动提交或回滚,而MANAGED则由容器(如Spring)管理。 6. **参数绑定和结果映射** Ibatis支持多种参数绑定方式,如#{param}(预编译...
这个文件则是Ibatis配置文件的DTD,它规定了如何配置数据源、事务管理器、SqlSessionFactory等核心组件。配置文件中,你可以定义`<transactionManager>`来设置事务管理策略,`<dataSource>`来指定数据源,以及`...