SSM框架之Mybatis(4)SqlMapConfig
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的更多相关文章
- SSM框架之Mybatis(7)延迟加载、缓存及注解
Mybatis(7)延迟加载.缓存及注解 1.延迟加载 延迟加载: 就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据.延迟加载也称懒加载. **好处:**先从单表查询,需要时再从关联表去关 ...
- SSM框架-初学Mybatis框架
SSM(Spring+SpringMVC+Mybatis)是目前项目开发比较流行的一套组合框架,而Mybatis是负责数据库操作的那部分框架,具体 我也说不上来 传统的JDBC操作比较冗长而繁琐,而用 ...
- SSM框架之Mybatis(5)数据库连接池及事务
Mybatis(5)数据库连接池及事务 1.Mybatis连接池 Mybatis 中也有连接池技术,但是它采用的是自己的连接池技术.在 Mybatis 的 SqlMapConfig.xml 配置文 ...
- SSM框架之MyBatis框架实现简单的增删改查
MyBatis框架介绍 MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系是一种半自动化的ORM实现,其封装性要低于Hibernate,性能优越,并且小巧,简单易学,应用也 ...
- 从0开始整合SSM框架-1.mybatis
1.建立maven项目 2.首先引入mybatis需要引入的依赖(1).数据库驱动(2).mybatis核心包 <!-- mysql数据库驱动--> <!-- https://mvn ...
- SSM框架-使用MyBatis Generator自动创建代码
参考:http://blog.csdn.net/zhshulin/article/details/23912615 SSM搭建的时候用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半 ...
- SSM框架之Mybatis(1)入门
Mybatis(1)入门 1.mybatis的概述 mybatis是一个持久层框架,用java编写的. 它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接等 ...
- SSM框架——使用MyBatis Generator自动创建代码
版权声明:本文为博主原创文章,未经博主允许不得转载. 这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是 ...
- 转:SSM框架——使用MyBatis Generator自动创建代码
转:https://blog.csdn.net/zhshulin/article/details/23912615 这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的 ...
随机推荐
- CSS置换元素和非置换元素
置换元素: 1. 一个内容 不受CSS视觉格式化模型控制,CSS渲染模型并不考虑对此内容的渲染,且元素本身一般拥有固有尺寸(宽度,高度,宽高比)的元素,被称之为置换元素. 2. 置换元素就是浏览器根 ...
- spring源码分析6: ApplicationContext的初始化与BeanDefinition的搜集入库
先前几篇都是概念的讲解:回顾下 BeanDefinition 是物料 Bean是成品 BeanFactory是仓库,存储物料与成品 ApplicationContext初始化搜集物料入库,触发生产线, ...
- CAD简易口诀,保你一天就记住!零基础也能轻松学!CAD制图宝典!
如何才能快速的学习CAD制图呢?不仅仅需要多练习,CAD口诀也是不能错过的哦!实用干货这一个就够了快点收藏起来! 1.创建直线的快捷方式是L+空格 2.创建圆的快捷方式是C+空格 3.创建圆弧的快捷方 ...
- selinux disable
临时关闭: [root@localhost ~]# getenforceEnforcing [root@localhost ~]# setenforce 0[root@localhost ~]# ge ...
- 模块二之序列化模块以及collections模块
模块二之序列化模块以及collections模块 一.序列化模块 json模块 ''' 序列化:将python或其他语言的数据类型转换成字符串类型 json模块: 是一个序列化模块. json: 是一 ...
- 简单理解Busybox下halt/poweroff/reboot实现及区别
关键词:halt/poweroff/reboot.reboot().SIGUSR1/SIGTERM/SIGUSR2等. 1. busybox下的halt/poweroff/reboot实现 通过app ...
- 关于Linux下进程的详解【进程查看与管理】
一.关于进程 进程: 已经启动的可执行程序的运行实力 进程的组成:一个进程包含内核中的一部分地址空间和一系列数据结构.其中地址空间是内核标记的一部分内存以供进程使用,而数据结构则用来纪录每个进程的具体 ...
- 0day2安全——笔记3
第二章 函数调用约定 不同的操作系统,语言和编译器调用函数的原理差不多,但是具体的调用约定有差异. C语言VC++编译的函数传参顺序如下图所示(默认使用__stdcall调用约定) 函数调用步骤(__ ...
- 关于网站登录后的页面操作所携带的不同cookie值
对于课堂派网站,登录后的页面操作只需要携带PHPSESSID或者cookie中间那部分即可,两个都带也可,SERVERID不知道是干啥的,每次响应的都会变. 代码实现: cookie = None c ...
- 小程序-API请求
Page({ onLoad:function(){ // 在onLoad中调用发送请求的函数 this.getProList(); } getProList:function(){ var self= ...