Mybatis(4)SqlMapConfig.xml

SqlMapConfig.xml 中配置的内容和顺序

-properties (属性)
--property
-settings(全局配置参数)
--setting
-typeAliases (类型别名)
--typeAliase
--package
-typeHandlers(类型处理器)
-objectFactory(对象工厂)
-plugins(插件)
-environments(环境集合属性对象)
--environment(环境子属性对象)
---transactionManager(事务管理)
---dataSource(数据源)
-mappers (映射器)
--mapper
--package

1、关于配置连接数据库的信息(关于properties标签的讲解)

注:以下所有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">

1.1、原始方法

直接通过environment下的dataSource直接配置

<configuration>
<!--配置环境-->
<environments default="mysql">
<!--配置MySQL的环境-->
<environment id="mysql">
<!--配置事务类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源(连接池)-->
<dataSource type="POOLED">
<!--配置连接池的基本信息4个-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///eesy_mybatis"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments> <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
<mappers>
<mapper resource="dao/IUserDao.xml"/>
</mappers> </configuration>

1.2、通过properties标签配置对应的配置信息

可以在标签内部配置连接数据库的信息,也可以通过属性引用外部配置文件的信息

resource属性:resource="jdbcConfig.properties
用于指定配置文件的位置,按照类路径来写,且配置文件必须保存在类路径下 url属性:
是要求按照Url的写法来写地址
URL:Uniform Resource Locator 统一资源定位符。它是可以唯一标识一个
资源的位置。
它的写法:
http://localhost:8080/mybatisserver/demo1Servlet
协议 主机 端口 URI URI:Uniform Resource Identifier 统一资源标识符。它是在应用中可以唯一定位
一个资源的。
url="file:///E:/java/code/ssm01_mybatis_DAO/src/main/resources/jdbcConfig.properties"

1.2.1、直接在SqlMapConfig.xml中配置

<configuration>

    <properties >
<!--配置连接池的基本信息4个-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///eesy_mybatis"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</properties> <environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments> <mappers>
<mapper resource="dao/IUserDao.xml"/>
</mappers>
</configuration>

1.2.2、通过resource属性加载位于SqlMapConfig.xml同包下的jdbcConfig.properties配置文件

SqlMapConfig.xml文件

<configuration>

    <properties resource="jdbcConfig.properties">
</properties> <environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments> <mappers>
<mapper resource="dao/IUserDao.xml"/>
</mappers>
</configuration>

jdbcConfig.properties配置文件

driver = com.mysql.jdbc.Driver
url = jdbc:mysql:///eesy_mybatis
username = root
password = 123456

1.2.3、通过url属性加载文件

configuration>

    <properties url="file:///E:/java/code/ssm01_mybatis_DAO/src/main/resources/jdbcConfig.properties">
</properties> <environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments> <mappers>
<mapper resource="dao/IUserDao.xml"/>
</mappers>
</configuration>

其中url="file:///E:/java/code/ssm01_mybatis_DAO/src/main/resources/jdbcConfig.properties"就是jdbcConfig.properties配置文件在文件夹中的位置。使用的是file协议。使用默认的主机及端口。

2.typeAliases标签的讲解

使用typeAliases配置别名,它只能配置domain中的类的别名

<typeAliases>
<!--typeAlias属性用于配置别名,type:指定类的全限定类名,alise:指定别名,当指定别名后就不区分大小写因为数据库不区分大小写-->
<!--<typeAlias type="domain.User" alias="user"/>-->
<!--package属性用于指定要配置别名的包,指定后该包下的全部实体类都会注册别名,并且类名就是别名
不再区分大小写-->
<package name="domain"/> </typeAliases>

3、mappers (映射器)

3.1 mapper resource=" "

使用相对于类路径的资源

<mappers>
<mapper resource="dao/IUserDao.xml"/>
</mappers>

3.2 mapper class=" "

使用 mapper 接口类路径

<mappers>
<mapper class="dao.UserDao"/>
</mappers>

注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。

3.3 package name=""

注册指定包下的所有 mapper 接口

<mappers>
<package name="dao"/>
</mappers>

注意:此种方法要求 mar pper 接口名称和 r mapper 映射文件名称相同,且放在同一个目录中。

