在配置的过程中:我们的mapper接口要与映射的XML文件处在同一位置下(层级相同)
比如:java.mybatis.mapper.ParameterMapper
对应: resoureces.mybatis.mapper.ParameterMapper
否则在进行测试的时候会出现无效的绑定
Invalid bound statement (not found)
一、mybatis-config
<?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>
<!--
mybatis中核心配置文件中,标签的顺序
properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,
objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?
-->
<properties resource="jdbc.properties" />
<!--设置mybatis的全局配置文件-->
<settings>
<!--将下划线自动映射为驼峰 emp_name:empName-->
<setting name="mapUnderscoreToCamelCase" value="True"/>
</settings>
<!--typeAliases设置类型别名-->
<typeAliases>
<!--type属性必须设置
alias表示起的新的别名,如果不设置alias情况下,默认设置为user且不区分大小写
-->
<!-- <typeAlias type="mybatis.pojo.User" alias="User"></typeAlias>-->
<!--以包为单位,将包下的所有类型设置为默认的类名,且不区分大小写-->
<package name="mybatis.pojo"/>
</typeAliases>
<!--
environments:配置多个连接数据库的环境
属性:
default表示默认使用的环境的id
-->
<environments default="development">
<!--
environment:配置某个具体的环境
属性:
id:表示连接数据库的环境的唯一标识,不能重复
-->
<environment id="development">
<transactionManager type="JDBC"/>
<!--
transactionManager:设置事务管理的方式
属性:
type="JDBC/MANAGED"
JDBC表示当前环境中,执行sql时,使用的是JDBC中原生的事务管理方式,即事务的提交或回滚需要手动处理
MANAGED:表示被管理,比如spring
-->
<!-- POOLED表示使用数据库连接池-->
<dataSource type="POOLED">
<!--
dataSource:配置数据源
属性:
type:设置数据源的类型
type="POOLED/UNPOOLED/JNDI"
POOLED表示使用数据库连接池缓存数据库连接
UNPOOLED:表示不使用数据库连接池
JNDI:表示使用上下文中的数据源
-->
<!--设置连接数据库的驱动-->
<!-- <property name="driver" value="com.mysql.jdbc.Driver"/>-->
<property name="driver" value="${jdbc.driver}"/>
<!--设置数据库的连接地址-->
<property name="url"
value="${jdbc.url}"/>
<!--注意:如果在建sql表单的时候选了字符集(如utf8),
这里的value要改成:value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8"-->
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!--引入映射文件-->
<mappers>
<!-- <mapper resource="mappers/UserMapper.xml"/>-->
<!--以包为单位引入映射文件
要求:1、mapper接口所在的包要和映射文件所在的包一致
2、mapper接口要和映射文件的名字一致
-->
<mapper resource="mapper/EmpMapper.xml"/>
</mappers>
</configuration>
二、日志文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<param name="Encoding" value="UTF-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS}
%m (%F:%L) \n" />
</layout>
</appender>
<logger name="java.sql">
<level value="debug" />
</logger>
<logger name="org.apache.ibatis">
<level value="info" />
</logger>
<root>
<level value="debug" />
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>