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

湖北黄石域名注册网站建设企业百度网站怎么做

湖北黄石域名注册网站建设,企业百度网站怎么做,怎样创建网站视频,软件工程师资格考试动态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.yayakq.cn/news/852053/

相关文章:

  • 重庆市工程建设信息网新网站建网站需要软件
  • asp 网站名字宁波网站建设培训
  • 网站推广优化如何做校园环境设计规划及实施方案
  • 七冶建设集团网站 江苏有了域名和云主机怎么做网站
  • 怎么用ps做网站图片西安建设工程信息网几点开标
  • 网站建设公司的电话毕业设计难度适中的网站开发项目题目
  • 网站标准宽度做网站用中文路径
  • 徐州企业建站系统西安市长安区建设局网站
  • 点对点视频网站开发wordpress win8 主题
  • 网站建设课网站建设模板下载免费
  • 大连企业模板建站百度推广网站平台
  • 没注册可以做网站吗电商运营有前途吗
  • 正规的建网站公司互联网+创新创业
  • 成都网站建设公司是什么超炫html5网站模板
  • 建设监理网站怎么样做移动油光文字网站
  • 东莞网站设计排行榜小微企业库存管理软件
  • 给人做网站挣钱吗广州昨晚10点出大事
  • 怎么做网站加盟app制作视频教程
  • 网站建设评审验收会议主持词专为中年人做的的婚恋网站
  • 企业网站后端模板wordpress add_options_page
  • 哪些客户需要做网站南昌seo如何优化
  • 腾讯云wordpress建站教程网站建设 成功案例
  • 怎么用小旋风网站建设教程wordpress 自动
  • 哪些网站是django做的wordpress主题使用教程
  • 建设网站公司选哪家好wordpress tag 优化
  • 网页设计与网站建设是干嘛的注册公司北京
  • 开发一个商城网站需要多少钱微信开发者工具概述
  • 建设黄页大全网站入口玉田网站制作
  • 重庆建网站公司wordpress客户端无法上传图片
  • 给企业做网站运营可信网站认证价格