码迷,mamicode.com
首页 > 其他好文 > 详细

Mybaties第三天

时间:2019-12-26 21:22:09      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:管理   集合   bat   另一个   url   全局   ice   批量   关键字   

1. Mybaties运行原理

 

      技术图片

2.关联查询

   一对一  

      直接写 完整的SQL语句,在ResultMap中把所有的属性写出来。

      直接写 完整的SQL语句,在ResultMap中写出一个表中的字段属性,在同一个ResultMap中的association 标签中写出另一个表的字段属性,association 中的javaType属性

    是从表的类型

      两个表的Mapper映射文件,各自写各自的查询SQL,各自写各自的在ResultMap,主表的Mapper映射文件的ResultMap中要写association ,里面不写属性字段,javaType

    属性写上,column是量表关联的字段,select=“执行另一个Mapper映射文件中的namespace 的属性值+查询语句的ID”

  一对多

    同一对一第一种方式一样

    两个表的Mapper映射文件,各自写各自的查询SQL,各自写各自的在ResultMap,主表的Mapper映射文件的ResultMap中要写collection,里面不写属性字段,ofType

    属性写上(从表类型,就是多的一方),column是量表关联的字段,select=“执行另一个Mapper映射文件中的namespace 的属性值+查询语句的ID”

3.懒加载

    需要的时候再去加载,不需要的时候就不加载,默认是关闭的,需要手动开启。只会在sql语句分开的时候才能用

    技术图片

4.动态SQL

    where :代替where关键字,会把多余的where 去掉

    if: <if test="t条件,支持java里的逻辑运算符与equales等方法"></if>   

    choose (when  otherwise):等同于 switch case 方法 。<choose> <when test="条件"></when>... <otherwise> 都不符合条件默认执行</otherwise></choose>

    tirm:<tirm prefix=" 执行完成后加前缀" suffix ="加后缀"  prefixoverrides="覆盖指定前缀" suffixoverrides=“覆盖指定后缀” ></tirm>

    set:代替set标签,配合if使用,去掉最后成立条件的逗号

    Formeach:遍历集合或者数组

      <foreach  collection="要遍历的对象(list或array) "  item="遍历到的当前对象"  separator="遍历对象 之间的分隔符"  open="遍历结束后加指定前缀"

        close="遍历结束后加指定后缀">

      <foreach>

5.整合ssm

 

 

    在原有整合的Spring+SpringMVC 的Spring上加上:

    技术图片

 

  ,并且添加一个技术图片jar包和 Mybaties的 全局配置文件(除了陪懒加载和缓存别的都不需要)。

 

  整合之后,Spring管理Service层,SpringMVC管理Controller,Mybaties管理Dao层

6.批量更新

  在用动态 sql进行 批量更新时,会报错,因为Mybaties不支持批量更新,需要在 配置的时候URL写上&allowMultiQueries=true。

Mybaties第三天

标签:管理   集合   bat   另一个   url   全局   ice   批量   关键字   

原文地址:https://www.cnblogs.com/sunners/p/12104282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!