(学习笔记仅帮助自己理解记忆,部分内容可能存在理解错误,如有发现,还望指出)
主要为接口与sql映射文件之间各类型参数传递与在sql语句中获取的一系列操作;
当传递1个或多个参数时:
//条件查询
返回值类型 方法名(数据类型 形参名,...);
可使用注解org.apache.ibatis.annotations包下的Param
//条件查询
返回值类型 方法名(@Param("别名") 数据类型 形参名,...);
在sql映射文件中的获取:
<select id="selByCdt" resultType="pojo.Smbms_User">
SELECT * FROM 表名
WHERE 列名 LIKE CONCAT('%',#{注解起的别名},'%')
</select>
当传递参数为对象时:
在sql映射文件中的获取:
<insert id="addUser" parameterType="类的全路径">
INSERT INTO smbms_user(userCode,userName)
VALUES(#{类的属性},#{类的属性})
</insert>
当传递参数为HashMap时:
在sql映射文件中的获取:
<select id="selBuCdtUseMap" resultType="pojo.Smbms_User">
SELECT * FROM smbms_user
WHERE userName LIKE
CONCAT('%',#{Key值},'%') AND gender=#{Key值}
</select>
当传递参数为ArrayList时:
在sql映射文件中的获取:
<select id="selUseAryList" resultType="pojo.Smbms_User">
SELECT * FROM smbms_user
WHERE userRole in(#{list[索引]},#{list[索引]})
</select>
当传递参数为数组时:
在sql映射文件中的获取:
<select id="selUseAry" resultType="pojo.Smbms_User">
SELECT * FROM smbms_user
WHERE userRole in(#{array[索引]},#{array[索引]})
</select>
PS:所有类型参数都可以加注解起别名,在取参数是对应每种类型的取值方式即可