Mybatis的全局配置文件标签介绍(mybatis-config.xml)
全局配置文件中本人只记录了常用的几个
typeHandlers, objectFactory,objectWrapperFactory, reflectorFactory, plugins, databaseIdProvider
这几个只是作为了解,没做记录
mybatis-config.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration> <!--
1:mybatis可以用properties引入外部properties文件内容
resource:引入的是项目的类路径,即项目中的文件
url:引入的是网络路径或者是磁盘路径
-->
<properties resource="dbconfig.properties"></properties> <!--
2:settings标签含有很多重要的设置项
setting用来设置每一个设置项
name:设置项名
value:设置项值
-->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings> <!--
3:typeAliases别名处理器,可以为我们的java类型起别名(别名不区分大小写,也就是即使你制定了别名无论大小写,只要字母对的上就可以)
1)typeAlias为指定java类型起别名,
type:被指定的java类型全类名,默认别名是类名的小写(employee,此时mapper文件中用到的全类名都能写成此别名)
alias:指定全新别名
2)package为某包下以及该子包下的所有类起别名(默认别名是类名的小写)
name:指定包的全路径
3)当批量起别名的时候,若子包中有类名与父包中类名相同时,会发生冲突报错,
这时可以在冲突的bean文件中添加@Alias标签来制定冲突类别名;
-->
<typeAliases>
<typeAlias type="com.yinfu.mybatis.beans.Employee"/>
<!-- <package name="com.yinfu.mybatis.beans"/> -->
</typeAliases> <!--
4:environments环境配置 mybatis可以配置多种环境 default指定使用某种环境,他的值对应的是环境的id
environment配置一个具体的环境信息,(必须包含俩标签),id代表当前环境的唯一标识
transactionManager:事务管理器
type:事务管理器的类型两种:JDBC(JdbcTransactionFactory事务管理器)|MANAGED(ManagedTransactionFactory事务管理器),
dataSource:数据源
type:数据源类型
-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments> <!--
5:databaseIdProvider用来设置多数据库厂商(mysql,oracle,sqlServer等)
当配置环境中有其他数据库的链接配置,并且default来切换查询环境(用的那个数据库),
并且mapper文件中有对SQL语句指定查询环境的属性,这样mybatis可移植性大大增强
-->
<databaseIdProvider type="DB_VENDOR">
<!-- 为不同数据库厂商指定别名 -->
<property name="MySQL" value="mysql"/>
<property name="Oracle" value="oracle"/>
</databaseIdProvider> <!-- 寫好的的SQL映射文件(mapper文件)一定要注册到mybatis-config.xml中 -->
<!--
6:mappers:将SQL映射(mapper文件或mapper接口)注册到全局映射中(mybatis-config.xml)
[1]mapper:注册指定的sql映射
1)配置文件(mapper.xml文件)注册
resource:引入的是项目的类路径,即项目中的文件
url:引入的是网络路径或者是磁盘路径
2)接口注册
class:接口名全路径
①有SQL映射文件(mapper.xml),映射文件名要与接口名同名,并且俩文件要在同一目录下;
②没有SQL映射文件,利用注解将SQL语句写在接口中对应的方法上(@Select @Delete等)
推荐:比较重要的Dao接口用SQL映射文件的方式,不太重要的可以用注解的方式,但是注解修改了源代码;
[2]package:批量注册
name:包的全路径名称;
有SQL映射文件(mapper.xml),映射文件名要与接口名同名,并且俩文件一定要在同一包下 -->
<mappers>
<mapper resource="com/yinfu/mybatis/dao/EmployeeMapper.xml"/>
</mappers>
</configuration>
对应的mapper映射文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 接口式编程,namespace对应的是接口的全类名 -->
<mapper namespace="com.yinfu.mybatis.dao.EmployeeMapper">
<!--
接口式编程,id对应的是接口中的方法名
databaseId是在mybatis-config.xml中databaseIdProvider标签中定义的
即:这条SQL语句是运行在哪个数据库环境下的(mysql,oracle,sql severd等)
此时程序是运行在mysql环境下的,指定了mysql数据库名的和没指定名称的都会执行,如果mapper文件
存在两个相同id方法名的 两条SQL语句,mybatis会自动舍弃没指定数据库名的那条;
-->
<select id="getObjById" resultType="employee" databaseId="mysql(数据库类型的别名)">
select * from tbl_employee where id = #{id}
</select>
</mapper>
对应的mapper接口:
package com.yinfu.mybatis.dao;
import com.yinfu.mybatis.beans.Employee;
public interface EmployeeMapper {
/**
*
* 还有一种注解式mapper,没有对应的mapper.xml文件,而是将SQL语句写在了注解里
* 例:
* @Select("select * from tbl_employee where id = #{id}")
* public Employee getObjById(Integer id);
*
* @param id
* @return
*/
public Employee getObjById(Integer id);
}
Mybatis的全局配置文件标签介绍(mybatis-config.xml)的更多相关文章
- MyBatis全局配置文件标签详解
一.全局配置文件结构 configuration 配置 properties 属性:可以加载properties配置文件的信息 settings 设置:可以设置mybatis的全局属性 typeAli ...
- 由浅入深---MyBatis的全局配置文件
从我开始接触代码,我就很怕写配置文件,一般的配置文件我都是直接从上一个项目复制到这个项目来改改,可能有部分同学也有我这种痛吧: 我目前一般的做法,先去找找例子(从网上,从github,从官网)之后再改 ...
- Mybatis(二) 全局配置文件详解
这节来说说全局配置文件的东西,非常简单.看一遍就懂了. --WH 一.全部配置内容 SqlMapConfig.xml的配置内容和顺序如下,顺序不能乱.现在来对这些属性的意思一一进行讲解. 二.prop ...
- MyBatis(2)-全局配置文件
本文的代码是在MyBatis(1)-简单入门基础之上进行学习的,如有不懂请先看此博文MyBatis(1)-简单入门! 1)配置文件的安装 --->在联网的情况下,点击去下载http://myba ...
- Mybatis笔记五:Mybatis的全局配置文件Configuration.xml讲解
从 XML 中构建 SqlSessionFactory 每个基于Mybatis应用都是以一个SqlSessionFactory实例为中心.SqlSessionFactory实例可以由SqlSessio ...
- SqlMapConfig.xml全局配置文件解析(mybatis)
原文 http://www.cnblogs.com/selene/p/4607004.html 一:SqlMapConfig.xml配置文件的内容和配置顺序如下 properties(属性) set ...
- [mybatis]Example的用法 标签: mybatis 2017-05-21 21:46 651人阅读 评论(11)
Example类是什么? Example类指定如何构建一个动态的where子句. 表中的每个non-BLOB列可以被包括在where子句中. 例子是展示此类用法的最好方式. Example类可以用来生 ...
- _MyBatis3-topic06.07.08.09_ 全局配置文件_引入dtd约束(xml提示)/ 引入properties引用/ 配置驼峰命名自动匹配 /typeAliases起别名.批量起别名
MyBatis3 的全局配置文件 : Setting -官方文档 笔记要点 出错分析 [Intellij idea配置外部DTD文件] 设置步骤: (同Eclipse中的Catalog设置 ) Fil ...
- 3.Struts2配置文件标签介绍
Struts2的很多核心功能都是由拦截器实现的. struts-default.xml中定义了这些拦截器与Result类型. 所以,不继承struts-default包,Struts2提供的很多核心功 ...
随机推荐
- 某考试 T1 arg
题目描述 给出一个长度为 m 的序列 A, 请你求出有多少种 1...n 的排列, 满足 A 是它的一个 LIS. 输入格式 第一行两个整数 n, m. 接下来一行 m 个整数, 表示 A. 输出格式 ...
- SSM!这就是你要的条条框框!
第一次写博 1.导jar包 2,.表和实体类 实体类:com.bao.entity[Student] private int stuNo; private String stuName; privat ...
- 转:Linux中的内存管理
前一段时间看了<深入理解Linux内核>对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看 ...
- dtrace-debug
https://www.objc.io/issues/19-debugging/dtrace/
- Python不同功能的函数
•函数作为参数 import math def add(x,y,f): return f(x) + f(y)print add(25,36,math.sqrt) •map()函数 map()是 Pyt ...
- Servlet的引入
一.分析 此模式有问题: 1.jsp需要呼叫javabean StudentService stuService = new StudentServiceImpl(); List<Student ...
- 基于Cocos2dx + box2d 实现的愤慨的小鸟Demo
1. Demo初始界面 2. 游戏界面 3. 精确碰撞检測 4. 下载 压缩文件文件夹 AngryBird source 愤慨的小鸟Demo源码,基于Cocos2dx C++,以及box2d技 ...
- 导入别人的Android项目,提示 /Libs/gen already exists but is not a source folder. Convert to a source folder or rename it
解决方法: 遇到这个问题的解决方法: 1. 右键点击工程,选择 "Properties" 2. 选择左边的 "Java Build Path" 3. 打开 &q ...
- JavaScript基础简要
JavaScript 引用外部js : <script src="2.js"type="text/javascript"></scri ...
- Lightoj 1017 - Brush (III)
1017 - Brush (III) PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB Sam ...