Mybatis—XML配置文件、动态SQL
MyBatis 的 XML 配置文件用于配置 SQL 映射规则,以及在映射 SQL 语句时使用的动态 SQL。
以下是一个简单的 MyBatis 映射文件示例,其中包含了动态 SQL 的使用:
<?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.example.mapper.UserMapper">
<!-- 使用 if 元素实现动态 SQL -->
<select id="findUserByName" parameterType="String" resultType="com.example.User">
SELECT * FROM users
WHERE 1=1
<if test="name != null">
AND name = #{name}
</if>
</select>
<!-- 使用 choose, when, otherwise 实现多重选择 -->
<select id="findUserByCondition" parameterType="com.example.User" resultType="com.example.User">
SELECT * FROM users
<where>
<choose>
<when test="name != null">
name = #{name}
</when>
<when test="email != null">
email = #{email}
</when>
<otherwise>
id = #{id}
</otherwise>
</choose>
</where>
</select>
</mapper>
在这个例子中,findUserByName
查询允许传入一个用户名作为条件,如果提供了用户名,它将添加一个条件子句到 WHERE 语句中。findUserByCondition
查询使用 <choose>
、<when>
和 <otherwise>
来根据提供的条件选择使用哪个表达式。这些查询都使用了动态 SQL 来适应不同的搜索参数。
评论已关闭