动态SQL环境搭建:
根据不同的条件生成不通的SQL语句
编写主键生成方法getID():
public static String getID(){
return UUID.randomUUID().toString().replaceAll("-","");
}
设置数据库下划线转换识别JAVA驼峰命名:
在核心配置文件配置
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
IF语句
简单的用法,主要是Map集合的应用添加值,一定要注意字母不要写错,否则匹配不上就无法判断
<select id="getBlogByIF" parameterType="map" resultType="blog">
select * from mybatis.blog
<where>
<if test="title != null">
and title= #{title}
</if>
<if test="author != null">
and author= #{author}
</if>
</where>
</select>
注意,这里使用了一个where标签
set跟where的标签比较类似,只不过它会自动补齐update语句中的set,而且会删除无关的逗号(主要是针对最后一个set值)
where和set都属于trim
动态的SQL,本质上还是SQL语句,只是可以从SQL层面通过标签去执行逻辑代码