文档章节

MyBatis

吃兔纸不吐毛
 吃兔纸不吐毛
发布于 2016/12/09 16:09
字数 465
阅读 1
收藏 0
点赞 0
评论 0

1.把resultMap定义成集合,集合里面还可以定义实体类的resultMap

<!--  这种情况适用于接受的实体类属性是个集合,集合里包含别的实体类,比如最近使用的XStream框架就适用这种情况,XStream框架定义接收的类属性为集合,然后直接把这个类变成xml问件  -->
<resultMap id="execPlanListMap" type="com.nielsen.sfa.model.ExecPlanList">
    <collection property="execPlanList" ofType="com.nielsen.sfa.model.ViewExecPlanDetail" javaType="ArrayList" resultMap="viewExecPlanDetailMap"/>
</resultMap>

2.集合嵌套查询和集合嵌套结果

参考链接:http://www.tuicool.com/articles/BfyQRb6

<!-- 集合嵌套查询是在<collection>标签中增加select属性,嵌套引用额外的<select> -->
<collection select="xxid">
<!-- 集合嵌套结果是在<collection>标签中增加resultMap属性,自动装填得到集合 -->
<collection resultMap="xxMap">
<!-- 各有优缺点,看情况用 -->

3.SQL转义部件

<!-- 这是XML语法,Java mybatis框架的mapping文件是XML格式的,用于忽略解析特殊符号,通常可以忽略"<"、">"、"&" -->
<![CDATA[   value < 100   ]]>

4.insert后获得该记录在数据库自动生成的主键

<!--  useGeneratedKeys该属性会告诉Mybatis使用JDBC的getGeneratedKeys方法来取出由数据(比如:像Mysql和Sql server这样数据库管理系统的自动递增字段)内部生成的主键。默认值:false  -->
<!--  keyProperty属性设置你要返回的ID到Java对象属性  -->
<insert id="addImage" parameterType="com.nielsen.sfa.model.SurveyImageDetail" useGeneratedKeys="true" keyProperty="surveyImageDetailId">
	<!--  SQL语句  -->
</insert>

5.<if>标签

<!-- 判断集合不为空 -->
<if test="listName != null and listName.size() > 0" >
	
</if>

<!-- 判断字符串不为空 -->
<if test="strName != null and strName != ''" >
	
</if>

6.<foreach>标签

<!-- collection: 传进来的集合的参数名 -->
<!-- item: 在list和数组中是其中的对象,在map中是value -->
<!-- open: 以"("开始 -->
<!-- separator: 以","作为分隔符 -->
<!-- close: 以")"结束 -->
<!-- 比如参数是List<Map<String, Object>>格式的,先在外面parameterType="java.util.Map",然后collection="list" item="map" 最后调用-->
<foreach collection="list" item="map" open="(" separator="," close=")">
	#{map.xxid}
</foreach>

 

© 著作权归作者所有

共有 人打赏支持
吃兔纸不吐毛
粉丝 1
博文 54
码字总数 28636
作品 0
杭州

暂无相关文章

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 45分钟前 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 56分钟前 ⋅ 0

如何将S/4HANA系统存储的图片文件用Java程序保存到本地

我在S/4HANA的事务码MM02里为Material维护图片文件作为附件: 通过如下简单的ABAP代码即可将图片文件的二进制内容读取出来: REPORT zgos_api.DATA ls_appl_object TYPE gos_s_obj.DA...

JerryWang_SAP ⋅ 今天 ⋅ 0

云计算的选择悖论如何对待?

导读 人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云...

问题终结者 ⋅ 今天 ⋅ 0

637. Average of Levels in Binary Tree - LeetCode

Question 637. Average of Levels in Binary Tree Solution 思路:定义一个map,层数作为key,value保存每层的元素个数和所有元素的和,遍历这个树,把map里面填值,遍历结束后,再遍历这个map,把每...

yysue ⋅ 今天 ⋅ 0

IDEA配置和使用

版本控制 svn IDEA版本控制工具不能使用 VCS-->Enable Version Control Integration File-->Settings-->Plugins 搜索Subversion,勾选SVN和Git插件 删除.idea文件夹重新生成项目 安装SVN客户......

bithup ⋅ 今天 ⋅ 0

PE格式第三讲扩展,VA,RVA,FA的概念

作者:IBinary 出处:http://www.cnblogs.com/iBinary/ 版权所有,欢迎保留原文链接进行转载:) 一丶VA概念 VA (virtual Address) 虚拟地址的意思 ,比如随便打开一个PE,找下它的虚拟地址 这边...

simpower ⋅ 今天 ⋅ 0

180623-SpringBoot之logback配置文件

SpringBoot配置logback 项目的日志配置属于比较常见的case了,之前接触和使用的都是Spring结合xml的方式,引入几个依赖,然后写个 logback.xml 配置文件即可,那么在SpringBoot中可以怎么做?...

小灰灰Blog ⋅ 今天 ⋅ 0

冒泡排序

原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第...

人觉非常君 ⋅ 今天 ⋅ 0

Vagrant setup

安装软件 brew cask install virtualboxbrew cask install vagrant 创建project mkdir -p mst/vmcd mst/vmvagrant init hashicorp/precise64vagrant up hashicorp/precise64是一个box......

遥借东风 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部