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文件里面是不支持运算字符的,所以需在传入之前进行运算。

Mybatis的select标签用于执行查询操作。它可以通过不同的方式来定义查询语句,并可以传递参数来实现动态查询。 示例中的第一个引用展示了一个select语句的示例,其中使用了标签的id属性来定义查询的唯一标识符,parameterType属性指定了传入的参数类型,resultType属性指定了查询结果的返回类型。在查询语句中使用了#{id}来引用参数。 第二个引用展示了另一种方式来定义select标签,其中不再指定parameterType属性,只传递一个普通类型的参数,而在查询语句中使用了#{idABC}来引用参数。 第三个引用展示了通过selectKey标签来获取插入对象的id的方式。在插入语句中使用了#{id}来引用参数,而在selectKey标签中则使用了LAST_INSERT_ID()函数来获取插入对象的id,并将其赋值给keyProperty属性指定的变量。 总结起来,Mybatis的select标签可以通过不同的方式来定义查询语句,并可以传递参数来实现动态查询。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Mybatis(四)【select】【insert,update,delete】](https://blog.csdn.net/qq_42396796/article/details/119189193)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值