Mybatis学习笔记(四) —— SqlMapConfig.xml配置文件
一、properties(属性)
SqlMapConfig.xml可以引用java属性文件中的配置信息
在config下定义db.properties文件,如下所示:

db.properties配置文件内容如下:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
SqlMapConfig.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> <!-- 使用resource属性加载外部配置文件 -->
<properties resource="db.properties">
<!-- 在properties内部用property定义属性 -->
<!-- 如果外部配置文件有该属性,则内部定义属性被外部属性覆盖 -->
<property name="jdbc.username" value="root123" />
<property name="jdbc.password" value="root123" />
</properties> <!-- 和spring整合后 environments配置将废除 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理 -->
<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> <mappers>
<mapper resource="sqlmap/User.xml"/>
<mapper resource="mapper/UserMapper.xml"/>
</mappers> </configuration>
注意: MyBatis 将按照下面的顺序来加载属性:
- 在 properties 元素体内定义的属性首先被读取。
- 然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。
二、typeAliases
为实体类定义别名,简化sql映射xml文件中的引用。
之前,我们在sql映射xml文件中的引用实体类时,需要写上实体类的全类名(包名+类名),如下:
<!-- 保存用户 -->
<insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User">
INSERT INTO `user`(username,birthday,sex,address) VALUES
(#{username},#{birthday},#{sex},#{address});
</insert>
parameterType="cn.itcast.mybatis.pojo.User"这里写的实体类User的全类名cn.itcast.mybatis.pojo.User,每次都写这么一长串内容挺麻烦的,而我们希望能够简写成下面的形式
<!-- 保存用户 -->
<insert id="saveUser" parameterType="_User">
INSERT INTO `user`(username,birthday,sex,address) VALUES
(#{username},#{birthday},#{sex},#{address});
</insert>
parameterType="_User"这样写就简单多了,为了达到这种效果,我们需要在SqlMapConfig.xm文件中为实体类"cn.itcast.mybatis.pojo.User"定义一个别名为"_User",具体做法如下:
在SqlMapConfig.xm文件中<configuration></configuration>标签中添加如下配置:
<typeAliases>
<typeAlias type="cn.itcast.mybatis.pojo.User" alias="_User"/>
</typeAliases>
这样就可以为cn.itcast.mybatis.pojo.User类定义了一个别名为_User,以后_User就代表了cn.itcast.mybatis.pojo.User类,这样sql映射xml文件中的凡是需要引用cn.itcast.mybatis.pojo.User类的地方都可以使用_User来代替,这就达到了一个简化实体类引用的目的。
除了可以使用<typeAlias type="cn.itcast.mybatis.pojo.User" alias="_User"/>这种方式单独为某一个实体类设置别名之外,我们还可以使用如下的方式批量为某个包下的所有实体类设置别名,如下:
<!-- 配置实体类的别名,配置实体类别名的目的是为了在引用实体类时可以使用实体类的别名来代替实体类,达到简写的目的 -->
<typeAliases>
<!-- 为实体类cn.itcast.mybatis.pojo.User配置一个别名_User -->
<!-- <typeAlias type="cn.itcast.mybatis.pojo.User" alias="_User"/> -->
<!-- 为cn.itcast.mybatis.pojo包下的所有实体类配置别名,MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名 比如cn.itcast.mybatis.pojo.User这个实体类的别名就会被设置成User -->
<package name="cn.itcast.mybatis.pojo"/>
</typeAliases>
三、mappers(映射器)
3.1 <mapper resource=" " />
使用相对于类路径的资源(现在的使用方式)
如:<mapper resource="sqlmap/User.xml" />
3.2 <mapper class=" " />
使用mapper接口类路径
如:<mapper class="cn.itcast.mybatis.mapper.UserMapper"/>
注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。
3.3 <package name=""/>
注册指定包下的所有mapper接口
如:<package name="cn.itcast.mybatis.mapper"/>
注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。
Mybatis学习笔记(四) —— SqlMapConfig.xml配置文件的更多相关文章
- MyBatis学习(四)XML配置文件之SQL映射的XML文件
SQL映射文件常用的元素: 1.select 查询语句是MyBatis最常用的语句之一. 执行简单查询的select元素是非常简单的: <select id="selectUser&q ...
- mybatis学习笔记(四)-- 为实体类定义别名两种方法(基于xml映射)
下面示例在mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现 Demo的基础上进行优化 以新增一个用户为例子,原UserMapper.xml配置如下: < ...
- Mybatis(二)--SqlMapConfig.xml配置文件
一.简介 SqlMapConfig.xml是Mybatis的全局配置文件,我们在写mybatis项目时,在SqlMapConfig.xml文件中主要配置了数据库数据源.事务.映射文件等,其实还有很多配 ...
- Mybatis框架基础入门(四)--SqlMapConfig.xml配置文件简介
SqlMapConfig.xml中配置的内容和顺序如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) o ...
- mybatis系列笔记(3)---SqlMapConfig.xml解析
SqlMapConfig.xml SqlMapConfig.xml是Mybatis的全局配置参数,关于他的具体用的有专门的MyBatis - API文档,这里面讲的非常清楚,所以我这里就挑几个讲下: ...
- mybatis学习记录三——SqlMapConfig.xml相关参数详解
5 SqlMapConfig.xml mybatis的全局配置文件SqlMapConfig.xml,配置内容如下: properties(属性) settings(全局配置参数) ty ...
- 【MyBatis学习05】SqlMapConfig.xml文件中的配置总结
经过上两篇博文的总结,对mybatis中的dao开发方法和流程基本掌握了,这一节主要来总结一下mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置,首先看一下该全局配置 ...
- Mybatis学习笔记(五) —— Mapper.xml(输入映射和输出映射)
一.parameterType(输入类型) 1.1 传递简单类型 <!-- 根据用户id查询用户 --> <select id="queryUserById" p ...
- mybatis学习笔记四(动态sql)
直接贴图,注解在代码上,其他的配置文件在学习一中就不贴了 1 数据库 2 实体类 package com.home.entity; /** * 此类是: 用户实体类 * @author hpc * @ ...
随机推荐
- 问题:Server.MapPath;结果:Server.MapPath的命名空间
习惯用Access的朋友都知道:ADO.NET链接Access数据库经常这么写:strcon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&q ...
- Android Tombstone 分析
1.什么是tombstone 当一个动态库(native 程序)开始执行时,系统会注册一些连接到 debuggerd 的 signal handlers,当系统 crash 的时候,会保存一个 tom ...
- 如何实现1080P延迟低于500ms的实时超清直播传输技术<转>
转载地址:http://www.yunweipai.com/archives/9037.html 最近由于公司业务关系,需要一个在公网上能实时互动超清视频的架构和技术方案.众所周知,视频直播用 CDN ...
- Codeforces 1142D(dp)
题目传送 先给出设计dp的结论: dp[i][j]:以第i个位置.以rankj的数拓展出去的方案数.意会一下,我实在想不好语言-- 其中所谓rankj=真·rank%11 找到拓展的规律,转移也就顺理 ...
- java内存模型和线程安全
- linux环境启动django项目
BBS部署步骤 安装python3.6(如已安装无需重复) install python3.6 把BBS项目传上来 rz 选择文件 BBS.tar 解压文件 tar -xvf BBS.tar 安装my ...
- 《Maven实战》笔记-7-持续集成
一.持续集成的步骤: 1.持续编译 2.持续数据库集成 3.持续测试 4.持续审查 5.持续部署 6.持续反馈 二.持续集成工具——Hudson 1.安装Hudson 2.准备Subversion ...
- 《Maven实战》笔记-4-生命周期和插件
除了坐标.依赖以及仓库外,Maven另外两个核心概念是生命周期和插件. 一.生命周期 Maven的生命周期是抽象的,其本身不做任务实际的工作,实际的任务(如编译源代码)都交由插件来完成. 三套生命周期 ...
- 开源PCRF、PCRF体验与PCRF实现
什么是PCRF? PCRF是LTE网络EPC子系统中策略与计费控制(PCC)子系统中的网络实体.LTE网络或EPC网络的规范文档可到参考3GPP官方网站,ETSI欧洲标准,FTP下载地址.与PCC相关 ...
- iOS逆向编程工具篇:class-dump
class-dump是用来dump目标对象的class信息的工具,利用OC的runtime特性,将存储在Mach-O文件中的@interface.@protocol信息提取出来,并生成对应的.h文件. ...