SSM框架之Mybatis(4)SqlMapConfig的更多相关文章

  1. SSM框架之Mybatis(7)延迟加载、缓存及注解

    Mybatis(7)延迟加载.缓存及注解 1.延迟加载 延迟加载: 就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据.延迟加载也称懒加载. **好处:**先从单表查询,需要时再从关联表去关 ...

  2. SSM框架-初学Mybatis框架

    SSM(Spring+SpringMVC+Mybatis)是目前项目开发比较流行的一套组合框架,而Mybatis是负责数据库操作的那部分框架,具体 我也说不上来 传统的JDBC操作比较冗长而繁琐,而用 ...

  3. SSM框架之Mybatis(5)数据库连接池及事务

    Mybatis(5)数据库连接池及事务 1.Mybatis连接池 ​ Mybatis 中也有连接池技术,但是它采用的是自己的连接池技术.在 Mybatis 的 SqlMapConfig.xml 配置文 ...

  4. SSM框架之MyBatis框架实现简单的增删改查

    MyBatis框架介绍 MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系是一种半自动化的ORM实现,其封装性要低于Hibernate,性能优越,并且小巧,简单易学,应用也 ...

  5. 从0开始整合SSM框架-1.mybatis

    1.建立maven项目 2.首先引入mybatis需要引入的依赖(1).数据库驱动(2).mybatis核心包 <!-- mysql数据库驱动--> <!-- https://mvn ...

  6. SSM框架-使用MyBatis Generator自动创建代码

    参考:http://blog.csdn.net/zhshulin/article/details/23912615 SSM搭建的时候用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半 ...

  7. SSM框架之Mybatis(1)入门

    Mybatis(1)入门 1.mybatis的概述 mybatis是一个持久层框架,用java编写的. 它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接等 ...

  8. SSM框架——使用MyBatis Generator自动创建代码

    版权声明:本文为博主原创文章,未经博主允许不得转载. 这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是 ...

  9. 转:SSM框架——使用MyBatis Generator自动创建代码

    转:https://blog.csdn.net/zhshulin/article/details/23912615 这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的 ...

随机推荐

  1. MySQL数据以全量和增量方式,同步到ES搜索引擎

    本文源码:GitHub·点这里 || GitEE·点这里 一.配置详解 场景描述:MySQL数据表以全量和增量的方式向ElasticSearch搜索引擎同步. 1.下载内容 elasticsearch ...

  2. PHP安全之道学习笔记4:系统命令注入

    系统命令注入 我们有时候写代码会用php脚本去调用系统函数完成业务功能,但是一些系统函数属于高危操作,一旦被webshell或者抓住漏洞则后患极大. 下面整理如下风险系统函数. exec() 函数 该 ...

  3. [WPF 自定义控件]开始一个自定义控件库项目

    1. 目标 我实现了一个自定义控件库,并且打算用这个控件库作例子写一些博客.这个控件库主要目标是用于教学,希望通过这些博客初学者可以学会为自己或公司创建自定义控件,并且对WPF有更深入的了解. 控件库 ...

  4. Go-包

    Go-包 包的介绍以及使用 为什么使用包 为了更加好的维护代码 包的位置 必须再GOPATH路径的src中 能导入的内容 导入的内容名称必须是大写字母开头不然无法导入 包 src中的一个文件夹为一个包 ...

  5. scrapy实例:爬取天气、气温等

    1.创建项目 scrapy startproject weather # weather是项目名称 scrapy crawl spidername开始运行,程序自动使用start_urls构造Requ ...

  6. JS基础语法---对象总结

        * 编程思想:     * 面向过程:凡事亲力亲为,所有的事情的过程都要清楚,注重的是过程     * 面向对象:提出需求,找到对象,对象解决这个问题,我们要结果,注重的是结果     *   ...

  7. IaC云资源编排-Terraform

    Terraform 2019/10/14 Chenxin 整理 转自: https://cloud.tencent.com/developer/article/1469162 IaC与资源编排 IaC ...

  8. EChart绘制风速风向曲线分析图

    1.获取ECharts 在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库. 2.引入ECharts ...

  9. start_udev 是不是会写磁盘头

    遇到一个案例,在这里记录一下 一套Oracle 11.2.0.4 RAC环境,操作系统是RHEL 6.5,共享磁盘是通过UDEV实现RAW绑定设备名,如下 [root@rac1 opt]# ll /d ...

  10. shell-homeworkone

    1.判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否则显示”/etc/inittab is a small file.” ...