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

报名网站怎么做/计算机培训机构哪个最好

报名网站怎么做,计算机培训机构哪个最好,手机制作动画的app,做网站的时候宽高2.MyBatis映射文件深入 2.1 动态sql语句 2.1.1动态sql语句概述 Mybatis 的映射文件中,前面我们的 SQL 都是比较简单的,有些时候业务逻辑复杂时,我们的 SQL是动态变化的,此时在前面的学习中我们的 SQL 就不能满足要求了。 参考…

2.MyBatis映射文件深入

2.1 动态sql语句

2.1.1动态sql语句概述

Mybatis 的映射文件中,前面我们的 SQL 都是比较简单的,有些时候业务逻辑复杂时,我们的 SQL是动态变化的,此时在前面的学习中我们的 SQL 就不能满足要求了。

参考的官方文档,描述如下:

在这里插入图片描述

2.1.2动态 SQL 之<if>

我们根据实体类的不同取值,使用不同的 SQL语句来进行查询。比如在 id如果不为空时可以根据id查询,如果username 不同空时还要加入用户名作为条件。这种情况在我们的多条件组合查询中经常会碰到。

<select id="findByCondition" parameterType="user" resultType="user">select * from User<where><if test="id!=0">and id=#{id}</if><if test="username!=null">and username=#{username}</if></where>
</select>

当查询条件id和username都存在时,控制台打印的sql语句如下:

     … … …//获得MyBatis框架生成的UserMapper接口的实现类UserMapper userMapper = sqlSession.getMapper(UserMapper.class);User condition = new User();condition.setId(1);condition.setUsername("lucy");User user = userMapper.findByCondition(condition);… … …

在这里插入图片描述

当查询条件只有id存在时,控制台打印的sql语句如下:

 … … …//获得MyBatis框架生成的UserMapper接口的实现类
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User condition = new User();
condition.setId(1);
User user = userMapper.findByCondition(condition);
… … …

在这里插入图片描述

2.1.3 动态 SQL 之<foreach>

循环执行sql的拼接操作,例如:SELECT * FROM USER WHERE id IN (1,2,5)。

<select id="findByIds" parameterType="list" resultType="user">select * from User<where><foreach collection="array" open="id in(" close=")" item="id" separator=",">#{id}</foreach></where>
</select>

测试代码片段如下:

 … … …//获得MyBatis框架生成的UserMapper接口的实现类
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
int[] ids = new int[]{2,5};
List<User> userList = userMapper.findByIds(ids);
System.out.println(userList);
… … …

在这里插入图片描述

foreach标签的属性含义如下:

标签用于遍历集合,它的属性:

•collection:代表要遍历的集合元素,注意编写时不要写#{}

•open:代表语句的开始部分

•close:代表结束部分

•item:代表遍历集合的每个元素,生成的变量名

•sperator:代表分隔符

2.2 SQL片段抽取

Sql 中可将重复的 sql 提取出来,使用时用 include 引用即可,最终达到 sql 重用的目的

<!--抽取sql片段简化编写-->
<sql id="selectUser" select * from User</sql>
<select id="findById" parameterType="int" resultType="user"><include refid="selectUser"></include> where id=#{id}
</select>
<select id="findByIds" parameterType="list" resultType="user"><include refid="selectUser"></include><where><foreach collection="array" open="id in(" close=")" item="id" separator=",">#{id}</foreach></where>
</select>

2.3 知识小结

MyBatis映射文件配置:

:查询

:插入

:修改

:删除

:where条件

:if判断

:循环

:sql片段抽取

在这里共享一下例子代码,需要的请去下载https://gitee.com/LCreator/spring_learning
在这里插入图片描述

http://www.lbrq.cn/news/814357.html

相关文章:

  • 网站欣赏/成功的品牌推广案例分析
  • 小程序怎么做微网站链接/今天的新闻最新消息
  • php网站开发图文教程/网站视频播放代码
  • 做网站 乐清/百度公司电话是多少
  • 工作室怎么网站备案/西安seo网站关键词
  • wordpress二次开发手册chm/搜索引擎关键词优化技巧
  • 网站tag 怎么实现/aso优化渠道
  • 网站有二级域名做竞价/成都网站建设技术支持
  • 自己怎么做视频收费网站/手机网站制作软件
  • 徐州小程序开发/如何软件网站优化公司
  • 娄底高端网站建设/最佳磁力引擎吧
  • 人工智能设计系统公司/抖音seo运营模式
  • wordpress 微信导航站/站长工具同大全站
  • 做网站带来的好处/广告联盟app下载官网
  • 公众号小程序商店/app搜索优化
  • b站直接进入/企业建站用什么好
  • 开源网站建设/外贸谷歌推广
  • 抚州南城网站建设/色盲怎么治疗
  • 部门网站建设管理典型经验材料/什么是搜索引擎竞价推广
  • 网站建设分为什么/百度极速版下载
  • wordpress代码中文注释/seo服务建议
  • 2008 iis asp配置网站/合肥seo搜索优化
  • 网站推广大概需要多少钱/人民日报今天新闻
  • 福建设计院网站/地推放单平台
  • 北京网站开发多少钱/服务器
  • 店面设计费入什么科目/网络推广优化网站
  • 合肥网站制作需/杭州小程序建设公司
  • 农业网站建设公司/对搜索引擎优化的认识
  • 上海建设交通委网站/全网推广平台
  • sem优化操作/浙江seo关键词
  • 生产环境使用云服务器(centOS)部署和使用MongoDB
  • C++___快速入门(上)
  • Redis 缓存机制详解:原理、问题与最佳实践
  • 备份一下我的 mac mini 的环境变量配置情况
  • MJ11032G和MJ11033G是对管由onsemi/安森美公司研发的一款高性能、低功耗的达林顿晶体管
  • docker-compose up -d 显示no configuration file provided: not found什么问题