当前位置: 首页 > news >正文

从零开始建设网站谷歌官网

从零开始建设网站,谷歌官网,免费学网页设计,wordpress get categories动态SQL必知必会1、什么是动态SQL2、为什么使用动态SQL3、动态SQL的标签4、if 标签-单标签判断5、choose标签-多条件分支判断6、set 标签-修改语句7、foreach标签7.1 批量查询7.2 批量删除7.3 批量添加8、模糊分页查询1、什么是动态SQL 动态 SQL 是 MyBatis 的强大特性之一。如…

在这里插入图片描述

动态SQL必知必会

        • 1、什么是动态SQL
        • 2、为什么使用动态SQL
        • 3、动态SQL的标签
        • 4、if 标签-单标签判断
        • 5、choose标签-多条件分支判断
        • 6、set 标签-修改语句
        • 7、foreach标签
          • 7.1 批量查询
          • 7.2 批量删除
          • 7.3 批量添加
        • 8、模糊分页查询

1、什么是动态SQL

动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。

  • if
  • choose (when, otherwise)
  • trim (where, set)
  • foreach

2、为什么使用动态SQL

使用动态SQL可以解决某些功能的实现,例如分页模糊查询的多条件判断、批量删除、处理sql语句的拼接问题等。

3、动态SQL的标签

元素作用描述
if条件判断单条件判断
choose(when、otherwise)条件选择多条件分支判断
where set条件处理sql语句的拼接问题
foreach循环(批量插入、修改、删除)循环(批量使用)

4、if 标签-单标签判断

使用<where></where> 可以自动消除第一个where条件中的and 且加上where条件。

Mapper.java

User getByCondtion(@Param("name") String name,@Param("phone") String phone);

Mapper.xml

<select id="getByCondtion" resultType="com.pojo.User">select * from user<where><if test="name != null and name!='' ">and name = #{name}</if><if test="phone != null and phone!='' ">and phone = #{phone}</if></where>
</select>

5、choose标签-多条件分支判断

Mapper.java

User getByCondtion(@Param("name") String name,@Param("phone") String phone,@Param("email") String email);

Mapper.xml

<select id="getByCondtion" resultType="com.pojo.User">select * from user<where><choose><when test="name != null and name != ''">and name = #{name}</when><when test="phone != null and phone != ''">and phone = #{phone}</when><otherwise>and email = #{email}</otherwise></choose></where>
</select>

6、set 标签-修改语句

Mapper.java

int updateUser(User user);

Mapper.xml

<update id="updateUser" parameterType="com.pojo.User">update user<set><if test="name != null and name != ''">name = #{name},</if><if test="phone != null and phone != ''">phone = #{phone}</if><if test="email != null and email != ''">email = #{email}</if></set>where id = #{id}
</update>

7、foreach标签

foreach标签适用于批量添加、删除和查询

<foreach collection="集合类型" open="开始的字符" close="结束的字符"item="集合中的成员" separator="集合成员之间的分割符">#{item的值}
</foreach>

foreach标签属性:

  • collection:表示循环的对象是数组还是list集合;
    • 如果Mapper接口方法的形参是数组,collection=“array”;
    • 如果Mapper接口方法形参是list,collection=“list”;
  • open:循环开始的字符,sql.append(“(”);
  • close:循环结束的字符,sql.append(“)”);
  • item:集合成员,自定义的变量。Integer item = idList.get(i);
  • separator:集合成员之间的分隔符。sql.append(“,”);
  • #{item的值}:获取集合成员的值;
7.1 批量查询

Mapper.java

List<User> getByIds(Integer[] ids)

Mapper.xml

<select id="getByIds" resultType="com.pojo.User">select * from user where id in<foreach collection="array" item="id" open="(" close=")" separator=",">#{id}</foreach>
</select>
7.2 批量删除

Mapper.java

int deleteByIds(Integer[] ids);

Mapper.xml

<delete id="deleteByIds">delete from user where id in<foreach collection="array" item="id" open="(" close=")" separator=",">#{id}</foreach>
</delete>
7.3 批量添加

Mapper.java

int addByList(List<User> users);

Mapper.xml

<insert id="addByList">insert into user(name,phone,email) values<foreach collection="list" item="users" separator=",">(#{users.name},#{users.phone},#{users.email})</foreach>
</insert>

8、模糊分页查询

根据角色名称查询角色信息列表(模糊查询),分页查询,根据CreationDate倒序排列

Mapper.java

List<Role> getRoleListByRoleName(@Param("roleName") String rolename,@Param("from") Integer from,@Param("pageSize") Integer pageSize);

Mapper.xml

<select id="getRoleListByRoleName" resultType="cn.smbms.pojo.Role">select * from smbms_role<where><if test="roleName != null and roleName !=''">and roleName like concat('%',#{roleName},'%');</if></where>order by creationDate desc limit #{from}, #{pageSize};
</select>
http://www.shuangfujiaoyu.com/news/63535.html

相关文章:

  • 外包网站建设多少钱sem竞价是什么意思
  • 公益网站建设那家好危机公关处理方案
  • 做视频好用的素材网站清理大师
  • 基于php网站开发步骤seo简介
  • 武汉参开网络网站建设公司百度手机应用商店
  • 网站建设头像福鼎网站优化公司
  • 新闻网站系统源代码建立网站平台需要多少钱
  • 网站哪个服务器好南京网络营销服务
  • vs2015做网站的后端学电脑培训班
  • protected wordpress login湖南企业seo优化报价
  • 怎么做网站推广六安游戏搜索风云榜
  • 做微信活动是做网站还是做小程序好什么是seo标题优化
  • 洛阳网站建设哪家专业营销网络是什么意思
  • 做网站0基础写代码海外短视频软件
  • 电子商务以后可以做什么工作太原百度推广排名优化
  • wordpress移动端m网站如何做关键词优化
  • 四川网站开发站外seo推广
  • wordpress 全站密码嘉兴seo外包平台
  • 内蒙古自治区住房和城乡建设厅网站长沙网站优化培训
  • go做网站营销策划案例
  • 做网站和app哪个简单网站建设黄页
  • 网站定制合同和模版的区别app开发流程
  • 钢铁网站哪家做的好公司怎么在网上推广
  • 专门做家具的网站windows优化大师win10
  • 地推平台seo运营做什么
  • 哪个网站做投票链接模板好看百度推广点击收费标准
  • wordpress可以制作什么网站吗线下营销方式主要有哪些
  • 怎么看网站点击量打开百度app
  • 静态html网站打包成exe昆明seo工资
  • 西宁网站设计建设站长工具收录