1、将数据库的连接信息放在统一的properties文件中
jdbc.properties配置如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis
username=root
password=123456
核心配置文件增加或者修改如下内容:
<properties resource="jdbc.properties"></properties>
......
<dataSource type="UNPOOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
2、为实体类定义别名(两种方式),简化Mapper配置文件的配置
核心配置文件增加如下:
<typeAliases>
<typeAlias type="edu.ctgu.mybatis.entity.User" alias="_user"/>
<!-- <package name="edu.ctgu.mybatis.entity"/> -->
</typeAliases>
上面的配置代表了两种方式,一种是直接为对应的实体类指定别名,这个很好理解。第二种是为整个包的实体类指定别名,毕竟在实际的项目开发中实体类都是在一个文件夹的。按照我的理解,其实在Mapper配置文件中的实体类的别名就是简化名称,然后核心配置文件读取的时候为其加上了报名,合成全类名。
Mapper修改如下(举例说明):
<select id="getUser" parameterType="int" resultType="_user">
<!-- #{}是OGNL表达式 -->
SELECT * FROM user WHERE id = #{id}
</select>
3、配置log4j,打印sql语句或者详细的错误提示信息等
在开发环境中加入log4j的jar包,这样mybatis就可以像hibernate那样打印sql语句了,当然log4j的用处绝对不止这么少。然后在src目录下添加配置文件可以是xml,也可以是properties。分别如下:
xml:
<?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">
<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="debug" />
</logger>
<root>
<level value="debug" />
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>
properties:
log4j.properties,
log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG