MyBatis的各种查询功能

目录

MyBatis获取参数值的两种方式:

1、单个字面量类型的参数

2、多个字面量类型的参数

3、map集合类型的参数

4、实体类类型的参数

5、使用@Param标识参数

MyBatis的各种查询功能

1、查询一个实体类对象

2、查询一个list集合

3、查询单个数据

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


MyBatis获取参数值的两种方式:

MyBatis 获取参数值的两种方式: ${} 和 #{}
${} 的本质就是字符串拼接, #{} 的本质就是占位符赋值
${} 使用字符串拼接的方式拼接 sql ,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是 #{} 使用占位符赋值的方式拼接 sql ,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号


1、单个字面量类型的参数

若 mapper 接口中的方法参数为单个的字面量类型
此时可以使用 ${} 和 #{} 以任意的名称获取参数的值,注意 ${} 需要手动加单引号


2、多个字面量类型的参数

若 mapper 接口中的方法参数为多个时 此时 MyBatis 会自动将这些参数放在一个 map 集合中,以 arg0,arg1... 为键,以参数为值;以param1,param2... 为键,以参数为值;因此只需要通过 ${} 和 #{} 访问 map 集合的键就可以获取相对应的值,注意 ${} 需要手动加单引号

3、map集合类型的参数

若 mapper 接口中的方法需要的参数为多个时,此时可以手动创建 map 集合,将这些数据放在 map 中只需要通过 ${} 和 #{} 访问 map 集合的键就可以获取相对应的值,注意 ${} 需要手动加单引号


4、实体类类型的参数

若 mapper 接口中的方法参数为实体类对象时此时可以使用 ${} 和 #{} ,通过访问实体类对象中的属性名获取属性值,注意 ${} 需要手动加单引号


5、使用@Param标识参数

可以通过 @Param 注解标识 mapper 接口中的方法参数 此时,会将这些参数放在 map 集合中,以 @Param 注解的 value 属性值为键,以参数为值;以param1,param2... 为键,以参数为值;只需要通过 ${} 和 #{} 访问 map 集合的键就可以获取相对应的值,注意 ${} 需要手动加单引号

MyBatis的各种查询功能


1、查询一个实体类对象

    /*** 根据用户id查询用户信息
     * @param id
     * @return */
    User getUserById(@Param("id") int id);

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

2、查询一个list集合

    /*** 查询所有用户信息
    * @return
    */
    List<User> getUserList();

    <!--List<User> getUserList();-->
    <select id="getUserList" resultType="User">select * from t_user</select>

3、查询单个数据

       /** 查询用户的总记录数
         * @return
         ** 在MyBatis中,对于Java中常用的类型都设置了类型别名
         * 例如:java.lang.Integer-->int|integer
         * 例如:int-->_int|_integer
         * 例如:Map-->map,List-->list
          */
        int getCount();

    <!--int getCount();-->
    <select id="getCount" resultType="_integer">select count(id) from t_user</select>

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

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

    <!--Map<String, Object> getUserToMap(@Param("id") int id);-->
    <select id="getUserToMap" resultType="map">select * from t_user where id = #{id}
    </select> <!--结果:{password=123456, sex=男, id=1, age=23, username=admin}-->

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值