<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd"> <mapper namespace="org.phf.mapping.UserMapper"> <!--开启缓存-->
<cache />
<!--
select 查询语句是使用 MyBatis 时最常用的元素之一。
id(方法)是 get, parameterType(参数类型)是Integer, resultType(返回类型)是 User对象,其属性就是列名,值是列对应的值。
-->
<select id="find" parameterType="Integer" resultType="User">
SELECT * FROM TB_USER WHERE ID = #{id}
</select>
<!--单条数据返回类型可以是HashMap,key为列名,value为值 -->
<select id="findMap" parameterType="Integer" resultType="HashMap">
SELECT * FROM TB_USER WHERE ID = #{id}
</select> <!-- 返回多条数据时会自动封装成List集合返回-->
<select id="findAll" resultType="User">
SELECT * FROM TB_USER
</select> <!-- 最多接受一个参数,所以多个参数可以封装成对象传参,可进行判断处理-->
<select id="findWithIf" parameterType="User" resultType="User">
SELECT * FROM TB_USER
<where>
<if test="name!= null">name = #{name}</if>
<if test="age!= null">and age = #{age}</if>
</where>
</select>
<!-- 多个键值对参数也可以用map传参,key对应列名-->
<select id="findByNameAndAge" parameterType="Map" resultType="User">
SELECT * FROM TB_USER
<where>
<if test="name!= null">name = #{name}</if>
<if test="age!= null">and age = #{age}</if>
</where>
</select>
<!-- 多个单值参数也可以用List传参,循环处理-->
<select id="findWithIn" parameterType="list" resultType="User">
SELECT * FROM TB_USER WHERE id IN
<foreach item="item" index="index" collection="list"
open="(" separator="," close=")">
#{item}
</foreach>
</select>
<!-- 多个单值参数也可以用List传参,循环处理-->
<select id="findWithLike" parameterType="String" resultType="User">
<bind name="pattern" value="'%' + _parameter + '%'" />
SELECT * FROM tb_user
WHERE name LIKE #{pattern}
</select> </mapper>

实体类User可在mybatis-config.xml文件中增加配置来完成全局的配置即可,例如:

<typeAliases>
<typeAlias alias="User" type="com.ken.pojo.User" />
</typeAliases>
list、array和map的foreach可参考http://www.cnblogs.com/ShanHeDiao/p/4795459.html

最新文章

  1. Python拾忆--多线程的socket服务器
  2. linq 多条件查询
  3. paip.语义相关是否可在 哈米 的语义分析中应用
  4. Arduino 学习
  5. CentOS 5.x版本升级Mysql
  6. asp.net ajax 检测用户名是否可用代码
  7. 将n进制的数组压缩成字符串(0-9 a-z)同一时候解压
  8. C++—程序的内存分区
  9. flask项目结构(三)使用蓝图
  10. [Leetcode 104]求二叉树的深度Depth of BinaryTree
  11. 裴(pei)蜀定理 知识点
  12. HDU 2022 海选女主角
  13. DragonBones龙骨骨骼中的自定义事件(另有声音、动画事件)
  14. 【BZOJ】1627: [Usaco2007 Dec]穿越泥地(bfs)
  15. JavaScript数组自定义属性
  16. Hibernate数据连接不能正常释放的原因,以及在监听中获取apolicationContext上下文
  17. UIImagePickerController在UIPopoverController中 旋屏问题
  18. [置顶] STM32的ADC1采集多条通道,可以不使用DMA功能吗?
  19. 2018.10.4 AndroidStudio
  20. spring配置数据库连接池

热门文章

  1. FastDFS配置文件(storage.conf)
  2. sql records
  3. NYOJ-32 组合数 AC 分类: NYOJ 2013-12-30 07:42 189人阅读 评论(0) 收藏
  4. 疑难杂症rendering(对角线上的线)
  5. 使用Provider时提示:Unable to get provider...
  6. sublime text3使用心得及个人配置 sublime常用快捷键大全
  7. topcoder 643 DIV2
  8. IT架构之IT架构模型——思维导图
  9. 【C++】指针数组和数组指针
  10. VS2010中出现无法嵌入互操作类型