myBatis学习笔记(2)——细节优化
引用外部文件
在配置数据库连接信息的时候,我们一般都引用外部文件,如:db.properties
- 在src下创建db.properties
- 配置文件
<!-- 使用外部配置文件 -->
<properties resource="db.properties"></properties>
<environments default="development">
<environment id="development">
<!-- 使用${}读取外部配置文件中的值 -->
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${name}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
映射文件中,全类名简写
在配置文件中
方法一
<typeAliases>
<typeAlias type="com.bank.entities.User" alias="hehe"/>
</typeAliases>
这样配置后,在映射文件中有使用到
com.bank.entities.User
的,都可以用hehe来代替
方法二
<typeAliases>
<!-- <typeAlias type="com.bank.entities.User" alias="hehe"/> -->
<package name="com.bank.entities"/>
</typeAliases>
这样配置之后,com.bank.entities 这个包下面所有的实体类,只需要直接写类名即可,不需要写全类名,如:
<insert id="addUser" parameterType="User">
insert into user(username,money) values(#{username},#{money})
</insert>
大多数情况下我们的实体类都放在同一个包下,因此使用这种方式会更好一些。但是如果你的实体类分布在不同的包下,这种方式就不那么好使了
- 还有一个奇怪的问题:
前面我在配置文件中配置了<properties resource="db.properties" />
,如果把typeAliases
配置放在properties的前面,启动就会报错,放在properties
后面才行。不知道为什么。。。
使用log4j
首先,要加入jar包,然后写个配置文件
方式一:log4j.properties
log4j.properties,
log4j.rootLogger=DEBUG, ConsoleConsole
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方式二: log4j.xml
<?xml version=”1.0” encoding=”UTF-8” ?>
<!DOCTYPE log4j:configuration SYSTEM “log4j.dtd”>
ss,SSS} %m (%F:%L) \n" />
将上述文件放入src下即可
运行效果:
还没有评论,来说两句吧...