阅读量:107
在使用 MyBatis 时,我们经常会遇到数据库中的 tinyint 类型和 Java 中的 Boolean 类型之间的转换。这里提供一种常用的技巧来进行转换:
- 在配置文件中(如 mybatis-config.xml)设置全局的 typeHandler,用于处理 tinyint 和 Boolean 类型的转换:
<typeHandlers>
<typeHandler handler="org.apache.ibatis.type.BooleanTypeHandler" javaType="java.lang.Boolean"/>
</typeHandlers>
- 在实体类中,使用 Boolean 类型来表示数据库中的 tinyint 字段:
public class User {
private Integer id;
private String username;
private Boolean active;
// getter and setter methods
}
- 在 MyBatis 的映射文件(如 UserMapper.xml)中,使用 resultMap 或者 resultType 来映射数据库字段和实体类属性:
<resultMap id="userMap" type="User">
<id column="id" property="id"/>
<result column="username" property="username"/>
<result column="active" property="active" javaType="java.lang.Boolean"/>
</resultMap>
- 在 SQL 查询语句中,将数据库的 tinyint 类型字段直接映射到 Java 的 Boolean 类型属性:
<select id="getUserById" resultMap="userMap">
SELECT id, username, active FROM user WHERE id = #{id}
</select>
通过以上方法,我们可以方便地在 MyBatis 中处理 tinyint 和 Boolean 类型的转换,避免手动处理类型转换带来的麻烦。