本次全部学习内容:MyBatisLearning

 
全局配置文件(本次案例中):
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAAZCAIAAACDyzqnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADIElEQVR42u2ZXW7aQBCAuU6vwAl6EqtVrpCXPgSlVVqshFBI8yeaKDQkFCHFUqVWfe0B0pfykB9RRSEQIRLwD5bosGvsWe/agCEUlB2NtuuNvTs738zsNon1pCyCxKQLJCcpkpPkJGUxOP3UVoUqnTVfnL6fvTMt26fn5ddTRaUpMUWba89U1HgMRFHh37haeaJVRvWDgNO38hrP6c+P5d/DUcGqjgxb3LWPuoN3BJkqun88S6LFQ98sz8C55HRWShqmTVU3u6S1L38lAdV5+ZVW+hDimsGasLnw5RlOcRDWE04wR/MPYeQtrykRpoE5ng7OdDiVTtfbRhf0xculpTfZtm5DC/22YXcMu1xcD4zAMXbGcCK1BZtL5lKjuQqHy0T+m3dOhS/ph073oWMlMgXA0+r0gUGfDHZPC5tjOgiVIC9FWE4a6xf6gIec/MJljH7IVdowB2NLXEvJB6qCrWOKZgXHkPsTQRgRGz0rSJdMrjnGOwPYDZNwOjzKNh+7RC1KCFro05F8PjPsUMALM/D6DwGc0ItoxHm5oioDj7CveXO744Gc0OLMPKhKoqMILx5Hb+Io4RdyvvI+RqcsdQ67xYk47X3ebrQsqhQStI2WSUdyB59GuydpguhmNuAzeeAk9x32Wy6jKmyt5OmGFzL3c1/aBnMK3AsfqnEUVuH9CTht7e/XmiZVN59qTYuO7Ob2xjgkxuDkVSC/q3DssvcwAacgUAJOfDgsFKfNnYObexOUErq5NygtOpjZzQXmEb5joWwX1QoRJ6Y09ISJhc4AfBwwD/6S5Nz3uLrHERnCKWgvXLUUls/pc1K3jqp142/dpPe9at2k971qw4Dx1PbhkIrnO6O8Q9mXLIK08J/ZyFXOFIrC5JMS8B824Y0h5B4xEifGEG8vqGAzBvvrybQ5vf94fF0zQK+gvYOOfn2nQ/+KtMlsfj5uu766N3OZ1c09kNNq+uTiVqd6SfTi1nAf19LHz5UTruxsFf0vnBKpYmKjuLJRhM5KirZf6SDo29TJ880nVNlnCakn/66xwL8vlyI5SZGcJCcpkpOUkeQfyTeHQq0XY1kAAAAASUVORK5CYII=" alt="" />
 
配置内容and顺序如下:
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。
 
属性
property标签
resource
url
 
resource:相对于工程的路径
db.properties内容:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3307/shopping
jdbc.username=root
jdbc.password=
在SqlMapConfig.xml加载db.properties
     <!-- 加载属性文件 -->
<!-- properties -->
<properties resource="db.properties"></properties>
.......
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
.......
property标签
      <!-- 加载属性文件 -->
<!-- properties -->
<properties resource="db.properties">
<!-- 可以配置一些属性名和属性值 -->
<property name="jdbc.root" value="root"/>
</properties>
注意: MyBatis 将按照下面的顺序来加载属性:
在 properties 元素体内定义的属性首先被读取。
然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。
最后读取parameterType传递的属性,它会覆盖已读取的同名属性。
 
因此,通过parameterType传递的属性具有最高优先级,resource或 url 加载的属性次之,
最低优先级的是 properties 元素体内定义的属性。
 
url:使用绝对路径
 
 
settings全局的参数配置:
mybatis运行时可以调整运行参数
如:二级缓存,延迟加载,驼峰命名等.......
全局参数会影响mybatis的运行行为
 
 
 
typeAliases(类型别名)(important)
1.在mapper.xml中,定义很多的statement,statement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。
2.如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发。
 
 
默认支持的别名:

自定义别名:
 
单个定义别名:
在全局配置文件中:
type:起别名的全类名
alias:起的别名
<!-- 别名 -->
<typeAliases>
<!-- 针对单个别名的定义 -->
<typeAlias type="com.MrChengs.po.User" alias="user"/>
</typeAliases>
找到UserMapper.xml:
修改
     <!-- 根据id查询 -->
<!-- public User findUserById(int id) throws Exception; -->
<select id="findUserById" parameterType="int" resultType="user">
select * from user where id=#{id}
</select>
然后在找到其运行文件进行测试是可以查询到
把user修改之后,得不到查询结果,还会有异常
 
 批量起别名:

<typeAliases>
<!-- 批量起别名 -->
<!-- 指定自动扫描的po类,自动定义 别名,别名就是类名(首字母大小写都可以)-->
<package name="com.MrChengs.po"/>
</typeAliases>

其余代码不变进行测试!!!

 
 
 
 
typeHandlers(类型处理器)
mybatis中通过typeHandlers完成jdbc类型和java类型的转换。
通常情况下,mybatis提供的类型处理器满足日常需要,不需要自定义.
 
类型处理器用于java类型和jdbc类型映射,如下:
<select id="findUserById" parameterType="int" resultType="user">
select * from user where id = #{id}
</select>

mybatis支持的:

 
 
 mappers(映射器)

mapper的映射配置
 
单个映射文件的加载:
使用resource加载单个文件:

     <mappers>
<mapper resource="sqlmap/User.xml"/>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
单个加载:
通过class:
     <!-- 加载 映射文件 -->
