一、XML 文件支持 properties 属性
xml 文件内部是支持 properties 标签的定义的;因此我们可以将 jdbc 的配置信息写到 properties 标签里
方法一:xml 内部完成 properties 标签的数据写入
<?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>
<!--配置连接数据库的基本信息-->
<property name="driver" value="com.mysql.jdbc.Driver"/> <!--数据库驱动-->
<property name="url" value="jdbc:mysql://localhost:3306/lanyue"/> <!--指明哪个数据库-->
<property name="username" value="root"/> <!--数据库用户名-->
<property name="password" value="123456"/> <!--数据库用户名密码-->
</properties>
<!--主配置文件-->
<!--配置环境-->
<environments default="mysql"> <!--可为任意值,但该值必须出现在下面的 environment 标签中-->
<!--配置mysql环境-->
<environment id="mysql">
<!--事务类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置m数据源(连接池)-->
<dataSource type="POOLED">
<!--配置连接数据库的基本信息-->
<!--value 可以直接使用 ${} 的方式读取上面定义的变量-->
<property name="driver" value="${driver}"/> <!--数据库驱动-->
<property name="url" value="${url}"/> <!--指明哪个数据库-->
<property name="username" value="${username}"/> <!--数据库用户名-->
<property name="password" value="${password}"/> <!--数据库用户名密码-->
</dataSource>
</environment>
</environments>
<!--用resource属性指明配置文件-->
<mappers>
<mapper resource="mybatis/userDao.xml"/>
</mappers>
</configuration>
方法二:在 xml 文件的 properties 标签里通过 url 或 resource 属性引用外部配置文件
例如:
jdbcConfig.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/lanyue
username=root
password=123456
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 既可以在xml文件内部配置;也可以引用外部文件信息-->
<!--resource 属性用于指定配置文件的位置;并且必须存在于类路径下(访问时根据与 resources 文件夹路径的相对路径)-->
<!--url 也是用于指定配置文件的位置;但是要求按照 url 的写法写-->
<!--url 格式: 协议 + 主机 + 端口 + uri 唯一标识互联网上任意主机的任意文件-->
<!--uri 格式: 唯一标识应用内文件-->
<!--<properties url="file:///J:/Project/Java/MySQLCURD/src/main/resources/jdbcConfig.properties">-->
<!-- </properties>-->
<properties resource="jdbcConfig.properties">
</properties>
<!--主配置文件-->
<!--配置环境-->
<environments default="mysql"> <!--可为任意值,但该值必须出现在下面的 environment 标签中-->
<!--配置mysql环境-->
<environment id="mysql">
<!--事务类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置m数据源(连接池)-->
<dataSource type="POOLED">
<!--配置连接数据库的基本信息-->
<!--value 可以直接使用 ${} 的方式读取上面定义的变量-->
<property name="driver" value="${driver}"/> <!--数据库驱动-->
<property name="url" value="${url}"/> <!--指明哪个数据库-->
<property name="username" value="${username}"/> <!--数据库用户名-->
<property name="password" value="${password}"/> <!--数据库用户名密码-->
</dataSource>
</environment>
</environments>
<!--用resource属性指明配置文件-->
<mappers>
<mapper resource="mybatis/userDao.xml"/>
</mappers>
</configuration>
二、typeAliases(类型别名)和 package
1.作用:
在 mapper 配置文件中,我们可以看到 Int、String、Integer 等类型可以直接写,而我们的自定义实体类却不能;为什么呢?因为官方已经把常用的这些类做了别名;既然如此,那我们当然也可以自定义别名了
2.配置方法
<?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 既可以在xml文件内部配置;也可以引用外部文件信息-->
<!--resource 属性用于指定配置文件的位置;并且必须存在于类路径下(访问时根据与 resources 文件夹路径的相对路径)-->
<!--url 也是用于指定配置文件的位置;但是要求按照 url 的写法写-->
<!--url 格式: 协议 + 主机 + 端口 + uri 唯一标识互联网上任意主机的任意文件-->
<!--uri 格式: 唯一标识应用内文件-->
<!--<properties url="file:///J:/Project/Java/MySQLCURD/src/main/resources/jdbcConfig.properties">-->
<!-- </properties>-->
<properties resource="jdbcConfig.properties">
</properties>
<!--通过 typeAliase 标签配置类名的别名-->
<!--type 标签指明要被设置别名的全限定类名;alias 标签指明要设置成的别名名称-->
<!--制订了别名后不再区分大小写-->
<!--typeAliases 中的 package 用来指定要配置别名的包,当指定之后,该包下的所有类都自动注册别名,别名为类名-->
<typeAliases>
<typeAlias type="entil.User" alias="user"></typeAlias>
<!--<package name="entil"/>-->
</typeAliases>
<!--主配置文件-->
<!--配置环境-->
<environments default="mysql"> <!--可为任意值,但该值必须出现在下面的 environment 标签中-->
<!--配置mysql环境-->
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<!--配置m数据源(连接池)-->
<dataSource type="POOLED">
<!--配置连接数据库的基本信息-->
<!--value 可以直接使用 ${} 的方式读取上面定义的变量-->
<property name="driver" value="${driver}"/> <!--数据库驱动-->
<property name="url" value="${url}"/> <!--指明哪个数据库-->
<property name="username" value="${username}"/> <!--数据库用户名-->
<property name="password" value="${password}"/> <!--数据库用户名密码-->
</dataSource>
</environment>
</environments>
<!--用resource属性指明配置文件-->
<!--mappers 中的 package 标签用于指定 dao 接口所在的包;当指定了之后,就不需要再写 mapper、 resources 或者 class 了;注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中-->
<mappers>
<package name="dao"/>
<!-- <mapper resource="dao/UserDao.xml"/>-->
</mappers>
</configuration>