常用的Mybatis标签介绍(七)

简介: 常用的Mybatis标签介绍(七)

介绍完了与数据库表的CURD有关的标签以后,下面简单的介绍一下常用的配置标签。MyBatis的行为设置和属性信息可以通过在MyBatis配置文件中或者Spring Boot的配置文件中进行设置。在MyBatis中,通常使用mybatis-config.xml文件来配置这些属性。而在Spring Boot中,可以通过在application.properties或application.yml文件中添加相应的配置属性来进行设置。在这里,我们以mybatis-config.xml文件xml的配置方式介绍一些标签。其实不管是在application.properties或application.yml文件中,其本质原理是一样的,可以这么说,xml中的节点是跟application.properties或application.yml文件中的属性写法一一对应的。所以初学者可以按照网络教程选择一种方式入门使用,尽量自己熟悉的方法。待用的多了,时间久了,其他方式也就知其原理了。我一直认为xml的写法虽然比较笨重和配置文件众多,但是这种结构化的写法很容易理解,只是现代的集成化框架把一些配置简化了,一个注解或者一行属性对就搞定了很多。

<?xmlversion="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><settings><!-- 设置sql参数 如果java属性为空需要这样配置进行转换成sql的null,因为mybatis没有提供java中null类型的转换器--><settingname="jdbcTypeForNull"value="NULL"/><settingname="logImpl"value="STDOUT_LOGGING"/><settingname="mapUnderscoreToCamelCase"value="true"/></settings><plugins><!-- 分页拦截器--><!-- com.github.pagehelper为PageHelper类所在包名--><plugininterceptor="com.github.pagehelper.PageInterceptor"></plugin></plugins></configuration>

jdbcTypeForNull:当没有为参数指定特定的 JDBC 类型时,空值的默认 JDBC 类型。 某些数据库驱动需要指定列的 JDBC 类型,多数情况直接用一般类型即可,比如 NULL、VARCHAR 或 OTHER。一般使用的是NULL,即允许我们的po类的属性值时空的,这样才能插入到数据表里,当然表里的也会是空的,不配置的话会出错。

mapUnderscoreToCamelCase:是否开启驼峰命名自动映射,即从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。

logImpl指定 MyBatis 所用日志的具体实现,未指定时将自动查找。排查sql问题,打印sql语句很有帮助,一般在开发阶段开启即可。

Plugins:插件配置,一般使用到的是分页插件。

其实Mybatis的配置项还有很多:

image.png

properties设置数据源或连接池属性的

settings也包含很多,大家面试或者有可能实际使用到的一级二级缓存就在这里面配置,平时没用到这块,都是默认值,做缓存也是使用redis在业务层实现了。

typeAliases是给pojo类起一个别名的,现在使用不多了,一般是注解

plugins可以实现很多的插件

mappers是包含很多与具体业务操作相关的映射文件,就是包含curd这些标签的xml,现在使用也不多了,要么是通过注解扫描要么通过java代码的方法指定扫描

typeHandlers在做blob,clob这种类型转换的时候需要,做文件上传存储使用的,现在很少把文件存到数据库里了,也不建议存到数据库里,使用也少了。其他的类型转换主要是日期时间类型,这块用的也不多,碰到可以查询使用方法。

其他的objectFactory、environments和databaseIdProvider使用不多,如果想学习,可以参考mybatis的官方文档深入了解。

https://mybatis.org/mybatis-3/zh/configuration.html

目录
相关文章
|
Java 数据库连接 mybatis
mybatis的set标签
mybatis的set标签
|
7月前
|
SQL Java 数据库连接
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
820 0
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
|
7月前
|
SQL XML Java
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
57 0
|
SQL Java 数据库连接
mybatis的trim标签insert标签update标签
mybatis的trim标签insert标签update标签
|
3月前
|
SQL XML Java
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
文章介绍了MyBatis中动态SQL的用法,包括if、choose、where、set和trim标签,以及foreach标签的详细使用。通过实际代码示例,展示了如何根据条件动态构建查询、更新和批量插入操作的SQL语句。
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
|
3月前
|
SQL XML Java
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
文章介绍了MyBatis中高级查询的一对多和多对一映射处理,包括创建数据库表、抽象对应的实体类、使用resultMap中的association和collection标签进行映射处理,以及如何实现级联查询和分步查询。此外,还补充了延迟加载的设置和用法。
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
|
2月前
|
SQL XML Java
Mybatis的<where>,<if>等标签用法
这篇文章详细解释了Mybatis中<where>和<if>等标签的用法,展示了如何在SQL动态构建中有效地过滤条件和处理逻辑分支。
205 1
|
2月前
|
SQL Java 数据库连接
Mybatis入门(select标签)
这篇文章介绍了Mybatis中`select`标签的基本用法及其相关属性,并通过示例展示了如何配置和执行SQL查询语句。
43 0
Mybatis入门(select标签)
|
2月前
|
SQL Java 数据库连接
Mybatis的<insert>,<update>,<delete>标签用法
这篇文章详细讲解了Mybatis中<insert>, <update>, <delete>标签的使用方法,并提供了示例代码来展示如何执行数据库的增删改操作。
57 0
|
Java 数据库连接 mybatis
mybatis的choose,when,otherwize标签
mybatis的choose,when,otherwize标签