用mapper 层写用map传参方法,mapper .xml写一个插入的sql
时间: 2024-03-21 09:38:53 浏览: 84
假设我们有一个 User 实体类,包含 id、name、age 三个属性,对应的表为 user,那么可以使用 mapper 和 mapper.xml 文件写一个使用 map 传参的插入 SQL:
1. 在 mapper 接口中定义插入方法
```
@Mapper
public interface UserMapper {
int insertUser(Map<String, Object> map);
}
```
2. 在 mapper.xml 文件中编写插入 SQL
```
<mapper namespace="com.example.mapper.UserMapper">
<insert id="insertUser" parameterType="java.util.Map">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
</mapper>
```
在上面的例子中,使用 `<insert>` 标签指定了要执行的 SQL 语句,其中 #{name} 和 #{age} 是占位符,表示要插入的数据。同时,`parameterType` 属性指定了参数类型为 Map,MyBatis 会自动将 map 中的 key 对应的 value 填充到 SQL 语句中的占位符中。
在 Java 代码中调用该方法时,可以创建一个 map 对象,将要插入的数据放入 map 中,然后将 map 传入 insertUser 方法中。示例代码如下:
```
Map<String, Object> map = new HashMap<>();
map.put("name", "张三");
map.put("age", 18);
int result = userMapper.insertUser(map);
```
执行插入操作后,会返回一个 int 类型的结果,表示受影响的行数。如果插入成功,返回的值为 1,否则返回 0。
阅读全文