<mappers>
<mapper resource="sqlmap/User.xml"/> <!-- 通过mmapper接口加载映射文件 -->
<!-- 遵循规范:需要将mapper接口类和mapper.xml映射文件名保持一致,且在同一个目录 -->
<!-- 前提要使用mapper代理方法 --> <mapper class="com.MrChengs.mapper.UserMapper"/>
</mappers>

此时是可以测试成功的

 
 
 批量加载:
     <mappers>
<mapper resource="sqlmap/User.xml"/> <!-- 批量加载 -->
<!-- 指定mapper接口的包名,自动扫描包下的 -->
<!-- 遵循规范:需要将mapper接口类和mapper.xml映射文件名保持一致,且在同一个目录 -->
<!-- 前提要使用mapper代理方法 -->
<!-- 推荐使用 -->
<package name="com.MrChengs.mapper"/>
</mappers>

此时是可以测试成功的

 

MyBatis框架(4)全局文件的更多相关文章

  1. Mybatis框架基于映射文件和配置文件的方式,实现增删改查,可以打印日志信息

    首先在lib下导入: 与打印日志信息有关的架包 log4j-1.2.16.jar mybatis架包:mybatis-3.1.1.jar 连接数据库的架包:mysql-connector-java-5 ...

  2. Mybatis框架中Mapper文件传值参数获取。【Mybatis】

    1.参数个数为1个(string或者int) dao层方法为以下两种: /** * 单个int型 */ public List<UserComment> findByDepartmentI ...

  3. MyBatis框架的文件配置

    第一步:log4j.properties的配置 原因:Mybatis的日志输出是依赖与log4j的,所以必须要配置 # Global logging configuration log4j.rootL ...

  4. MyBatis框架的使用及源码分析(四) 解析Mapper接口映射xml文件

    在<MyBatis框架中Mapper映射配置的使用及原理解析(二) 配置篇 SqlSessionFactoryBuilder,XMLConfigBuilder> 一文中,我们知道mybat ...

  5. (转)MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql

    http://blog.csdn.net/yerenyuan_pku/article/details/71893689 前面对MyBatis框架的学习中,我们对Mapper.xml映射文件多少有些了解 ...

  6. idea插件(mybatis框架下mapper接口快速跳转对应xml文件)亲测好用!

    我相信目前在绝大部分公司里,主要使用的框架是S(spring)S(spring MVC)M(mybatis),其中mybatis总体架构是编写mapper接口,框架扫描其对应的mapper.xml文件 ...

  7. mybatis框架中XxxxMaper.xml的文件

    我们知道在mybatis框架中,config.xml中会关联到许多的XxxxMapper的xml文件,这些文件又对应着一个个的接口,来观察下这些xml文件 从以下这个文件为例子: <?xml v ...

  8. 【mybatis xml】数据层框架应用--Mybatis 基于XML映射文件实现数据的CRUD

    使用MyBatis框架进行持久层开发 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索. MyBa ...

  9. Hibernate框架与Mybatis框架的对比

    学习了Hibernate和Mybatis,但是一直不太清楚他们两者的区别的联系,今天在网上翻了翻,就做了一下总结,希望对大家有帮助! 原文:http://blog.csdn.net/firejuly/ ...

  10. Spring+SpringMvc+Mybatis框架集成搭建教程二(依赖配置及框架整合)

    依赖导入以及框架整合 (1).打开项目的pom.xml文件,声明依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" x ...

随机推荐

  1. SQL update 多表连接方法

    SQL Update多表联合更新的方法 () sqlite 多表更新方法 //---------------------------------- update t1 set col1=t2.col1 ...

  2. 【5】.net WCF 简单实例

    1.创建WCF项目 2.系统自动生成IWcfService // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”. [ServiceContra ...

  3. Kettle系列文章二(安装配置Kettle+SqlServer+简单的输入输出作业)

    一.下载 Kettle下载地址:https://community.hitachivantara.com/docs/DOC-1009855 下拉到DownLoad,点击红框中的链接进行下载.. 二.解 ...

  4. go的编译与重启

    ps -ef|grep pro-name| grep -v grep|awk '{print $2}'|xargs kill -9 > /dev/null go build nohup ./xe ...

  5. sass语法一(变量篇)

    文件后缀名 sass有两种后缀名的文件:一种后缀名为sass,不使用大括号和分号:另一种是我们这里使用的scss文件,这种和我们平时使用的css文件格式差不多,使用大括号和分号. //后缀名为sass ...

  6. 您需要售后返修管理软件的N个理由

    一.减少人工成本. 二.提高工作效率. 三.其他管理成本降低. ▲传统采用人工登记或电子表格Excel管理 售后人员,他们日常的工作就是接件.维修.送修.记录.统计.跟件.寄送件.电话客户沟通.电话厂 ...

  7. MySQL数据库(4)----生成统计信息

    MySQL最有用的一项功能就是,能够对大量原始数据进行归纳统计. 1.在一组值里把各个唯一的值找出来,这是一项典型的统计工作,可以使用DISTINCT 关键字清楚查询结果里重复出现的行.例如,下面的查 ...

  8. maven仓库阿里云镜像配置

    我们每次新建一个maven项目的时候,加上pom.xml配置时,如果你没有配置本地仓库,maven会去中央仓库去加载jar包,那样速度真的是异常的慢啊,并且每次update maven项目的,速度也是 ...

  9. 用C语言指针作为函数返回值

    转载:http://c.biancheng.net/cpp/html/3242.html C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数.下面的例子定义了一个函数 strlon ...

  10. idea 安装findBugs 和 checkStyle

    1.fiindBugs是一款 静态分析工具,检查程序潜在bug,在bug报告中快速定位到问题的代码上.在idea下面安装很简单可以参考 http://zhongmin2012.iteye.com/bl ...