【mybatis】

2020-03-21  本文已影响0人  giraffecode9668

Spring MyBatis配置扫描

Mybatis 全局配置文件中typeAliases(别名)

mybatis:
    # 搜索指定包别名
    typeAliasesPackage: com.ruoyi.project.**.domain
    # 配置mapper的扫描,找到所有的mapper.xml映射文件
    mapperLocations: classpath*:mybatis/**/*Mapper.xml
    # 加载全局的配置文件
    configLocation: classpath:mybatis/mybatis-config.xml

结果映射

MyBatis中resultType和resultMap的区别

xml写sql语句,含有<select><update><insert><delete>几种标签,常使用resultTyperesultMap表示映射从数据库对象到POJO

resultType:严格按照名称相同进行映射
resultMap:可以设置coloum和property进行映射

参数

mybatis中_parameter使用和常用sql

mybatis参数传递规则是Map

遍历foreach

mybatis 中 foreach collection的三种用法

使用foreach可以遍历参数,如果是Listcolleactionlist,如果是Arraycolleactionarray,如果是Mapcolleaction为对应的key

一对一(一对多)映射

支持联表设置包装Object或者List,在resultMap中设置对应属性associationcollection

构造器映射

使用构造器映射,POJO使用构造方法,不提供set方法注入,更安全

<constructor>
   <idArg column="id" javaType="int"/>
   <arg column="username" javaType="String"/>
</constructor>

public class User {
       //...
       public User(int id, String username) {
         //...
      }
    //...
}

鉴别器

MyBatis之级联——鉴别器
鉴别器使用于相关表分成多张表,比如按性别分,分成多张表

  <discriminator javaType="int" column="vehicle_type">
    <case value="1" resultMap="carResult"/>
    <case value="2" resultMap="truckResult"/>
    <case value="3" resultMap="vanResult"/>
    <case value="4" resultMap="suvResult"/>
  </discriminator>

使用columnPrefix

在colleaction中使用columnPrefix,记得在select中加上as别名设置

动态Sql

mybatis trim标签的使用
Mybatis choose (when, otherwise)标签

上一篇 下一篇

猜你喜欢

热点阅读