MyBatis优化简化开发

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值