描述:主要是为了对枚举进行通用处理,Mybatis提供的EnumTypeHandler和EnumOrdinalTypeHandler使用还是不够灵活。
查询1:
List<User> selectByUserType(UserType userType);
<select id="selectByUserType" resultMap="BaseResultMap">
select * from user_enum where user_type=#{userType,typeHandler=com.chrhc.mybatis.handler.EnumHandler}
</select>
查询2:
User selectById(@Param("id") int id);
<select id="selectById" resultMap="BaseResultMap">
select * from user_enum where id = #{id}
</select>
<resultMap id="BaseResultMap" type="User">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="password" property="password"/>
<result column="user_type" property="userType" typeHandler="com.chrhc.mybatis.handler.EnumHandler"/>
</resultMap>
插入:
Integer insertUser(User user);
<insert id="insertUser" parameterType="User">
insert into user_enum(id, name, password, user_type)values(#{id}, #{name}, #{password}, #{userType,typeHandler=com.chrhc.mybatis.handler.EnumHandler})
</insert>
枚举类需要实现com.chrhc.mybatis.handler.Identifiable接口,仅此而已。
作者QQ:605162215
作者邮箱:605162215@qq.com