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属于一种半自动的 ...
随机推荐
- java spring是元编程框架---使用的机制是注解+配置
java spring是元编程框架---使用的机制是注解+配置
- Sqlite-net 修改版 支持中文和CodeFirst技术
最近, 做的一个windows 桌面WPF程序, 需要数据库支持.尝试了 sql server 的开发版,使用EF , 效率太低.后来采用sqlite数据库,中间踩坑无数.但最终完美的解决了这些问题. ...
- zookeeper启动失败,但是状态显示已启动的原因
今天在起zookeeper集群的时候,其他两台机子都能起起来,只有这一台机子起不起来: 对比了 这个路径下的 文件后发现多了一个这个文件 根据名字推测应该是放进程id.突然明白这个应该是上次非正常退出 ...
- 查询物料单位PAC成本
select cpp.period_name 期间名称, ccga.organization_id 组织ID, ood.ORGANIZATION_CODE 组织代码, OOD.ORGANIZATION ...
- Linux 释放cache
sysc 将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node.已延迟的块 I/O 和读写映射文件 echo 3 > /proc/sys/vm/drop_caches To free p ...
- Spring Boot 2 + Thymeleaf:服务器端表单验证
表单验证分为前端验证和服务器端验证.服务器端验证方面,Java提供了主要用于数据验证的JSR 303规范,而Hibernate Validator实现了JSR 303规范.项目依赖加入spring-b ...
- ABP入门教程11 - 展示层实现增删改查-视图
点这里进入ABP入门教程目录 创建目录 在展示层(即JD.CRS.Web.Mvc)的Views下新建文件夹Course //用以存放Course相关视图 创建视图 在JD.CRS.Web.Mvc/Vi ...
- linux内核的冷热页分配器
先说说cpu的cache,和cpu的cache比起来访问主内存是非常慢的,为了加快速度根据本地性原则,cpu在访问主内存的时候会把附近的一块数据都加载到cpu的cache里,之后读写这块数据都是在ca ...
- numpy和matplotlib的pyplot函数的简单应用实现
- 【1期】mysql必知必会
再有人问你为什么MySQL用B+树做索引,就把这篇文章发给她