阅读量:0
在使用 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 类型的转换,避免手动处理类型转换带来的麻烦。