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

专业制作网站哪家专业wordpress归档插件

专业制作网站哪家专业,wordpress归档插件,门户网官网,wordpress标签别名转换目录 引言 if 标签 trim 标签 where 标签 set 标签 foreach 标签 引言 动态 sql 是 MyBatis 的强大特性之一允许你根据输入的参数动态地构建 sql 语句从而在运行时根据不同的条件生成不同的 sql 核心思想 基于提供的数据和条件#xff0c;能够修改、增加、删除 sql…目录 引言 if 标签  trim 标签  where 标签  set 标签  foreach 标签  引言 动态 sql 是 MyBatis 的强大特性之一允许你根据输入的参数动态地构建 sql 语句从而在运行时根据不同的条件生成不同的 sql 核心思想 基于提供的数据和条件能够修改、增加、删除 sql 语句的部分内容这为编写更通用、可重用的 sql 提供了极大的灵活性 以下我们介绍 5 个常用的动态 sql 标签 if 标签  实例理解 此处我们想要实现 根据 name 和 age 字段来筛选用户信息 功能 创建数据库 在数据库中创建一个如下图所示的 user 表并插入几条用户数据注意这里的 state 状态值为 1 表示该用户可正常登录值为 0 表示该用户异常无法登录 实现 UserMapper 接口 此处我们实现一个 selectUser 方法 import com.example.demo.entity.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param;import java.util.List;//添加 Mapper 注解 代表该接口会伴随这 项目的启动而注入到容器中 Mapper public interface UserMapper {// 根据 name 和 age 字段来筛选用户信息ListUser selectUser(Param(user_name) String name,Param(user_age) Integer age); } 实现 UserMapper XML 文件 在与接口相对应的 XML 文件中添加上与 selectUser 方法 相对应的 sql语句 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.demo.mapper.UserMapperselect idselectUser resultTypecom.example.demo.entity.Userselect * from userwhere 11if testuser_name ! nulland name #{user_name}/ifif testuser_age ! nulland age #{user_age}/if/select/mapper分析功能 与 select 语句 根据 name 和 age 字段筛选用户信息    存在四种情况 情况一 name 和 age 均不为空其所对应的 sql 语句为 select * from user where name #{user_name} and age #{user_age} 情况二 name 和 age 均为空其所对应的 sql 语句为 select * from user 情况三 name 为空 age 不为空其所对应的 sql 语句为 select * from user where age #{user_age} 情况四 name 不为空 age 为空其所对应的 sql 语句为 select * from user where name #{user_name} 分析 XML 中的 select 语句  加上 if 标签后该 sql 也将存在四种情况与上述分析的四种情况相对应 注意 理解此处加上的 绿框部分即 11如果删除绿框部分那么我们再观察下图 所以 XML 中的 select 语句必须加上绿框部分否则将会导致 sql 语法错误 创建 selectUser 的测试方法 我们随意选择上述四种情况的任意一种进行传参此处我们选择仅传参 age 20 Testvoid selectUser() {ListUser users userMapper.selectUser(null,20);users.stream().forEach(System.out::println);} 执行测试方法 测试方法成功执行 trim 标签  属性 prefix表示整个语句块以 prefix 的值作为前缀suffix表示整个语句块以 suffix 的值作为后缀prefixOverrides表示整个语句块所需要去除的多余前缀suffixOverrides表示整个语句块所需要去除的多余后缀 实例理解 下方的 select 查询语句为了保证 sql 语法的正确性还必须得添加上 11  select idselectUser resultTypecom.example.demo.entity.Userselect * from userwhere 11if testuser_name ! nulland name #{user_name}/ifif testuser_age ! nulland age #{user_age}/if/select 但是我们可以使用 trim 标签来改写上方的 select 语句使其可以不用添加上 11的同时保障 sql 语法的正确性 select * from usertrim prefixwhere suffixOverridesandif testuser_name ! nullname #{user_name} and/ifif testuser_age ! nullage #{user_age}/if/trim 分析该 sql 语句 此处经存在一种情况会 发生去除多余后缀 and  注意 当 trim 标签中生成了代码那么才会添加 trim 标签里的前缀和后缀如果 trim 标签中未生成代码则前缀和后缀都会省略 where 标签  实例理解 我们同样可以使用 wehre 标签来改写上述 根据 name 和 age 字段来筛选用户信息 的 sql 语句 select idselectUser resultTypecom.example.demo.entity.Userselect * from userwhereif testuser_name ! nullname #{user_name}/ifif testuser_age ! nulland age #{user_age}/if/where /select 注意 上述实例为 where 标签的正确写法不能写成下述 sql 语句 select idselectUser resultTypecom.example.demo.entity.Userselect * from userwhereif testuser_name ! nullname #{user_name} and/ifif testuser_age ! nullage #{user_age}/if/where /select 因为 where 标签会帮去除最前面的多余 and 关键字 而不会帮去除最后面的多余 and 关键字即 where 标签相当于 trim prefixwhere prefixOverrides and set 标签  实例理解 此处我们想实现一个 根据用户 id 修改用户各属性 功能 准备数据库 在数据库中准备好一个 user 表  实现 UserMapper 接口 此处我们实现一个 updateById 方法 import com.example.demo.entity.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param;import java.util.List;//添加 Mapper 注解 代表该接口会伴随这 项目的启动而注入到容器中 Mapper public interface UserMapper { // 根据 id 修改用户信息Integer updateById(User user);} 实现 UserMapper XML 文件 在与接口相对应的 XML 文件中添加上与 updateById 方法 相对应的 sql语句 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.demo.mapper.UserMapperupdate idupdateById parameterTypecom.example.demo.entity.Userupdate usersetif testname ! nullname #{name},/ifif testage ! 0age #{age},/ifif testpassword ! nullpassword #{password},/ifif teststate ! 0state #{state}/if/setwhere id #{id}/update/mapper创建 updateById 的测试方法 此处我们修改 用户 id 4 用户信息修改其姓名、年龄、密码不修改其状态 Test void updateById() {User user new User();user.setId(4);user.setName(haoran);user.setAge(20);user.setPassword(123123);int result userMapper.updateById(user);System.out.println(updateById 方法 (result 1 ? 修改成功 : 修改失败)); } 执行测试方法 测试方法成功执行 观察数据库中的 user 表 注意 set 标签相当于 trim prefixset suffixOverrides , foreach 标签  属性 collection绑定方法参数中的集合如 List、Set、Map 或数组对象item遍历时的每一个对象open语块开头的字符串close语块结束的字符串separator每次遍历之间间隔的字符串 实例理解 此处想实现一个 根据多个用户 Id 来批量封禁用户 功能  准备数据库 在数据库中准备好一个 user 表  实现 UserMapper 接口 此处我们实现一个 updateStateByIds 方法 import com.example.demo.entity.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param;import java.util.List;//添加 Mapper 注解 代表该接口会伴随这 项目的启动而注入到容器中 Mapper public interface UserMapper { // 根据多个 id 批量封禁用户Integer updateStateByIds(Param(user_ids) ListInteger ids); } 实现 UserMapper XML 文件 在与接口相对应的 XML 文件中添加上与 updateStateByIds 方法 相对应的 sql语句 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.demo.mapper.UserMapperupdate idupdateStateByIdsupdate user set state 0where id inforeach collectionuser_ids itemitem open( close) separator,#{item}/foreach/update/mapper创建 updateStateByIds 的测试方法 此处我们封禁 id 1、4、8、9  的用户 Test void updateStateByIds() {ListInteger ids new ArrayList();ids.add(1);ids.add(4);ids.add(8);ids.add(9);int result userMapper.updateStateByIds(ids);System.out.println(updateById 方法 (result 1 ? 修改成功 : 修改失败)); } 执行测试方法 测试方法成功执行 观察数据库中的 user 表
http://www.sadfv.cn/news/150897/

