-
<sql>
-
<select/>
, <insert/>
, <update/>
, <delete/>
- 这些标签在映射文件中分别用来定义 SQL 查询、插入、更新和删除操作,以及它们的执行逻辑和结果映射:
<select id="getUserById" parameterType="int" resultType="com.example.model.User">
SELECT * FROM users WHERE id = #{id}
</select>
<insert id="insertUser" parameterType="com.example.model.User">
INSERT INTO users(username, password)
VALUES(#{username}, #{password})
</insert>
-
<if>
, <choose>
, <when>
, <otherwise>
, <where>
, <set>
, <foreach>
- 动态 SQL 标签使得 SQL 语句可以根据参数动态构建:
<select id="selectUsersWithConditions" parameterType="map">
SELECT * FROM users as users
<where>
<if test="param.id != null">AND users.id = #{param.id}</if>
<if test="param.userName !=null and param.userName != ''">
AND users.user_name LIKE CONCAT('%',#{param.userName},'%')
</if>
and users.id in
(#{id})
```xml
<insert id="batchInsertUsers">
INSERT INTO users(username, email)
VALUES
<foreach item="user" index="index" collection="list" open="(" separator="),(" close=")">
#{user.username}, #{user.email}
</foreach>
</insert>
```
```xml
<if test="param.regType !=null and param.regType != ''">
<choose>
<when test="param.regType == 'weixin'">
and users.reg_type = 'weixin'
</when>
<when test="param.regType == 'app'">
and users.reg_type ='app'
</when>
<otherwise>
and users.reg_type = 'other'
</otherwise>
</choose>
</if>
原文链接 https://www.hanyuanhun.cn | https://node.hanyuanhun.cn
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!