首先:Mybatis的配置文件 里边有详细的注释。
<?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="database.properties">
<property name="driver" value=""/>
<property name="url" value=""/>
</properties>
<!--mybatis全局配置-->
<settings>
<!--mybatis日志配置-->
<setting name="logImpl" value="LOG4J"/>
</settings>
<!--类别名-->
<typeAliases>
<!--指定包-->
<package name="com.zhiyi.entity"></package>
<!--直接指定别名-->
<!--<typeAlias type="com.zhiyi.entity" alias="User"/>-->
</typeAliases>
<!--数据库环境配置-->
<!--default默认的环境-->
<environments default="development">
<!--id代表环境名称,有且只能有一个-->
<environment id="development">
<transactionManager type="JDBC"/>
<!--数据源配置。POOLED以连接数据池的形式来进行处理-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://localhost:3306/smbms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&verifyServerCertificate=false&useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="Root"/>
<!--只能存在五个连接-->
<property name="poolMaximumActiveConnections" value="5"/>
</dataSource>
</environment>
<environment id="test">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://localhost:3306/smbms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&verifyServerCertificate=false&useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="Root"/>
</dataSource>
</environment>
</environments>
<!--设置映射 mapper.xml-->
<mappers>
<!--路径-->
<mapper resource="com/zhiyi/mapper/UserMapper.xml"/>
<!--可以直接指定路径包 ,就不需要上边的mapper了-->
<package name="com/zhiyi/mapper"/>
</mappers>
</configuration>
然后:下边mapper.xml,里边注释也挺全的,有查询复杂类型。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.work.dao.UserMapper">
<resultMap id="userList" type="User">
<result property="id" column="id"/>
<result property="userName" column="userName"/>
<!-- <association property="role" resultMap="role"/>-->
<association property="role" javaType="Role">
<id property="id" column="r_id"/>
<result property="roleCode" column="roleCode"/>
<result property="roleName" column="roleName"/>
</association>
</resultMap>
<resultMap id="role" type="Role">
<result property="roleName" column="roleName"/>
<result property="roleCode" column="roleCode"/>
</resultMap>
<!--查询user+addressList-->
<resultMap id="userAddressResult" type="User">
<id property="id" column="id"/>
<result property="userCode" column="userCode"/>
<result property="userName" column="userName"/>
<!--引用resultMap addressList-->
<collection property="addressList" ofType="Address" resultMap="addressList"/>
</resultMap>
<resultMap id="addressList" type="Address">
<id column="a_id" property="id"/>
<result property="postCode" column="postCode"/>
<result property="tel" column="tel"/>
<result property="contact" column="contact"/>
<result property="addressDesc" column="addressDesc"/>
</resultMap>
</mapper>