- 浏览: 1047824 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (605)
- 数据挖掘 (22)
- spring (40)
- 工具使用 (39)
- java (137)
- JavaScript (40)
- webwork (12)
- web (120)
- 资源 (7)
- SSH (5)
- oracle (20)
- J2ME (1)
- 环境配置 (37)
- 项目管理 (29)
- mysql (14)
- struts (4)
- 项目总结 (27)
- ibatis学习 (33)
- 学习计划 (2)
- 缓存 (7)
- 重构 (3)
- Android (1)
- jquery (12)
- UML (3)
- 用户体验 (4)
- 习惯 (7)
- sakai (1)
- urlrewrite (4)
- rss (5)
- C plus plus (5)
- 算法 (5)
- 海量数据处理 (7)
- office(word、excel) (1)
- 面试题 (3)
- solr (8)
- 大数据 (2)
最新评论
-
hujin19861102:
截图看不见,最后一个webwrok的配置看不见
Ext+Webwork+Json 实现分页表格查询效果 -
蜗牛笔:
弱弱的问一句,要是分出来的词在词典中没有,那么两部分的pos- ...
ICTCLAS 中科院分词系统 -
weipeng1986:
授人予鱼不如授人予鱼,我想问你的是你是怎么总结的。比如第四种情 ...
JAVA中字符串连接效率的测试 -
xiaoqiang2008:
执行两次的原因是什么,好像楼主没弄清楚啊!是不是在web.xm ...
关于Spring中用quartz定时器在定时到达时同时执行两次的问题 -
Kent_Mu:
...
ibatis-dynamic的用法
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
输入,用参数带进来
可以是#,$做为占位符
不同占位符使用
- <SPAN style="FONT-SIZE: small"><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>
- </SPAN>
<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
- <SPAN style="FONT-SIZE: small"><!-- 无映射 -->
- <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>
- </SPAN>
<!-- 无映射 -->
<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映射
- <SPAN style="FONT-SIZE: small"><!-- XML -->
- <select id="selectXML" parameterClass="string" resultClass="xml"
- xmlResultName="log">
- SELECT * FROM USER_ACCOUNT WHERE GROUPNAME=#groupName#
- </select>
- </SPAN>
<!-- 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
发表评论
-
list in传参 与批量插入 批量更新
2017-04-01 10:48 812传入一个map的参数,map里有一个tenantIds的Lis ... -
ibatis in ##的问题
2012-11-02 13:25 838http://www.hake.cc/a/biancheng/ ... -
ibatis缓存强制刷新与命中率
2012-10-19 19:06 1390缓存强制刷新: // spring注入 private Sq ... -
数据日志记录讨论
2011-10-26 18:51 949详情见附件中的PPT -
Ibatis的类型处理器TypeHandler解析
2011-10-24 16:28 3320原文来自: http://blog.csdn.net/lovi ... -
ibatis mysql 字段 tinyint(1) map应用要小心
2011-10-20 18:18 3995http://www.mysqlab.net/docs/ref ... -
spring+ibatis注解方式注入
2011-10-15 17:24 1022http://www.cnblogs.com/archie20 ... -
webwork+spring+ibatis注解培训文档
2011-08-15 17:26 1389今天整理了 spring 注解的使用,主要是结合公司 ... -
ibatis知识点收藏
2011-07-08 23:11 8921. 原来如此,所以在遍历之前要设置被跌代对象 h ... -
iBATIS自动生成主键
2011-07-08 22:50 990我们在数据库插入一条 ... -
ibatis配置log4j输出sql语句等日志信息
2011-07-08 22:47 1602总结步骤如下: 建立一个log4j.properties文 ... -
iBATIS一对多/多对多N+1问题解决方案
2011-07-08 22:30 1203对于iBATIS一对多/多对多的问题,传统的办法是在一对多/多 ... -
强制刷新Ibatis中的缓存(OSCache)
2011-07-08 22:21 1446持久层使用Ibatis,并开启动缓存 后台画面可用如下代码强制 ... -
让sqlmap文件 "继承" 起来
2011-07-08 22:18 1446多个项目中使用ibatis , 和数据库表对应的 sqlmap ... -
Ibatis比较少人使用的配置语法
2011-07-08 22:12 1646简单来说,ibatis3虽然没有ognl,不过也支持基本的表达 ... -
ibatis查询返回java.util.HashMap结果列表
2011-07-08 22:00 8208DAO的实现类中的代码: Java代码 ... -
ibatis使用总结(转)
2011-05-27 23:21 1555SqlMap的配置是iBatis中应 ... -
ibatis配置详解
2011-05-27 10:26 1116ibatis配置详解 ibatis与hi ... -
ibatis配置文件的namespace
2011-05-27 10:20 2904ibatis的配置文件中有一个命名空间的属性,如<sql ... -
ibatis配置多表关联(一对一、一对多、多对多)
2011-05-27 08:41 1348iBatis的多表关联。 ibatis的表关联,和数据库语句 ...
相关推荐
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语句提取出来。这样在多个查询中引用同...