配置文件学习
配置文件优化:
mysql驱动配置优化前:
<?xml version="1.0" encoding="UTF8"?>
<!DOCTYPE configuration PUBLIC
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--configuration核心配置文件-->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&CharacterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--每一个Mapper.xml都需要在Mybatis的核心配置文件中注册-->
<mappers>
<mapper resource="mapper/UserDao.xml"></mapper>
</mappers>
</configuration>
优化后:
mysql.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&CharacterEncoding=UTF-8
username=root
password=123456
mybatis-config.xml
<?xml version="1.0" encoding="UTF8"?>
<!DOCTYPE configuration PUBLIC
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--configuration核心配置文件-->
<configuration>
<!--properties配置-->
<properties resource="mysql.properties"></properties>
<!--为某个包下的所有类指定别名 默认别名是对应的类名-->
<typeAliases>
<package name="com.mybatis.entity"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!--每一个Mapper.xml都需要在Mybatis的核心配置文件中注册-->
<mappers>
<mapper resource="mapper/UserDao.xml"></mapper>
</mappers>
</configuration>
包含为包下的类指定别名;
为指定类型指定别名:
例如:
<typeAlias type="java.lang.String" alias="String"/>
mapper配置文件:
namespace命名空间 防止sql语句的id重名
namespace 命名 包名+类名/包名+mapper文件名
parameterType 指sql语句参数类型
resultType 返回结果类型
useGeneratedKeys="true" 使用自增主键
Mapper :定义了对应的数据库操作的语句,完成对数据库的不同操作进隔离(区分)
Namespace属性=“自定义”
DML操作标签:isnert,update,delete 定义了数据库的具体dml操作。
id属性=”自定义”,用来namespace.id 获得对应的Statement对象(sql)
parameterType=“Mapper接口中方法形参的完全限定名”
DQL操作标签:select 定义具体的DQL操作
resultType属性=“Mapper接口中方法的返回值的完全限定名,集合指定集合中元素的类型”