mybatis的动态SQL及连接池怎么配置(mybatis,SQL,开发技术)

时间:2024-05-04 05:53:32 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

mybatis动态SQL及连接池

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

<selectid="findByCondition"parameterType="com.domain.User"resultType="com.domain.User">select*fromuserswhere1=1<iftest="name!=null">andname=#{name}</if></select>

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

<selectid="findByCondition"parameterType="com.domain.User"resultType="com.domain.User">select*fromusers<where><iftest="name!=null">andname=#{name}</if></where></select>

同时,第一个if语句中的and将会被省略!!!

mybatis中的范围查询,in

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

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

<selectid="findByRange"parameterType="com.domain.QueryVo"resultType="com.domain.User">select*fromusers<where>//where子句的开头,and或者是or,将会被where元素去除。<iftest="ids!=nullandids.size()>0">这里的判断条件是Java语句<foreachcollection="ids"open="andidin("close=")"item="id"separator=",">#{id}</foreach></if></where></select>

SQL语句 select 字段 from where id in{?}

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

  • Collection 代表要遍历的集合元素(属性名称)

  • open代表语句的开始部分

  • close代表语句的结束部分

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

  • sperator代表元素之间的分割符

连接池

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

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

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

  • type取值 POOLED采用传统的javax.sql.DataSource规范中的连接池

  • UNPOLLED 虽然实现了DataSource的标准,但是没有使用池的概念(Connection对象)

  • JNDI 使用服务器提供的jndi技术来取得DataSource对象。注意:如果不是web工程和maven的war工程,是不可使用的。

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

  • POOLED:从池中拿出连接,最后把连接放回池里。

  • UNPOOLED 创建连接,结束连接(jdbc连接方式)

动态sql与多表的连接查询

动态sql

① where和if标签

mybatis的动态SQL及连接池怎么配置

② foreach循环标签

mybatis的动态SQL及连接池怎么配置

注意事项

mybatis的动态SQL及连接池怎么配置

③ 批量添加

mybatis的动态SQL及连接池怎么配置

④ selectKey

mybatis的动态SQL及连接池怎么配置

多表的连接查询

① 多对一查询

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

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

C). 连接查询的sql语句

  • ①select &hellip; from 表1 left join 表2 on 连接条件。连接条件一般就是外键=指向的主键。

  • ② resultMap

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

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

mybatis的动态SQL及连接池怎么配置

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

mybatis的动态SQL及连接池怎么配置

③ 一对多查询

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

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

B)详细的resultMap配置

mybatis的动态SQL及连接池怎么配置

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:mybatis的动态SQL及连接池怎么配置的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:怎么使用Serilog替换掉Log4j下一篇:

10 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18