person
   /**
     * 保存用户信息
     * @param user 用户对象
     * @return 插入成功返回 1,失败返回 0(mysql 会返回影响的行数)
     */
    @Insert("insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address})")
    // 返回插入的记录的 id
    @Options(useGeneratedKeys = true, keyColumn = "id", keyProperty = "id")
    Integer saveUser(User user);

通过注解 @Options(useGeneratedKeys = true, keyColumn = "id", keyProperty = "id") 就可以返回记录的 id,获取方式为:

int id = user.getId();

心情不好,废话不多说,解决方法有二。
1、在连接字符串后面加上 useUnicode=true&characterEncoding=UTF-8,但是在 xml 文件中 & 符号需要转义,因此 mybatis 配置文件中完整的 jdbc.url 为:

jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8

2、在 properties 配置文件中不需要转义:

jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8

完毕!