ibatis里面都啥意思?解决办法
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 实例配置
一个典型的配置文件如下(具体配置项目的含义见后):
》》》》上面配置的属性都啥意思?还有哪些属性?
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
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 sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <settings cacheModelsEnabled="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