首页/ 学科题库/ Mytatis/ 单参数传递
Mytatis 实战教程

单参数传递

2026-05-20 约 6 分钟 juanwangdev

单参数传递

单参数传递是 MyBatis 最基础的参数接收方式。

基本类型参数

XML
<select id="selectById" resultType="com.example.entity.User">
    SELECT * FROM user WHERE id = #{id}
</select>
Java
// Mapper 接口
User selectById(Integer id);

// 调用
User user = mapper.selectById(1);

MyBatis 自动将 #{id} 替换为实际参数值,使用 PreparedStatement 防 SQL 注入。

String 类型参数

XML
<select id="selectByUsername" resultType="com.example.entity.User">
    SELECT * FROM user WHERE username = #{username}
</select>
Java
User selectByUsername(String username);

注意:单参数时,#{} 中名称可任意填写,MyBatis 自动识别参数值。

参数索引与命名

XML
<!-- 以下三种写法等价 -->
<select id="selectById">
    SELECT * FROM user WHERE id = #{id}
</select>

<select id="selectById">
    SELECT * FROM user WHERE id = #{0}
</select>

<select id="selectById">
    SELECT * FROM user WHERE id = #{param1}
</select>

要点总结

  • 单参数使用 #{} 占位符,MyBatis 自动识别参数值
  • 支持基本类型、String 类型直接传递
  • #{} 中名称可任意填写,或使用索引 #{0}、#{param1}
  • PreparedStatement 预编译防 SQL 注入
想在手机上练这篇的配套题目?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别下方二维码,即可解锁本讲对应真题与错题本。
了解产品 App
← 上一篇 delete 删除语句 下一篇 → 多参数传递