核心配置文件也就是sqlMapConfig.xml,我把它的代码先写下面

源代码:

 

概述

 

通过上面的代码可以看到标签里面有很多子标签,有些子标签我们并没有用到,标签的作用如下

 

说明的标签一定要按照上下顺序来写,不然报错。例如如果存在标签和标签,那么标签必须要写在''的中间

 

下面会详细介绍比较常用的几个标签

 

environments标签

 

数据库环境的配置,支持多环境配置

 

例如我们写的如上,分析如下

1、指定默认的环境名称。例如default="development"

2、指定当前环境名称。例如id="development"

3、指定事务管理类型是JDBC。例如type="JDBC" 事务管理器(transactionManager)类型有两种: (1)JDBC: 指的是直接使用JDBC的提交和回滚设置,依赖于从数据源得到的连接来管理事务作用域 (2)MANAGED: 指的是不提交或回滚连接,而是让容器来管理事务的整个生命周期。弊端是默认情况会关闭连接,然而一些容器并不希望这样,因此 将closeConnection属性设置为false来阻止它默认的关闭行为

4、指定当前数据源类型是连接池。例如type="POOLED" 数据源(dataSouces)类型有三种: (1)UNPOOLED: 这个数据源的实现只是每次被请求时打开和关闭连接 (2)POOLED: 这种数据源的实现利用"池"的概念将JDBC连接对象组织起来 (3)JNDI: 这个数据源的实现是为了能在如EJB或应用服务器这类容器中使用,容器可以集中或在外部配合数据源,然后放置一个JNDI上下文的引用

5、数据源配置的基本参数。例如

 

mapper标签

 

该标签的作用是加载映射的,加载方式有如下几种:

1、使用相对于类路径(resources目录)的资源引用。比较常用,例如:

2、使用完全限定资源定位符(url),即在本地磁盘的哪个位置有哪个文件。用的不多,例如:

3、使用映射器接口实现类的完全限定类名。后续学MyBatis注解之后才用的上,例如:

4、将包内的映射器接口实现全部注册为映射器。用的不多,例如:

 

properties标签

 

实际开发中,习惯将数据源的配置信息单独抽取成一个properties文件,该标签可以加载额外配置的xxx.properties文件

注意在Resources目录下必须要有jdbc.properties文件

 

这里需要我们敲一下代码,具体操作如下:

 

第一步: 在src/main/resources目录下,新建File,文件名为jdbc.properties,里面写入如下

 

第二步: 把sqlMapConfig.xml修改为如下

 

第三步: 在MyBatisTest类执行test1,如果能在控制台查询出数据,就说明配置外部文件成功了 其实跟之前学的在spring的配置文件把jdbc的配置抽取到外部的jdbc.properties文件是一样的,在mybatis里也可以这样做

 

typeAliases标签

 

类型别名是Java类型设置一个短的名字。原来的类型名称配置如下

 

 

我们可以使用typeAliases标签优化上面的写法,由于resultType的值太长了,我们可以使用typeAliases标签为resultType的值设置一个别名,这样用的时候resultType的值就直接写别名。如下

这样我们写的时候就直接如下

 

 

除我们自己可以设置别名,其实mybatis框架已经为我们设置了一些别名。在写resultType值的时候,我们可以使用标准写法,也可以使用别名,如下

标准写法别名
Stringstring
Longlong
Integerint
Doubledouble
Booleanboolean
Listlist

 

以我们自己设置别名为例,注意标签是, 说明我们可以在内部设置多个别名,具体操作如下:

 

第一步: 在sqlMapConfig,xml里面添加如下

 

第二步: 在UserMapper.xml里面添加如下

 

第三步: 在MyBatisTest类里面添加如下,并运行test1_2测试