首页 > 代码库 > MyBatis应用开发(21)用update结点表达数据库记录的更新
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结点表达数据库记录的更新