Mybatis配置文件configuration讲解
来源:互联网 发布:淘宝买家留言写什么好 编辑:程序博客网 时间:2024/05/20 18:44
(一)前言
mybatis配置文件中为根节点,其有一系列的子节点,主要使用的有:properties、typeAliases、typeHandlers、environments、databaseIdProvider、mappers。
注意:各子元素的配置是有顺序的,且分别最多只能配置一个子元素,如果没有按照固定顺序配置或者某个子元素配置对此则会报错,错误提示如下:
元素类型为 “configuration” 的内容必须匹配 (properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,
databaseIdProvider?,mappers?)”;
(二)properties元素
properties作用:配置或引入key/value形式值,供配置文件其他地方使用,如供连接池属性配置。
properties的使用有三种,分别为外部引入,property节点配置,参数化配置
第一种:外部引入
格式如下 其中resource为引入classpath下的属性配置文件,也可通过url属性引入,url指文件的URL格式路径
<properties url="file:///D:/neusoftProject/study/mybatis/src/dbconfig.properties"/>
第二种:property
<properties> <property name="username" value="dcp_sis"/> <property name="password" value="neusoft"/> <property name="driver" value="oracle.jdbc.driver.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> </properties>
第三种:参数化配置
构建SqlSessionFactory时可以当做properties参数传入
Properties properties = new Properties();properties.put("driver", "oracle.jdbc.driver.OracleDriver");properties.put("url", "jdbc:oracle:thin:@localhost:1521:orcl");properties.put("username", "dcp_sis");properties.put("password", "neusoft");sqlSessionFactory = new SqlSessionFactoryBuilder() .build(Resources.getResourceAsStream(resource),properties);
注意:上面三种方式如果同时配置了多种方式,则相同属性实际使用会覆盖属性值,三种方法覆盖原则为:
参数化配置 –> 外部引入 –> property节点配置 –>代表覆盖,即如果同时配置了以参数化配置的为准。
(三)typeAliases元素
typeAliases元素:见名知义,就是给类型起别名的(只能是Type,即类、接口或者系统默认设置的基本类型别名),主要作用就是简写Mapper映射文件中参数类型和结果集类型。
<typeAliases> <!-- 给实体类起别名 --> <typeAlias alias="user" type="com.pengmm.entity.User"/> <!-- 给接口起别名 --> <typeAlias alias="userMapper" type="com.pengmm.mapper.UserMapper"/> <!-- 通过定义包名起别名:该包下的所有类(匿名类、接口、成员类除外,因为注册没有意义)都会默认起别名, 规则为Bean的首字母小写的非限定类名来作为它的别名 --> <package name="com.pengmm.entity" /> </typeAliases>
给javaBean起别名有二种方式
方式一:typeAlias
直接在配置文件中通过typeAlias节点配置
<typeAliases> <!-- 给实体类起别名 --> <typeAlias alias="user" type="com.pengmm.entity.User"/> </typeAliases>
方式二:package
在配置文件中通过package节点配置
<typeAliases> <package name="com.pengmm.entity" /></typeAliases>
**注意:
① 通过定义包名起别名:该包及子包下的所有类(匿名类、接口、成员类除外,因为注册没有意义)都会默认起别名,规则为Bean的首字母小写的非限定类名来作为它的别名,如果有@Alias注解,则以注解值为准。
②两种方式作用范围:如果别名和类型都相同,则后面定义的会覆盖前面的定义(别名解析存储为HashMap)
③同一个类型可以同时定义多个别名,但一个别名不同对应多个不同的类型**
- Mybatis配置文件configuration讲解
- Mybatis配置文件属性讲解
- Mybatis详解之mybatis-configuration配置文件
- 3.mybatis全局配置文件讲解
- Mybatis源码分析(一)- Configuration配置文件详解
- Mybatis全局配置文件Configuration.xml详解
- mybatis 配置文件configuration environments以及单独使用mybatis的demo
- mybatis 配置文件configuration environments以及单独使用mybatis的demo
- MyBatis之全局配置文件(Configuration XML)之typeAliases别名
- mybatis configuration
- Mybatis Configuration
- mybatis Configuration
- MyBatis之全局配置文件(Configuration XML)之引入外部配置文件(properties)
- mybatis疑难杂症之配置文件无限加载 Property 'configLocation' not specified, using default MyBatis Configuration
- Mybatis配置文件报错“元素类型为 "configuration" 的内容必须匹配……”
- Mybatis源码解析之初始化配置文件封装为Configuration源码详解
- MyBatis之全局配置文件(Configuration XML)之运行时行为设置(settings)
- 配置文件Configuration工具类
- RxPermission使用
- kettle常用组件
- 马尔可夫决策过程MDP
- 快速幂
- 侧滑 Activity FrameLayout
- Mybatis配置文件configuration讲解
- Java常见的乱码问题及解决方案
- 从五个维度来谈谈视觉设计师如何阐述设计风格
- Linux 系统时间 与RTC 时间
- ros navigation分析-2
- hdu博弈1845---1850
- 内存管理
- Android studio如何彻底断开与svn的连接
- CCF201609-4交通规划