mybatis-xml映射文件及mybatis动态sql
规范
XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)。
XML映射文件的namespace属性为Mapper接口全限定名一致。
XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致。
使用情况
当sql语句比较复杂的时候可以选择xml的形式,但是当sql语句比较简单可以直接使用mapper中的注解写sql
动态sql标签
if
<if>:用于判断条件是否成立,使用test属性进行条件判断,如果条件为true,则拼接sql
<where>:where元素只会在子元素有内容的情况下才插入where子句,而且会自动去除子句的开头的and和or
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.ljx.mapper.UserMapper"><select id="list" resultType="com.ljx.Pojo.User">select *from user<where><if test="name!=null">name like concat('%',#{name},'%')</if><if test="gender !=null">and gender=#{gender}</if></WHERE>
</select>
</mapper>