MyBatis sqlSession.selectList 查询详解:参数传递与 SQL 语句
使用 MyBatis 中的 sqlSession.selectList 方法进行查询时,需要传入两个参数:第一个参数为 mapper.xml 中定义的 statementId,即对应的 SQL 语句的唯一标识符;第二个参数为查询所需的参数。
在 mapper.xml 中,可以使用 '${}' 或 '#' 来引用传入的参数。其中,'${}' 表示参数会被直接拼接到 SQL 语句中,存在 SQL 注入风险,应该尽可能使用 '#'。'#' 会自动将传入的参数进行处理,防止 SQL 注入,并且可以处理各种类型的参数。
例如,假设有一个 UserMapper.xml 文件,其中定义了一个查询用户列表的语句:
<select id="getUserList" resultType="User">
select * from user where age > #{age}
</select>
在 Java 代码中调用该语句时,可以这样写:
List<User> userList = sqlSession.selectList("getUserList", 18);
其中,第一个参数为 getUserList,即对应的 SQL 语句的唯一标识符;第二个参数为 18,即查询所需的参数。在 mapper.xml 中,#{age} 会被替换为 18,最终执行的 SQL 语句为:
select * from user where age > 18
原文地址: http://www.cveoy.top/t/topic/onia 著作权归作者所有。请勿转载和采集!