13Mybatis_SqlMapConfig.xml专题讲解
Mybatis的SqlMapConfig.xml中以下的标签:
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)
第一部分:讲解properties属性:
将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties的属性值。
在SqlMapConfig.xml中就不需要对数据库连接参数硬编码。
将数据库连接参数只配置在db.properties中,原因:方便对参数进行统一管理,其它xml可以引用该db.properties。
做法如下:
先给出案例图:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybaits
jdbc.username=root
jdbc.password=root
2.修改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>
<!-- 和spring整合后 environments配置将废除-->
<properties resource="db.properties"></properties>
<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> <!-- 把映射文件(sqlmap/user.xml)加载进sqlMapConfig.xml-->
<mappers>
<!-- 把mapper.xml加载进sqlMapConfig.xml-->
<mapper resource="mapper/userMapper.xml"/>
</mappers> </configuration>
properties特性:
注意: MyBatis 将按照下面的顺序来加载属性:
在 properties 元素体内定义的属性首先被读取。
然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。
最后读取parameterType传递的属性,它会覆盖已读取的同名属性。
建议:
不要在properties元素体内添加任何属性值,只将属性值定义在properties文件中。
在properties文件中定义属性名要有一定的特殊性,如:XXXXX.XXXXX.XXXX
运行之后一切正常。
----------------------------------------------------------------------------------------------------------------------------------------------------------
第二部分:Settings全局参数配置:
mybatis框架在运行时可以调整一些运行参数。
比如:开启二级缓存、开启延迟加载。。
全局参数将会影响mybatis的运行行为。不要随便乱设置参数。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
第三部分:typeAilases(别名)重点,很常用的
需求:
在mapper.xml中,定义很多的statement,statement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。
如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发。
我们可以这么做:
1.在sqlMapper.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> <!-- properties的配置必须写在typeAliases的上面 -->
<properties resource="db.properties"></properties> <!-- 配置别名 -->
<typeAliases>
<!-- 针对别名定义
type:类型的路径
alias:别名
-->
<typeAlias type="cn.itcast.mybatis.po.User" alias="user"/>
</typeAliases> <!-- 和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> <!-- 把映射文件(sqlmap/user.xml)加载进sqlMapConfig.xml-->
<mappers> <!-- 把mapper.xml加载进sqlMapConfig.xml-->
<mapper resource="mapper/userMapper.xml"/>
</mappers> </configuration>
2.userMapper.xml修改代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- nanmespace:命名空间。 作用就是对sql进行分类话管理,理解Sal分离 注意:使用mapper代理方式,namespace有特殊重要的作用
--> <mapper namespace="cn.itcast.mybatis.Dao.UserMapper"> <!-- 根据id获取用户信息 -->
<!-- 在映射文件中配置很多sql语句 -->
<!--
id:标识映射文件中的sql;
将sql语句封装到mappedStatement对象中,所以将id称为statement的id;parmenterType:指定输入的参数的类型,这里指定的int型
#{}表示一个占位符号;
#{id}:其中的id表示接收输入的参数,参数名称就是id,如果输入参数就是简单类型,#{}中的参数名可以任意,可以value或其它名称
resultType:指定的sql输出结果的所映射的java对象类型,select指定resultType表示将单条记录映射成的java对象; -->
<!-- 这里因为用了typeAliases所以 resultType直接写user-->
<select id="findUserById" parameterType="int" resultType="user">
select * from user where id = #{id}
</select>
<!--where username like '%${value}%' 这句话中必须写value不然就报错。因为规则上明确说过
${}接收输入参数,类型可以是简单类型,pojo、hashmap。
如果接收简单类型,${}中只能写成value。 -->
<select id="findUserByName" parameterType="String" resultType="user">
select * from user where username like '%${value}%'
</select> </mapper>
测试:代码运行正常。
--------------------------------------------------------------------------------------------------------------------------------------------------------------
第四部分:mappers(映射配置)这个非常重要
mapper的映射配置分为三种:
1.通过rsource加载单个映射配置文件((修改SqlMapConfig.xml文件))
aaarticlea/png;base64,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" alt="" />
2.通过mapper接口加载单个mapper(修改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> <!-- properties的配置必须写在typeAliases的上面 -->
<properties resource="db.properties"></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接口来加载单个mapper -->
<!--
遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致
且在一个目录中。
当着这个规范的前提是:使用mapper代理方法。
--> <mapper class="cn.itcast.mybatis.mapper.userMapper" />
</mappers> </configuration>
把包的结构改一下:需要将mapper接口类名和mapper.xml映射文件名称保持一致且在一个目录中。
aaarticlea/png;base64,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" alt="" />
运行一切正常。
3.批量加载mapper(推荐使用,企业中用的)
<?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> <!-- properties的配置必须写在typeAliases的上面 -->
<properties resource="db.properties"></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的方式来加载也必须遵循下面的规范 遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致
且在一个目录中。
当着这个规范的前提是:使用mapper代理方法。 --> <package name="cn.itcast.mybatis.mapper"/> </mappers> </configuration>
aaarticlea/png;base64,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" alt="" />
结果:运行一切正常
13Mybatis_SqlMapConfig.xml专题讲解的更多相关文章
- Activity Process Task Application 专题讲解
Activity Process Task Application 专题讲解 Activity.和进程 为了阅读方便,将文档转成pdf http://files.cnblogs.com/franksu ...
- Python中模块之xml的讲解
xml模块的功能介绍 这里主要讲解xml模块下的etree.ElementTree类. 1. 创建 具体代码如下 import xml.etree.ElementTree as XM namelist ...
- struts2_struts.xml配置文件讲解
1.bean Bean详细讲解:https://www.cnblogs.com/lulu638/p/4340703.html 2.constant constant属性配置,可配置的属性可以参考def ...
- PHP创建XML文件讲解
<?php #code by coder_apex 2007-6-15 #自动生成一个如下的XML文件 # # <?xml version="1.0& ...
- PHP读取xml方法讲解
一,什么是xml,xml有什么用途 XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Marku ...
- Android中View的绘制流程(专题讲解)
Android中的UI视图有两种方式实现:.xml文件(实现代码和UI的分离)和代码实现. Android的UI框架基本概念: 1. Activity:基本的页面单元,Activity包含一个Wind ...
- XML专题:使用NSXMLParser解析xml文件
使用NSXMLParser解析xml文件 1. 设置委托对象,开始解析 NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data ...
- Tomcat的server.xml配置讲解(一)
一.Tomcat虚拟目录的配置 1.服务器配置 默认端口号为8080,如果要想修改端口号,则可以在Tomcat目录中的conf/server.xml文件,找到如下代码,将端口号改为:80:保存serv ...
- maven的pom.xml配置文件讲解
<project xmlns="http://maven.apache.org/POM/4.0.0 " xmlns:xsi="http://www.w3.o ...
随机推荐
- 关于ArcGIS10.0中的栅格计算中的函数
版本升级确实很重要,在ArcGIS10.1中计算成功的,在10.0中出了问题. 问题 在进行栅格计算时,计算公式很简单,包括两个Ln函数: "-22.73 + 11.1 * Ln(5) + ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q22-Q24)
Question22You create a Feature.You need to remove the link to the Site Content Type page from the Si ...
- RecyclerView和ScrollView嵌套使用
我们的recyclerView有多个layoutmanager,通过重写layoutmanager的方法就可以让recyclerView和ScrollView嵌套了.但是请注意,如果recyclerV ...
- Hibernate学习0.Hibernate入门
Hibernate是什么 面向java环境的对象/关系数据库映射工具. 1.开源的持久层框架. 2.ORM(Object/Relational Mapping)映射工具,建立面向对象的域模型和关系数据 ...
- 初始block,关于定义的几个小题目
block的定义和C语言指针函数非常相似,就可以照着指针函数的方法去依葫芦画瓢就可以了 block中的^只是用来表示这是一个block对象,和函数指针中的*作用一样,只是一个标识符 下面有三个小例子来 ...
- 不小心改了Xcode系统的头文件,运行报错,解决办法
- iOS 使用SDwebImage缓存图片并在断网时候显示
[_loadImageView setShowActivityIndicatorView:YES]; [_loadImageView setIndicatorStyle:UIActivityI ...
- 苹果手机不进post方法
今天遇到一个问题,开发的公众号中的一个界面在安卓和微信开发者工具中可以正常显示,在苹果手机中加载不出数据. 以下是部分代码: var start = 0; var limit = 15; var ca ...
- win7 64位安装oracle10g出现未知错误,程序异常终止解决方法
修改Oracle 10G\database\stage\prereq\db\refhost.xml 在 </SYSTEM> <CERTIFIED_SYSTEMS>后面添加 &l ...
- 《第一行代码——Android》
<第一行代码——Android> 基本信息 作者: 郭霖 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115362865 上架时间:2014-7-14 出版日期:2014 ...