读书人

ibatis里面都啥意思?解决办法

发布时间: 2012-01-07 21:41:56 作者: rapoo

ibatis里面都啥意思?
ibatis Quick Start
准备工作
1. 下载ibatis 软件包(http://www.ibatis.com)。
2. 创建测试数据库,并在数据库中创建一个t_user 表,其中包含三个字段:
. id(int)
. name(varchar) 《oracle的是不是varchar2》
. sex(int) 。

为了在开发过程更加直观,我们需要将ibatis 日志打开以便观察ibatis 运作的细节。
ibatis 采用Apache common_logging,并结合Apache log4j 作为日志输出组件。
在CLASSPATH 中新建log4j.properties 配置文件,内容如下:

log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%c{1} -%m%n
log4j.logger.java.sql.PreparedStatement=DEBUG
》》》》》》上面的每行代表的啥意思?

ibatis 基础代码包括:
1. ibatis 实例配置
一个典型的配置文件如下(具体配置项目的含义见后):

XML code
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfigPUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"><sqlMapConfig><settingscacheModelsEnabled="true"enhancementEnabled="true"lazyLoadingEnabled="true"errorTracingEnabled="true"maxRequests="32"maxSessions="10"maxTransactions="5"useStatementNamespaces="false" /><transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="com.p6spy.engine.spy.P6SpyDriver"/> <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost/sample"/> <property name="JDBC.Username" ="user"/> <property name="JDBC.Password" ="mypass"/> <property name=value="10"/> <property name=value="5"/> <property name=value="120000"/> <property name="Pool.TimeToWait" ="500"/> <property name="Pool.PingQuery" ="select 1 from ACCOUNT"/> <property name="Pool.PingEnabled" ="false"/> <property name=value="1"/> <property name=value="1"/> </dataSource> </transactionManager> <sqlMap resource="com/ibatis/sample/User.xml"/> </sqlMapConfig> 

》》》》上面配置的属性都啥意思?还有哪些属性?

valuevalue"Pool.MaximumActiveConnections"
"Pool.MaximumIdleConnections"
"Pool.MaximumCheckoutTime"
valuevaluevalue"Pool.PingConnectionsOlderThan"
"Pool.PingConnectionsNotUsedFor"
2. POJO(Plain Ordinary Java Object)
下面是我们用作示例的一个POJO:
public class User implements Serializable {
private Integer id;
private String name;
private Integer sex;
private Set addresses = new HashSet();
/** default constructor */
public User() {
}
public Integer getId() {
return this.id; }
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public Integer getSex() {
return this.sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
}



3. 映射文件



[解决办法]
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%c{1} -%m%n
log4j.logger.java.sql.PreparedStatement=DEBUG


》》》》》》上面的每行代表的啥意思?


建议大家使用 log4j 采用 XML 的配置,XML 配的话结构简单清晰、明了。而且 log4j 会优先查找 log4j.xml 的文件。
[解决办法]
log4j.rootLogger=DEBUG, stdout//debug以上级别的错误输入到stdout下,stdout是下边自定义的
log4j.appender.stdout=org.apache.log4j.ConsoleAppender//表示输入到控制台
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout//设置日志输出格式
log4j.appender.stdout.layout.ConversionPattern=%……//设置日期输出格式





读书人网 >J2EE开发

热点推荐