MyBatis-resultType 朱雀 2022-05-17 08:11 197阅读 0赞 * * 摘要 * 正文 * 查询单条记录返回对象 * 查询多条记录返回List * 查询单条记录返回Map * 查询多条记录返回Map ## 摘要 ## 本文针对XML配置和注解配置说明resultType用法 ## 正文 ## 下面的例子都用过查询User类实现 ### 查询单条记录返回对象 ### * XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.example.UserMapper"> <!--resultType直接写对象的全类名 --> <select id="findById" resultType="com.example.User"> select * from user where id=#{id} </select> </mapper> * 注解配置 public interface UserMapper{ @Select("select * from user where id=#{id}") User findById(Long id); } ### 查询多条记录返回List ### * XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.example.UserMapper"> <!--resultType直接写对象的全类名 --> <select id="findList" resultType="com.example.User"> select * from user </select> </mapper> * 注解配置 public interface UserMapper{ @Select("select * from user") List<User> findList(); } ### 查询单条记录返回Map ### 在没有查询结果没有实体类的情况,我会使用这种方式。 * XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.example.UserMapper"> <!--resultType直接写对象的全类名 --> <select id="findById" resultType="map"> select * from user where id=#{id} </select> </mapper> * 注解配置 public interface UserMapper{ @Select("select * from user where id=#{id}") Map<String,Object> findById(Long id); } ### 查询多条记录返回Map ### 对部分列需要处理时,我会使用这种方式 * XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.example.UserMapper"> <!--resultType直接写对象的全类名 --> <select id="findMap" resultType="com.example.User"> select * from user </select> </mapper> public interface UserMapper{ // 通过@MapKey注解指定作为key的列名 @MapKey("id") Map<Long,User> findMap(); } * 注解配置 public interface UserMapper{ @MapKey("id") @Select("select * from user") Map<Long,User> findMap(); }
还没有评论,来说两句吧...