首页 > 代码库 > 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结点表达数据库记录的更新