标签:
<?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
标签:
原文地址:http://www.cnblogs.com/ShanHeDiao/p/4795556.html