mybaits的单表查询总结

使用Mybatis单表总结

使用select 完成电脑条件查询

    <select id="getAll" resultType="Goods" resultType="int">
    select * from Goods where id=#{id}
    </select>

id属性:就是对这个的一个标识,resyltType属性是查询出来的返回值类型,resultType是传入进去的参数类型,如果需要传入多个参数则需要在接口定义时参使用,@Param(“ziduan”) Integer beiming,在sql语句时使用的字段使用的就是ziduan
因为这里是单表查询,所以完全可以使用myatis的自动映射,所以,实体类里面的属性名字得跟数据库里面的字段名字相同

使用insert,update,delete完成增,改,删

//删
    <delete id="delete" parameterType="int">
        delete from  Goods where gid=#{gid}
    </delete>
    //改
    <update id="update" parameterType="Goods">
        update Goods set gname=#{gname},gprice=#{gprice},gcolor=#{gcolor},gscore=#{gscore} where gid=#{gid}
    </update>
    //增
    <insert id="insert" parameterType="Goods">
        insert into Goods (gname,gprice,gcolor,gscore) values (#{gname},#{gprice},#{gcolor},#{gscore})
    </insert>

这里跟上面差不多,只是sql语句更改,因为这些语句返回都是int类型,所以我们不需要进行返回值类型规定

动态sql语句

如果 我们需要使用组合查询时,传多个参数时
可以使用if,choose,where,set,trim,foreach,对sql语句进行改善

 <select id="fuzzy" resultType="Goods">
        select * from Goods
        <where>
            <if test="gname!=''">
                gname like CONCAT ('%',#{gname},'%')
            </if>
            <if test="gprice !=0">
                and gprice LIKE CONCAT ('%',#{gprice},'%')
            </if>
            <if test="gcolor!=''">
                and gcolor LIKE CONCAT ('%',#{gcolor},'%')
            </if>
            <if test="gscore!=0">
                and gscore LIKE CONCAT('%',#{gscore},'%')
            </if>
        </where>
    </select>

以上代码就是一个用where标签,它会自动去除里面多余的关键字,if标签则是对传入的字段做一个基本的判断,trim标签更where标签差不多一个效果,而choose标签相当于java中switch语句,通常与when和otherwise标签搭配,set标签就是解决动态更新语句

分页

Mybatis的分页功能基于内存的分页,即查询出来所以的数据,在按起始位置和页面容量取出的结果

    <select id="page" resultType="Goods">
        select * from Goods limit #{qishi},#{zong}
    </select>```
    更上面的语句差不多,只是使用了一个limit进行的数据的分割,起始页面就是可以根据((起始页面-1)*总容量)来计算,这里有一点,在xml文件里面是不支持运算字符的,所以需在传入之前进行运算。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值