首页 > 作文

mybatis的动态SQL以及连接池详解

更新时间:2023-04-04 22:53:40 阅读: 评论:0

目录
mybatis动态sql及连接池mybatis中的范围查询,in连接池动态sql与多表的连接查询张养浩传动态sql多表的连接查询小结

mybatis动态sql及连接池

mybatis根据传入参数的不同来查询。

<lect id="findbycondition" parametertype="com.domain.ur" resulttype="com.domain.ur">    lect * from urs where 1=1    <if test="name != null">     and name= #{name}    </if>  </lect>

如果太多的话,就不写where1=1.在if外面嵌套if标签。

<lect id="findbycondition" parametertype="com.domain.ur" resulttype="com.domain.ur">    lect * from urs    <where>      <if test="name != null">        and name= #{name}      </if>    </where>  </lect>

同时,第一个if语句中的a凛凛岁云暮nd将会被省略!!!

mybatis中的范围查询,in

mybatis范围查询,例如lect * from urs where age in (11,12,13);

外部定义一个包装类,包装ages作为属性,下列以id为例子(在外部定义集合来包装)

<lect id="findbyrange" parametertype="com.domain.queryvo" resulttype="com.domain.ur">    lect * from urs    <where>//where子句的开头,and或者是or,将会被where元素去除。      <if test="ids != null and ids.size()>0">这里的判断条件是java语句        <foreach collection="ids" open="and id in (" clo=")" item="id"如何唱好歌的技巧 parator=",">          #{id}        </foreach>      </if>    </where>  </lect>

sql语句 lect 字段 from where id in{?}

<foreach>标签用于遍历集合,它的属性;

collection 代表要遍历的集合元素(属性名称)open代表语句的开始部分clo代表语句的结束部分item代表遍历集合的每个元素,生成的变量名sperator代表元素之间的分割符

连接池

连接池:在实际开发中使用,可以减少我们获取连接所消耗的时间。

mybatis连接池提供了3种方式的配置

在主配置文件中的datasource属性中配置

type取值 poo这时候led采用传统的javax.sql.datasource规范中的连接池 unpolled 虽然实现了datasource的标准,但是没有使用池的概念(connection对象)jndi 使用服务器提供的jndi技术来取得datasource对象。注意:如果不是web工程和maven的war工程,是不可使用的。

备注:mybatis中事务的操控,底层是通过操控connection对象设置的。

pooled:从池中拿出连接,最后把连接放回池里。unpooled 创建连接,结束连接(jdbc连接方式)

动态sql与多表的连接查询

动态sql

① where和if标签

② foreach循环标签

注意事项

③ 批量添加

④ lectkey

多表的连接查询

① 多对一查询

a). 建表时,外键一定是建在多的一端。

b). 在多的一端的实体类中创建一个一的一端的对象属性。

c). 连接查询的sql语句

①lect … fro庄周家贫m 表1 left join 表2 on 连接条件。连接条件一般就是外键=指向的主键。② resultmap

i. id,result配置一般的属性

ii. association标签配置多余的字段,property和javatype属性。子标签id和result

② 多对一查询如何做到修改功能

③ 一对多查询

与多对一查询不同的地方:

a)创建实体类时,在一的一端创建一个list属性,list中放的是多的一端的对象。

b)详细的resultmap配置

小结

一对多的查询用的相对少一些。在查询一的一端的同时查询展示外键与一的 一端的主键相同的数据。

例:查询部门表同时查询展示所有属于该部门的员工。

多对以的查询用的相对多一些。在查询多的一端的同时查询展示主键与多的一端的外键相同的数据。例:查询员工表同时查询展示该员工所属的部门信息。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-04 22:53:39,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/b03911f744fa7008148b2ba7ac7c4734.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:mybatis的动态SQL以及连接池详解.doc

本文 PDF 下载地址:mybatis的动态SQL以及连接池详解.pdf

标签:属性   语句   连接池   标签
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图