11_关于SqlMapperConfig.xml

时间:2022-09-01 22:30:25

【简述】

SqlMapConfig.xml是Mybatis的全局配置文件,配置内容如下:

1.properties---------属性

2.settings-----------全局配置参数

3.typeAliases--------类型别名

4.typeHandlers------类型处理器

5.objectFactory-----对象工厂

6.plugins------------插件

7.environments-----环境集合属性对象

environments ---------环境子属性对象

    transactionManager----------事务管理

dataSource-------------------数据源

8.mappers ---------映射器

(1)properties属性

需求:

将数据库中的连接参数单独配置在db.properties中,只需要在sqlMapConfig.xml中加载该db.properties配置文件。

在sqlMapConfig.xml中就不需要对数据库连接参数硬编码。

配置在db.properties中的优点:方便对参数进行统一的管理,其他的xml文件可以引用该db.properties

原先的【sqlMapConfig.xml】数据库相关的配置如下:

11_关于SqlMapperConfig.xml

修改之后的【sqlMapConfig.xml】如下,注意不要忘了<properties resource="db.properties"></properties>

11_关于SqlMapperConfig.xml

修改之后 在【db.properties】配置文件内容如下

11_关于SqlMapperConfig.xml

【MyBatis加载属性的顺序】

1.在properties元素体内定的属性首先被加载。

2.然后会读取properties元素中resource或url加载的属性,它会覆盖已读取的同名属性(所以命名要注意)

3.最后会读取parameterType传递的属性,它会覆盖已读取的同名属性。

【注意】

不要在<properties>元素体内添加任何属性值,只将属性值定义在db.properties文件中。

在db.properties文件中定义属性文件名要有一定的特殊性,例如jdbc.xxx.xxx

(2)settings全局参数配置

MyBatis框架在运行时可以调整一些运行参数

比如:开启二级缓存、开启延迟加载。。。。

(3)typeAliases(别名)(学习重点!)

需求:

在mapper.xml中,定义了很多的statement

【默认的一些别名的源码】

registerAlias("string", String.class);
registerAlias("byte", Byte.class);
registerAlias("long", Long.class);
registerAlias("short", Short.class);
registerAlias("int", Integer.class);
registerAlias("integer", Integer.class
); //可以发现,parameter="int"或者parameterType="integer"最后都会指向Integer
registerAlias("double", Double.class);
registerAlias("float", Float.class);
registerAlias("boolean", Boolean.class);
registerAlias("byte[]", Byte[].class);
registerAlias("long[]", Long[].class);
registerAlias("short[]", Short[].class);
registerAlias("int[]", Integer[].class);
registerAlias("integer[]", Integer[].class);
registerAlias("double[]", Double[].class);
registerAlias("float[]", Float[].class);
registerAlias("boolean[]", Boolean[].class);
registerAlias("_byte", byte.class);
registerAlias("_long", long.class);
registerAlias("_short", short.class);
registerAlias("_int", int.class);
registerAlias("_integer", int.class);
registerAlias("_double", double.class);
registerAlias("_float", float.class);
registerAlias("_boolean", boolean.class);
registerAlias("_byte[]", byte[].class);
registerAlias("_long[]", long[].class);
registerAlias("_short[]", short[].class);
registerAlias("_int[]", int[].class);
registerAlias("_integer[]", int[].class);
registerAlias("_double[]", double[].class);
registerAlias("_float[]", float[].class);
registerAlias("_boolean[]", boolean[].class);
registerAlias("date", Date.class);
registerAlias("decimal", BigDecimal.class);
registerAlias("bigdecimal", BigDecimal.class);
registerAlias("biginteger", BigInteger.class);
registerAlias("object", Object.class);
registerAlias("date[]", Date[].class);
registerAlias("decimal[]", BigDecimal[].class);
registerAlias("bigdecimal[]", BigDecimal[].class);
registerAlias("biginteger[]", BigInteger[].class);
registerAlias("object[]", Object[].class);
registerAlias("map", Map.class);
registerAlias("hashmap", HashMap.class);
registerAlias("list", List.class);
registerAlias("arraylist", ArrayList.class);
registerAlias("collection", Collection.class);
registerAlias("iterator", Iterator.class);
registerAlias("ResultSet", ResultSet.class);

【针对自己定义的pojo类型的别名】

在【sqlMapper.xml中】,针对单个别名的定义

11_关于SqlMapperConfig.xml

