mybatis中SqlMapConfig.xml基本使用
- 1. --configuration:最外部标签
- 1.1 --properties(配置数据库连接信息)
- 1.1.1 --property(数据库连接信息的配置,如果properties标签已设置resource或url标签则无需设置)
- 1.2 --typeAliases 配置全限定名称的别名
- 1.2.1 --typeAlias(为每个实体类配置别名)
- 1.2.2 --package(为所有的实体类统一配置别名,别名为实体类名称,不分大小写)
- 1.3 --environments 配置连接数据库的信息
- 1.3.1 --environment
- 1.3.1.1 --transactionManager
- 1.3.1.2 --dataSource
- 1.3.1.2.1 --property
- 1.4 --mapper
- 1.4.1 --package
- 1.4.2 --mapper
- 示例
1. --configuration:最外部标签
1.1 --properties(配置数据库连接信息)
resource:存在于类路径下的jdbcConfig.properties数据库连接信息
url:Uniform Resource Locator 统一资源定位符。它是可以唯一标识一个资源的位置。
写法:http://localhost:8080/mybatisserver/demo1Servlet
file:///D:/IdeaProjects/day02_eesy_01mybatisCRUD/src/main/resources/jdbcConfig.properties
1.1.1 --property(数据库连接信息的配置,如果properties标签已设置resource或url标签则无需设置)
name:定义名称,用于下方dataSource中的property标签调用
value:连接数据库的信息,例如:value="com.mysql.jdbc.Driver"
1.2 --typeAliases 配置全限定名称的别名
1.2.1 --typeAlias(为每个实体类配置别名)
type:实体类的全限定名
alias:权限定名的简称
1.2.2 --package(为所有的实体类统一配置别名,别名为实体类名称,不分大小写)
name:实体类全限定包名
1.3 --environments 配置连接数据库的信息
default:设置个值为默认使用的下方environment标签id信息
1.3.1 --environment
id:指定该配置信息唯一id
1.3.1.1 --transactionManager
type:使用的事务类型 (我使用的JDBC)
1.3.1.2 --dataSource
type:连接池类型(POOLED、UNPOOLED、JDNI)
1.3.1.2.1 --property
name:该配置信息名称
value(该值有三种情况):
1.properties设置了url或者resource:value中的值为 ${配置文件中的字段}
2.properties下添加了property标签:value中的值为 ${property标签中的name值}
3.上方没有properties标签:value中的值直接填写数据库连接信息
1.4 --mapper
定义dao接口所在的位置
1.4.1 --package
接口包名,检测到注解的时候用注解,检测到xml映射文件的时候用映射文件
1.4.2 --mapper
resource:xml所使用的配置,xml文件路径+名称
class:注解所使用的配置,接口全限定名
url
示例
<?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
可以在标签内部配置连接数据库的信息。也可以通过属性引用外部配置文件信息
resource属性: 常用的
用于指定配置文件的位置,是按照类路径的写法来写,并且必须存在于类路径下。
url属性:
是要求按照Url的写法来写地址
URL:Uniform Resource Locator 统一资源定位符。它是可以唯一标识一个资源的位置。
它的写法:
http://localhost:8080/mybatisserver/demo1Servlet
协议 主机 端口 URI
URI:Uniform Resource Identifier 统一资源标识符。它是在应用中可以唯一定位一个资源的。
-->
<properties url="file:///D:/IdeaProjects/day02_eesy_01mybatisCRUD/src/main/resources/jdbcConfig.properties">
<!-- <property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"></property>
<property name="username" value="root"></property>
<property name="password" value="1234"></property>-->
</properties>
<!--使用typeAliases配置别名,它只能配置domain中类的别名 -->
<typeAliases>
<!--typeAlias用于配置别名。type属性指定的是实体类全限定类名。alias属性指定别名,当指定了别名就再区分大小写
<typeAlias type="com.itheima.domain.User" alias="user"></typeAlias>-->
<!-- 用于指定要配置别名的包,当指定之后,该包下的实体类都会注册别名,并且类名就是别名,不再区分大小写-->
<package name="com.itheima.domain"></package>
</typeAliases>
<!--配置环境-->
<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>
<!-- 配置映射文件的位置 -->
<mappers>
<!--<mapper resource="com/itheima/dao/IUserDao.xml"></mapper>-->
<!-- package标签是用于指定dao接口所在的包,当指定了之后就不需要在写mapper以及resource或者class了 -->
<package name="com.itheima.dao"></package>
</mappers>
</configuration>