首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

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

2012-01-07 
ibatis里面都啥意思?ibatis Quick Start准备工作1. 下载ibatis 软件包(http://www.ibatis.com)。2. 创建测

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=%……//设置日期输出格式




  

热点排行