ibatis select 标签详解
select的输入和输出
例如 select id,name,age from user where name like '%王%' and age>20
这里既有输入也有输出
select的属性
id,parameterClass,resultClass,parameterMap,resultMap,cacheModel
resultSetType,fetchSize,xmlResultName,remapResults,timeout
输入 parameterClass,ParameterMap
resultSetTYpe为结果集类型,主要是说游标,具有方向性,可以取
forward_only,scoll_insensitive,scoll_sensitive,具体情况具体配置
fetchSize 预取回数据量的大小
xmlResultName,返回result为xml的名称
如果返回的结果可以修改则吧remapResults设为true,否则设为false
输入,用参数带进来
可以是#,$做为占位符
不同占位符使用
<select id="getAllUsers1" resultClass="com.mypackage.User"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<select id="getAllUsers1" resultClass="com.mypackage.User"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT like '$department$'
</select>
#不能放在‘’之内
resultMap
<!-- 无映射 -->
<select id="getAllUsers1" resultClass="User"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<!-- 内联映射->实体类 -->
<select id="getAllUsers2" resultClass="User"
parameterClass="string">
SELECT USERID as userid, USERNAME as username, PASSWORD as
password, DEPARTMENT as department FROM USER WHERE
DEPARTMENT=#department#
</select>
<!-- 内联映射->MAP类 -->
<select id="getAllUsers3" resultClass="hashmap"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<!-- 显示映射->实体类 -->
<resultMap id="accoutResult" class="User">
<result property="userid" column="USERID" />
<result property="username" column="USERNAME" />
<result property="password" column="PASSWORD" />
<result property="department" column="DEPARTMENT" />
</resultMap>
<select id="getAllUsers4" resultMap="accoutResult"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<!-- 显示映射->MAP类 -->
<resultMap id="mapResult" class="hashmap">
<result property="userid" column="USERID" />
<result property="username" column="USERNAME" />
<result property="password" column="PASSWORD" />
<result property="department" column="DEPARTMENT" />
</resultMap>
<select id="getAllUsers5" resultMap="mapResult"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
map映射 ,返回的list里的每一项都是一个map然后有键值对
xml映射
<!-- XML -->
<select id="selectXML" parameterClass="string" resultClass="xml"
xmlResultName="log">
SELECT * FROM USER_ACCOUNT WHERE GROUPNAME=#groupName#
</select>
resultClass="xml"这个xml也是预定义好的类
在测试类里调用后返回的是xml格式的字符串,指定的xmlResultName相当于xml的
根元素
返回结果有三类,1 返回直接指定的类 2 返回map类型 3 返回xml
分享到:
相关推荐
iBatis动态SQL标签用法 iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,...
通过在 `<select>` 标签中设置 `remapResults="true"`,可以有效地解决IBatis缓存动态字段带来的问题。这不仅避免了因缓存错误而导致的查询失败,还确保了程序能够灵活地处理动态表名和字段名。同时,需要注意的是,...
在ibatis中,`<dynamic>`标签是用来构建动态SQL的核心元素之一。当使用`<dynamic>`标签时,可以将一系列条件组合起来,根据参数的不同值来决定是否加入到最终的SQL语句中。例如,在给定的部分内容中,可以看到`...
例如,`<select>`标签用于定义查询语句,`<insert>`、`<update>`和`<delete>`分别对应增删改操作。在SQL映射文件中,可以使用动态SQL来处理复杂的查询条件,如`<if>`、`<choose>`、`<when>`、`<otherwise>`等标签。 ...
4. **动态SQL**:Ibatis的动态SQL功能非常强大,可以在XML映射文件中通过`<if>`、`<choose>`、`<when>`、`<otherwise>`、`<where>`等标签实现条件判断,使得SQL语句更加灵活。 5. **参数映射**:Ibatis支持多种方式...
在 `select` 标签中,你可以使用 `<if>`、`<choose>`、`<when>`、`<otherwise>` 和 `<where>` 等标签来构建动态 SQL,根据传入参数的不同组合生成不同的 SQL 语句。 5. **单对象查询** 当需要查询单个对象时,可以...
例如,你可以通过使用`<if>`、`<choose>`等标签来编写条件语句,通过`<resultMap>`来定义复杂的对象关系映射。 学习Ibatis,不仅能够提高开发效率,还能使代码更加清晰、易于维护。随着对Ibatis的深入理解和实践,...
例如,`<select>`标签用于定义一个查询语句,可以包含SQL语句和其返回的结果集映射;`<insert>`标签则用于插入操作,允许指定动态SQL和返回的自增主键值;`<update>`和`<delete>`分别对应更新和删除操作,同样支持...
5. **自动生成select语句**:在<select>标签处,按Alt+Enter选择Generate result for resultMap or resultClass,插件会根据parameterClass或parameterMap自动生成对应的select语句。 6. **SqlMapClient方法调用的...
根据提供的文件信息,本文将对ibatis常用的SQL语句进行详细的解析与说明。这些SQL语句主要用于Oracle数据库中,涉及到了删除、插入以及查询等基本操作,并且在ibatis框架中实现了参数化处理。 ### 一、删除操作 ...
2. 编写 SQL 映射:在 XML 文件中编写 SQL 语句,通过 `<select>`、`<insert>`、`<update>`、`<delete>` 等标签进行操作。 3. 映射接口与 XML 关联:在 XML 文件中通过 `<mapper>` 标签指定接口全限定名。 4. ...
【标签】"ibatis jar java" 对于Java开发者来说,正确地引入iBATIS的jar包到项目中是至关重要的。在Java环境中,通常将`ibatis-2.3.4.726.jar`添加到项目的类路径(Classpath)中,这样就可以在代码中直接使用...
标签:ibatis list 部分内容:这段部分提供了ibatis用户指南的警告,关于从文档复制代码的问题,以及ibatis的概述、如何开始使用ibatis、构建SqlSessionFactory的方法(包括通过XML和不使用XML的方式)、获取...
例如,使用`<if>`、`<choose>`、`<when>`、`<otherwise>`等标签来构建动态查询。 **八、性能优化** 通过合理的缓存策略、批处理和预编译SQL等手段,IBatis可以在不影响灵活性的同时提供良好的性能。 总结,IBatis ...
4. 映射文件与接口绑定:Ibatis 支持Mapper接口,通过`@Select`、`@Insert`、`@Update`、`@Delete`等注解,将SQL语句直接写在方法上,简化了编程模型。同时,通过Mapper工厂,可以根据接口生成具体的Mapper实例,...
- **iBATIS v2** 和 **iBATIS v3**:分别使用`<select>`、`<update>`等标签来明确指定SQL语句类型。 这样的改变使得SQL语句的定义更加清晰直观,也更易于维护。 - **参数表示:** - **iBATIS v1** 和 **iBATIS...
4. **动态SQL**:iBatis支持动态SQL,可以在XML中使用if、choose、when、otherwise等标签实现条件判断。 5. **使用SqlSession**:在Java代码中,通过SqlSessionFactory创建SqlSession对象,然后通过SqlSession执行...
- `<select>` 标签用于查询,其中包含 SQL 语句,并设置 `resultClass` 属性指定返回结果的类型。 - `<insert>` 标签用于插入数据,设置 `parameterClass` 指定输入参数类型。 - `<update>` 标签用于更新数据。 - `...
通过定义`<select>`, `<insert>`, `<update>`, `<delete>`等标签,可以声明SQL语句,并且可以设置参数映射和结果集映射,使得输入的数据对象(如POJO或Map)能够与SQL的WHERE子句对应,而查询结果则可以自动映射回...
在iBatis中,我们可以使用`<select>`标签来定义多表查询的SQL语句。 ### 3. 使用`<include>`标签 为了保持SQL语句的整洁和可重用性,可以使用`<include>`标签将公共部分的SQL语句提取出来。这样在多个查询中引用同...