• MyBatis的各种查询功能


    MyBatis的各种查询功能:
    (1)若查询出的数据只有一条

    • 可以通过实体类对象接收
    • 可以通过list集合接收
    • 可以通过map集合接收

    (2)若查询出的数据有多条

    • 可以通过实体类类型的list集合接收
    • 可以通过map类型的list集合接收
    • 可以在mapper接口的方法上添加@MapKey注解,此时就可以将每条数据转换的map集合作为值,以某个字段的值作为键,放在同一个map集合中

    1、查询一个实体类对象

    Mapper接口:

    //根据用户id查询用户信息
    User getUserById(@Param("id") int id);
    
    • 1
    • 2

    Mapper映射文件:

    <!--User getUserById(@Param("id") int id);-->
    <select id="getUserById" resultType="User">
    	select * from t_user where id = #{id}
    </select>
    
    • 1
    • 2
    • 3
    • 4

    2、查询一个list集合

    Mapper接口:

    //查询所有用户信息
    List<User> getUserList();
    
    • 1
    • 2

    Mapper映射文件:

    <!--List<User> getUserList();-->
    <select id="getUserList" resultType="User">
    	select * from t_user
    </select>
    
    • 1
    • 2
    • 3
    • 4

    3、查询单个数据

    Mapper接口:

    //查询用户的总记录数
    int getCount();
    
    • 1
    • 2

    Mapper映射文件:

    <!--int getCount();-->
    <select id="getCount" resultType="_integer">
    	select count(id) from t_user
    </select>
    
    • 1
    • 2
    • 3
    • 4

    4、查询一条数据为map集合

    Mapper接口:

    //根据用户id查询用户信息为map集合
    Map<String, Object> getUserToMap(@Param("id") int id);
    
    • 1
    • 2

    Mapper映射文件:

    <!--Map<String, Object> getUserToMap(@Param("id") int id);-->
    <select id="getUserToMap" resultType="map">
    	select * from t_user where id = #{id}
    </select>
    
    • 1
    • 2
    • 3
    • 4

    5、查询多条数据为map集合

    Mapper接口:

    //查询所有用户信息为map集合
    List<Map<String, Object>> getAllUserToMap();
    
    • 1
    • 2

    Mapper映射文件:

    <!--Map<String, Object> getAllUserToMap();-->
    <select id="getAllUserToMap" resultType="map">
    	select * from t_user
    </select>
    
    • 1
    • 2
    • 3
    • 4

    获取自增的主键:
    useGeneratedKeys设置使用自增的主键,
    keyProperty:因为增删改有统一的返回值是受影响的行数,因此只能将获取的自增的主键放在传输的参数user对象的某个属性中

    Mapper接口:

    int insertUser(User user);
    
    • 1

    Mapper映射文件:

    <!--int insertUser(User user);-->
    <insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
    	insert into t_user values(null,#{username},#{password},#{age},#{sex})
    </insert>
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    5G 室内融合定位白皮书
    C#基础入门教程-简介和环境
    LC1713. 得到子序列的最少操作次数(java - 动态规划)
    设计模式_迭代器模式
    【软件逆向】如何在windows下远程注入dll并进行虚表hook
    一文读懂强化学习:RL全面解析与Pytorch实战
    mycat
    Qt day4
    Pytorch:模块(Module类)
    mysql:create index 和 alter add index
  • 原文地址:https://blog.csdn.net/weixin_51405802/article/details/125605502