mybatis怎么写没用id就新增有就修改
时间: 2024-02-24 12:54:15 浏览: 23
你可以使用MyBatis动态SQL中的`<choose>`和`<when>`标签来实现这个功能。具体步骤如下:
1.在Mapper.xml文件中,定义一个`<update>`标签,用于根据是否传入id来判断是新增还是修改操作。示例代码如下:
```
<update id="saveOrUpdate" parameterType="com.example.User">
<choose>
<when test="id == null">
INSERT INTO user(name, age) VALUES(#{name}, #{age})
</when>
<otherwise>
UPDATE user SET name=#{name},age=#{age} WHERE id=#{id}
</otherwise>
</choose>
</update>
```
2.在Java代码中,调用Mapper接口的`saveOrUpdate`方法,并传入对应的参数。示例代码如下:
```
User user = new User();
user.setName("张三");
user.setAge(20);
// 不传id,执行新增操作
userMapper.saveOrUpdate(user);
user.setId(1);
user.setName("李四");
// 传入id,执行修改操作
userMapper.saveOrUpdate(user);
```
这样,就可以根据是否传入id来执行新增或修改操作了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)