码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis基础(二)

时间:2015-10-12 19:29:55      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:mybatis

上接mybatis基础(二)


开发规范:

1、在mapper.xml中namespace等于mapper接口地址

技术分享

2、mapper.java接口中的方法名和mapper.xml中statement的id一致

3、mapper.java接口中的方法输入参数类型和mapper.xml中statement的parameterType指定的类型一致。

4、mapper.java接口中的方法返回值类型和mapper.xml中statement的resultType指定的类型一致。

技术分享

技术分享

技术分享

9.properties属性

MyBatis 将按照下面的顺序来加载属性:

properties 元素体内定义的属性首先被读取。

然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。

最后读取parameterType传递的属性,它会覆盖已读取的同名属性。

建议:

不要在properties元素体内添加任何属性值,只将属性值定义在properties文件中。

在properties文件中定义属性名要有一定的特殊性,如:XXXXX.XXXXX.XXXX

10.别名用法

在SqlMapConfig.xml中可以给类定义别名,如定义pojo类别名

技术分享

11.定义包装类pojo

完成用户信息的综合查询,需要传入查询条件很复杂(可能包括用户信息、其它信息,比如商品、订单的)

针对上边需求,建议使用自定义的包装类型的pojo。在包装类型的pojo中将复杂的查询条件包装进去。

技术分享

技术分享

12.输出映射resultType与resultMap

a.使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。

如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象。

只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象。

b.如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。1、定义resultMap;2、使用resultMap作为statement的输出映射类型.

技术分享

技术分享

14.sql片段

将上边实现的动态sql判断代码块抽取出来,组成一个sql片段。其它的statement中就可以引用sql片段。

方便程序员进行开发。先定义sql片段:

技术分享

15.foreach标签

向sql传递数组或List,mybatis使用foreach解析。

如SELECT * FROM USER WHERE id=1OR id=10 OR id=16

SELECT * FROM USER WHERE idIN(1,10,16)可以用此标签来遍历id的值

a.在输入参数类型中添加List<Integer>ids传入多个id

技术分享

技术分享

本文出自 “java” 博客,请务必保留此出处http://haoxiaoli.blog.51cto.com/8691383/1702126

mybatis基础(二)

标签:mybatis

原文地址:http://haoxiaoli.blog.51cto.com/8691383/1702126

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!