MyBatis应用开发(21)用update结点表达数据库记录的更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis应用开发(21)用update结点表达数据库记录的更新相关的知识,希望对你有一定的参考价值。

1.1. update

使用update语句进行记录的更新。

 

Maper配置:

<!-- updatePerson:更新记录 -->

<update id="updatePerson" parameterType="com.test.mybatis3.pojo.Person">

update t_person set name=#{name},status=#{status} where id=#{id}

</update>

 

 

 

Mapper接口方法:

/**

 * 更新一条记录。

 * @param person  待更新的person对象。

 * @throws Exception

 */

void updatePerson(Person person) throws Exception;

 

 

 

 

 

单元测试代码:

Person person = new Person();

person.setId("zhangsan");

person.setName("new zhangsan");

person.setStatus(3);

personMapper.updatePerson(person);

session.commit();

 

 

 

运行结果:

0    [main] DEBUG com.test.mybatis3.mapper.PersonMapper.updatePerson  - ==>  Preparing: update t_person set name=?,status=? where id=?

56   [main] DEBUG com.test.mybatis3.mapper.PersonMapper.updatePerson  - ==> Parameters: new zhangsan(String), 3(Integer), zhangsan(String)

81   [main] DEBUG com.test.mybatis3.mapper.PersonMapper.updatePerson  - <==    Updates: 1

 

SQL查询:

更新之前的结果:

mysql> select * from t_person;

+----------+-----------+--------+

| id       | name      | status |

+----------+-----------+--------+

| lisi     | li si     |      0 |

| zhangsan | zhang san |      0 |

+----------+-----------+--------+

2 rows in set (0.00 sec)

 

更新之后的结果:

mysql> select * from t_person where id=‘zhangsan‘;

+----------+--------------+--------+

| id       | name         | status |

+----------+--------------+--------+

| zhangsan | new zhangsan |      3 |

+----------+--------------+--------+

1 row in set (0.00 sec)

 

update语句中可以使用selectKey语句来设置或查询新的主键,用法与insert语句中的selectKey相同,不再赘述。

 

以上是关于MyBatis应用开发(21)用update结点表达数据库记录的更新的主要内容,如果未能解决你的问题,请参考以下文章

最近用MyBatis做开发的时候发现,MyBatis有个小小的缺点,不支持批量update?

MyBatis应用开发(20)用delete结点表达数据库记录的删除

开发小知识-mybatis-plus自动填充与读写分离

DB2用mybatis批量update的问题

Mybatis框架-update节点元素的使用

使用SMM框架开发企业级应用-----mybatis注解