MyBatis
MyBatis
吃兔纸不吐毛 发表于1年前
MyBatis
  • 发表于 1年前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

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
博文 44
码字总数 27602
×
吃兔纸不吐毛
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: