博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis学习笔记二
阅读量:5031 次
发布时间:2019-06-12

本文共 2205 字,大约阅读时间需要 7 分钟。

  一、mybatis配置文件sqlmapconfig.xml

  该配置文件一般需要配置数据源,别名的定义,加载属性文件的定义,全局参数配置(如开启二级缓存),加载映射文件的配置等

  1、配置数据源(与spring整合后将不需要配置)

    

  2、别名的定义(定义了别名在配置mapper的映射文件时就不用写类的完全限定名了,一般直接指定包名)

    

  3、加载属性文件(如db.properties文件,这样分开来写方便后期维护)

  4、全局参数配置(需要时开启,如开启二级缓存)

  5、加载Mapper的映射文件

  二、XXXMapper.xml文件解析

  一般在该文件中需要我们根据实际需求写各种sql,增删改查对应的标签为<insert/><delete/><update/><select/>,下面主要详细记录这些标签中的一些属性以及XXXMapper.xml中其他常用且实用的标签

  1、增删改查等标签的各个属性

    1.1、id(必配):起到唯一标识作用,mapper中的对应方法名需要与该id一致;

    1.2、parameterType(根据具体需求)

      parameterType即输入参数类型,如果需要有条件查询则需配置该属性,其可以指定输入参数的类型(可以是简单形,map,pojo及其的包装类)。

    1.3、resultType(根据具体需求)

      resultType即输出参数类型,如果需要sql返回结果则需配置该属性,其可以指定输出参数的类型。需要注意的是,使用该属性需要使查询到的列名与该属性的值(一般为实体类)一致,否则会导致输出映射的数据不全或是失败

    1.4、resultMap(根据具体需求)

      resultMap也能指定输出参数的类型,但相比于resultType其不要求查询到的列名与其属性值的属性名一致,适用于多表查询或对于查询结果有特殊要求的需求,但是它需要单独配置,一般配置如下:

  2、其他常用标签

    2.1、sql片段

      在配置文件中有时候某一sql或是列名我们会重复使用,我们可以将他们提取出来放在我们定义的sql片段中,一般配置如下:

    定义sql片段:

  

    调用sql片段:

   

    2.2、if标签

    在开发中我们会遇到一些需求,如对查询条件进行判断,如果输入参数不为空才进行查询条件拼接。使用if标签就不用我们在业务层对参数进行判断而是直接在配置文件中进行判断,下面展示一个实例:

and user.sex = #{userCustom.sex}

    2.3、foreach

    如果参数是一个list的话我们需要遍历该list,这就需要使用foreach标签了,配置可参考下面的代码:

  

    
id=#{user_id}

    2.4、占位符

     ${}:表示拼接sql串,将接收到参数的内容不加任何修饰拼接在sql中,使用${}拼接sql,引起 sql注入

     ${value}:接收输入 参数的内容,如果传入类型是简单类型,${}中只能使用value

  至此,mybatis中用到的配置文件的解析就差不多记完了,下篇准备记录mybatis的延迟加载和缓存。

    

转载于:https://www.cnblogs.com/darling2047/p/6054274.html

你可能感兴趣的文章
CI 框架中的日志处理 以及 404异常处理
查看>>
keepalived介绍
查看>>
css3 标签 background-size
查看>>
python itertools
查看>>
Linux内核调试技术——jprobe使用与实现
查看>>
ubuntu设计文件权限
查看>>
Vue双向绑定原理详解
查看>>
Android基础总结(5)——数据存储,持久化技术
查看>>
关于DataSet事务处理以及SqlDataAdapter四种用法
查看>>
bootstrap
查看>>
http://lorempixel.com/ 可以快速产生假图
查看>>
工程经验总结之吹水"管理大境界"
查看>>
为什么JS动态生成的input标签在后台有时候没法获取到
查看>>
20189210 移动开发平台第六周作业
查看>>
java之hibernate之基于外键的双向一对一关联映射
查看>>
rxjs一句话描述一个操作符(1)
查看>>
第一次独立上手多线程高并发的项目的心路历程
查看>>
ServiceStack 介绍
查看>>
Centos7下载和安装教程
查看>>
无谓的通宵加班之后的思索
查看>>