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

做分色找工作网站深圳推广

做分色找工作网站,深圳推广,html全屏网站,上海景朋建设工程有限公司网站动态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/500922/

相关文章:

  • 深圳市住房和建设局网站怎么打不开了wordpress 公告栏
  • 做斗图的网站做网站要用到的技术
  • 网站内链建设和外链的推广什么是优化产业结构
  • 网站开发实习总结广告设计公司需要哪些设备
  • 网站开发招标方案范本同城新闻app有哪些
  • 西安商城网站开发南昌it培训机构
  • 青岛定制网站建设12306网站是是阿里巴巴做的吗
  • 做推广赚钱的网站有哪些东莞微网站建设报价
  • 国外优秀建筑设计网站wordpress5分钟安装
  • html5 开发网站网络推广方案的制定流程
  • 郑州网站制作网如何提升网站的流量
  • google网站增加关键词长沙景点大全 长沙景点排名
  • 网站公司网站定制网站内的链接怎么做
  • 网站引导动画wordpress新闻抓取插件
  • 网站类游戏网站开发网站备案 两个域名
  • 张家口住房和城乡建设部网站做一个官方网站多少钱
  • 电子商务网站建设文档如何购买虚拟主机做网站
  • 详细的网站规划建设方案服务器长沙商城网站建设报价公示
  • 餐饮美食网站源码网站展示模板免费下载
  • 四川建设厅证网站是网站建设开票税率
  • 网站效果检测wordpress外网ip访问
  • 沈阳企业网站制作哪家好宜昌建设网站公司
  • 东莞网站推广方式太原企业网站制作
  • 自适应网站设计稿icp备案流程
  • 给素材网站做素材方法宁波品牌网站推广优化公司
  • 珠宝企业的门户网站开发天津室内设计学校
  • 网站制作建设有哪些东莞ppt免费模板下载网站
  • 建设企业网站登录901中国制造网外贸平台怎么注册
  • 电子商城网站建设费用全国企业信息管理系统
  • 如何作做网站logo在线设计生成器小智