主配置文件分析
1 configuration标签
根标签,主配置文件所有的标签都在这个下面
2 properties 标签
包含一个 property 子标签,在使用 properties 标签配置时,可以采用两种方式指定属性配置
- 直接在主配置文件中定义数据库连接信息
<properties>
<property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="jdbc.url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="jdbc.username" value="root"/>
<property name="jdbc.password" value="123445"/>
</properties>
- 引入外部配置文件
jdbcConfig.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/eesy_mybatis
jdbc.username=root
jdbc.password=888888
在主配置文件中引入
<!-- 配置连接数据库的信息
resource 属性:用于指定 properties 配置文件的位置,要求配置文件必须在类路径下
resource="jdbcConfig.properties"
url 属性:
URL:统一资源定位符 http://localhost:8080/mystroe/CategoryServlet URL
协议 主机 端口 URI
URI:统一资源标识符,它可以在 web 应用中唯一定位一个资源的路径
-->
<!--配置properties-->
<properties resource="jdbcConfig.properties"></properties>
<environments default="mysql">
<!-- 配置mysql的环境-->
<environment id="mysql">
<!-- 配置事务 -->
<transactionManager type="JDBC"></transactionManager>
<!--配置连接池-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</dataSource>
</environment>
</environments>
3 typeAliases别名
<typeAliases>
<!-- 单个别名定义 -->
<typeAlias alias="user" type="com.dianchou.domain.User"/>
<!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->
<package name="com.dianchou.domain"/>
<package name="其它包"/>
</typeAliases>
4 mappers映射器
映射器有四种引入方式
4.1 用文件路径引入映射器
< mappers>
< mapper resource=“xxxMapper.xml”/>
< /mappers>
<!-- 使用相对于类路径的资源引用
通过resource属性引入classpath路径的相对资源-->
<mappers>
<mapper resource="com/hncj/dao/IUserDao.xml"/>
</mappers>
4.2 用类注册引入映射器
< mappers>
< mapper class=“com.x.x.xx.类名”/>
< /mappers>
<!-- 使用映射器接口实现类的完全限定类名
通过class属性指定mapper接口名称-->
<mappers>
<mapper class="org.mybatis.builder.AuthorMapper"/>
</mappers>
此时对应的映射文件必须与接口位于同一路径下,并且名称相同
4.3 用包名引入映射器
<!-- 将包内的映射器接口实现全部注册为映射器
package标签,通过name属性指定mapper接口所在的包名
-->
<mappers>
<package name="org.mybatis.builder"/>
</mappers>
此时对应的映射文件必须与接口位于同一路径下,
并且名称相同
此时namespace的值为全限定类名
4.4 网络导入
<!-- 使用完全限定资源定位符(URL)
通过url引入网络资源或者本地磁盘资源-->
<mappers>
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
</mappers>