在【sqlMapper.xml中】,针对批量别名的定义(批量的方式较为常用

指定包名,MyBatis自动扫描包中的pojo类,自动定义别名,别名就是类名(首字母大小写均可)

11_关于SqlMapperConfig.xml

(4)typeHandlers(类型处理器)

MyBatis中通过typeHandlers完成jdbc类型和java类型的转换。

通常情况下,mybatis提供的类型处理器满足日常需求,无需自定义。

(5)mappers(映射配置)

1.例子【sqlMapConfig.xml】中通过resource加载单个映射文件的方式:

11_关于SqlMapperConfig.xml

2.通过mapper接口加载单个映射文件

需要遵循一些规范:需要将XXXmapper.java和XXXmapper.xml映射文件名保持一致,且在一个目录中

11_关于SqlMapperConfig.xml

上边的规范前提:使用mapper代理方法

11_关于SqlMapperConfig.xml

3.批量加载

批量加载mapper接口的包名。myBatis自动扫描包下边的所有的mapper接口进行加载

遵循的规范:需要将XXXmapper.java和XXXmapper.xml映射文件名保持一致,且在一个目录中

上边的规范前提:使用mapper代理方法

11_关于SqlMapperConfig.xml

11_关于SqlMapperConfig.xml的更多相关文章

  1. Mybatis学习4——核心文件sqlMapperConfig&period;xml属性

    1.外部文件jdbc.properties jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis ...

  2. 基于SSM的租赁管理系统1&period;0&lowbar;20161225&lowbar;框架搭建

    搭建SSM底层框架 1. 利用mybatis反向工程generatorSqlmapCustom完成对数据库十表的映射 generatorConfig.xml <?xml version=&quo ...

  3. 【Mybatis架构】输入、输出映射

    前言综述:   其实在我们分析Mybatis的查询缓存或者是一些简介的时候,我们就不难看到有关于Mybatis输入输出映射的东西,比如说: 但是一直没有想起来系统的来总结一下这方面的相关知识,偶然看到 ...

  4. MyBatis之CRUD

    1 mybatis框架介绍 1.1回顾jdbc操作数据库的过程 1.2 mybatis开发步骤 A.提供一个SqlMapperConfig.xml(src目录下),该文件主要配置数据库连接,事务,二级 ...

  5. 10&lowbar;Mybatis开发Dao方法——mapper代理实现

    [工程截图(几个关键的标红框)] [UserMapper.xml] <?xml version="1.0" encoding="UTF-8"?> & ...

  6. mybatis入门介绍一

    首先介绍一下Mybatis是什么?mybatis是Java的持久层框架, JAVA操作数据库是通过jdbc来操作的,而mybatis是对jdbc的封装. 使用mybatis之后,开发者只需要关注sql ...

  7. 框架应用:Mybatis &lpar;一&rpar; - 入门案例

    ORM框架 在实际开发中,工程中本质的任务是从数据库中获取数据,然后对数据进行操作,又或者写入数据.开发时语言是大多是面向对象的工程语言,这个时候就必须进行工程语言和数据库连接语言的转换,也就是所谓的 ...

  8. mybatis之Mybatis&lowbar;demo

    这篇博文通过简单的CRUD案例,让大家能够快速的上手,使用mybatis.   1,在eclipse中新建java project项目 mybatis_demo 2,在mybatis_demo项目中建 ...

  9. spring整合mybatis框架

    1.导入jar包 2.配置文件 a.    applicationContext.xml文件 <beans xmlns="http://www.springframework.org/ ...

随机推荐

  1. URL地址传参乱码

    1.页面使用javascript的方法encodeURIComponent对需要转码的字符进行两次转码,如:encodeURIComponent(encodeURIComponent("** ...

  2. git秘钥配置--转

    git是分布式的代码管理工具,远程的代码管理是基于ssh的,所以要使用远程的git则需要ssh的配置.github的ssh配置如下:一 .设置git的user name和email:$ git con ...

  3. ZT&colon; WEB学习资料

    根据个人经验整理一些Web开发的一些技术书籍,希望对需要进入Web开发领域的TX有所指导,由于是在家里整理的,所有每本书对应的豆瓣链接打不开,如果整理有缺陷请多多指出. 入门篇:通过相关技术的全面基础 ...

  4. 《A First Course in Probability》-chaper1-组合分析-方程整数解的个数

    在概率论问题中求解基本事件.某个事件的可能情况数要涉及到组合分析. 而这一部分主要涉及到简单的计数原理和二项式定理.多项式定理. 我们从一个简单的实例入手. 方程的整数解个数: Tom喜欢钓鱼,一直他 ...

  5. JavaScript的&OpenCurlyDoubleQuote;闭包”到底是什么

    在JavaScripot函数闭包的定义中,一般都有一个outer 函数,一个inner函数.那么“闭包”到底是指outer函数呢,还是指inner函数? 从官方定义来看,并不清楚:A closure  ...

  6. ILayer

    ILayer http://127.0.0.1:47873/help/1-4452/ms.help?method=page&id=ESRICARTO-7E8C676F-000BCF&p ...

  7. 目前的&period;NET 主流的后端ORM框架

    转自:https://www.cnblogs.com/yeminglong/p/9518438.html  推荐一些常用的asp.net ORM框架 SqlSugar (国内) Dos.ORM (国内 ...

  8. 使用机房的网线 连接到自己的电脑 解决Internet没有访问权限问题

    在机房把机子上的网线拔了,插在自己的笔记本上.发现并不能用,能识别Internet,但是没有访问权限. 解决办法: 去查看机房的机子的IP地址和DNS地址,就是那根网线原本连接的那台机.(网线先别拔出 ...

  9. Toggle组件切换开关,控制开关图片显示与隐藏

    UGUI_Image 组件简单笔记 Rect Transform:用于控制 UI 物体的基本属性 Image 基本使用 1.Image 组件是用于显示图片资源的.使用方式有两种:1.显示纯粹的颜色:2 ...

  10. 洛谷P2397 yyy loves Maths VI &lpar;mode&rpar;

    P2397 yyy loves Maths VI (mode) 题目背景 自动上次redbag用加法好好的刁难过了yyy同学以后,yyy十分愤怒.他还击给了redbag一题,但是这题他惊讶的发现自己居 ...