使用 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
MyBatis sqlSession.selectList 查询详解:参数传递与 SQL 语句

原文地址: http://www.cveoy.top/t/topic/onia 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录