一、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配置文件的更多相关文章

  1. MyBatis学习(四)XML配置文件之SQL映射的XML文件

    SQL映射文件常用的元素: 1.select 查询语句是MyBatis最常用的语句之一. 执行简单查询的select元素是非常简单的: <select id="selectUser&q ...

  2. mybatis学习笔记(四)-- 为实体类定义别名两种方法(基于xml映射)

    下面示例在mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现 Demo的基础上进行优化 以新增一个用户为例子,原UserMapper.xml配置如下: < ...

  3. Mybatis(二)--SqlMapConfig.xml配置文件

    一.简介 SqlMapConfig.xml是Mybatis的全局配置文件,我们在写mybatis项目时,在SqlMapConfig.xml文件中主要配置了数据库数据源.事务.映射文件等,其实还有很多配 ...

  4. Mybatis框架基础入门(四)--SqlMapConfig.xml配置文件简介

    SqlMapConfig.xml中配置的内容和顺序如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) o ...

  5. mybatis系列笔记(3)---SqlMapConfig.xml解析

    SqlMapConfig.xml SqlMapConfig.xml是Mybatis的全局配置参数,关于他的具体用的有专门的MyBatis - API文档,这里面讲的非常清楚,所以我这里就挑几个讲下: ...

  6. mybatis学习记录三——SqlMapConfig.xml相关参数详解

      5       SqlMapConfig.xml mybatis的全局配置文件SqlMapConfig.xml,配置内容如下: properties(属性) settings(全局配置参数) ty ...

  7. 【MyBatis学习05】SqlMapConfig.xml文件中的配置总结

    经过上两篇博文的总结,对mybatis中的dao开发方法和流程基本掌握了,这一节主要来总结一下mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置,首先看一下该全局配置 ...

  8. Mybatis学习笔记(五) —— Mapper.xml(输入映射和输出映射)

    一.parameterType(输入类型) 1.1 传递简单类型 <!-- 根据用户id查询用户 --> <select id="queryUserById" p ...

  9. mybatis学习笔记四(动态sql)

    直接贴图,注解在代码上,其他的配置文件在学习一中就不贴了 1 数据库 2 实体类 package com.home.entity; /** * 此类是: 用户实体类 * @author hpc * @ ...

随机推荐

  1. Elasticsearch之curl创建索引

    前提,是 Elasticsearch之curl创建索引库 [hadoop@djt002 elasticsearch-2.4.3]$ curl -XPUT 'http://192.168.80.200: ...

  2. 支撑矢量机SVM

    1.线性SVM 首先,回顾一下SVM问题的定义,如下: 线性约束很烦,不方便优化,是否有一种方法可以将线性约束放到优化问题本身,这样就可以无拘无束的优化,而不用考虑线性约束了.其对应的拉格朗日对偶形式 ...

  3. 基于cookie实现用户验证

    #!/usr/bin/env python import tornado.ioloop import tornado.web class IndexHander(tornado.web.Request ...

  4. MyBatis总结四:配置文件xml详解

    XML 映射配置文件 MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息.文档的顶层结构如下: configuration 配置 ...

  5. Data Mining: SSE,MSE,RMSE,R-square指标讲解

    转载自:http://blog.csdn.net/l18930738887/article/details/50629409 SSE(和方差.误差平方和):The sum of squares due ...

  6. 100211D Police Cities

    传送门 分析 看到这个题我们的第一反应自然是Tarjan缩点,在这之后我们可以发现实际只要在缩点之后所有出度或入度为0的点布置警察局就可以达到要求,我们用dpij表示考虑前i个出度或入度为0的点共布置 ...

  7. Pull项目失败

    1.网速原因 2.提示邮箱失效. 邮箱失效:解决方案 File->Setting: 然后,要记得重启,IDEA. 然后,在终端输入:git branch -l 查看项目分支 这样,设置好了用户名 ...

  8. Bootstrap 组件之 Nav

    一.简介 Nav 指导航页.这里 是一个线上例子. 使用了 .nav 的标签就是一个 Nav.下面举例. {注意} 记住,下面的几种导航页都依赖 .nav. 二.导航页 添加 .nav-tabs. & ...

  9. bit byte的关系

    字 word 字节 byte 位 bit 字长是指字的长度 1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = 8bit)  一个字的字长为2个字节=2*8=16 一个字节 ...

  10. c++特别要点:多态性与虚函数

    本来是准备在工厂模式中顺便整理.但粗略浏览了,内容还是很多,需要单独开一篇. 一.什么是多态性? 多态性可以概括为“一个接口,多种方法”. 多态与非多态的区别在于“成员函数调用地址的早绑定和晚绑定”. ...