相关文章:

  • 重庆的网站建设公司长沙seo优化多少钱
  • c 网站开发框架南京做网站公司地点
  • 网站要精细是什么意思五华网站建设
  • 广告设计网站都有哪些wordpress子主题安装
  • Wordpress和drupal开发宜宾seo网站建设
  • 网络广告营销方案策划石家庄seo网站优化报价
  • 官方网站下载游戏设计网站模板
  • 3d建模培训学校seo搜索引擎优化是什么
  • 怎样用微信做购物网站教你如何建立网站
  • wordpress搜索修改seo关于网站搜索排名关键词的标准评定
  • 湘潭企业网站建设 磐石网络xp系统没有lls组件可以做网站吗
  • 网站如何进行代码优化上海品牌推广公司
  • 关于做好学院网站建设的要求高端互联网网站
  • 制作大型网站库房出入库管理软件
  • 做的比较好的法律实务培训网站电商网页设计尺寸
  • 深圳网站关键词排名推广一些做的好的网站
  • 返利的网站怎么做静态旅游网站
  • 外国大气网站产品展厅柜设计公司
  • 哪些企业网站使用水墨风格金华网站建设多少钱
  • 怎么建设自己收费网站腾讯会议付费
  • 上海自助建站 上海网站建设网站打开是目录结构图
  • 阿里网站建设工具网站后台密码是什么
  • 北京网站制作设计价格辛集市建设局网站
  • 模板建站有什么不好?iis运行wordpress
  • 一个虚拟主机如何做多个网站首页2免费八度电影院
  • 网站双链接怎么做中卫网站推广网络营销
  • 家政公司网站建设网站建设请示怎么写
  • 沈阳有资质做网站的公司有哪些域名转发网站
  • php高级网站开发现在哪个行业做网站需求多点
  • org做后缀的网站网页游戏排行榜2022前十名最新排名图片