先说说ibatis配置吧
新建一个项目
我的项目名称是ibatis
1,导入ibatis所需要的包,因为我使用了日志log4j,所以也把log4j的依赖包也导进来
ibatis-2.3.4.726.jar
commons-logging-api.jar
commons-logging-1.1.jar
commons-dbcp-1.2.2.jar
commons-pool.jar
h2-1.3.154.jar (h2数据库所需要jar包)
2,在src目录下创建一个xml文件 sqlmap-config.xml(文件名随意改)但是等一下要用到的时候也要相应改上就好了。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/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="org.h2.Driver" />
<property name="JDBC.ConnectionURL" value="jdbc:h2:database/h2db" />
<property name="JDBC.Username" value="root" />
<property name="JDBC.Password" value="" />
<property name="Pool.MaximumActiveConnections" value="10" />
<property name="Pool.MaximumIdleConnections" value="5" />
<property name="Pool.MaximumCheckoutTime" value="120000" />
<property name="Pool.TimeToWait" value="500" />
<property name="Pool.PingQuery" value="select 1 from sample" />
<property name="Pool.PingEnabled" value="false" />
<property name="Pool.PingConnectionsOlderThan" value="1" />
<property name="Pool.PingConnectionsNotUsedFor" value="1" />
</dataSource>
</transactionManager>
<!-- 引入user操作文件 -->
<sqlMap resource="sqlmap/user-sql.xml"/>
</sqlMapConfig>
3,在src目录下创建文件夹 sqlmap,然后在文件夹下创建xml文件user-sql.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="User">
<typeAlias alias="user" type="model.User" />
<select id="getUser" parameterClass="java.lang.String"
resultClass="user">
<![CDATA[ select name, sex from t_user where name = #name# ]]>
</select>
<select id="getAllUser" resultClass="user">
<![CDATA[ select name, sex from t_user ]]>
</select>
<update id="updateUser" parameterClass="user">
<![CDATA[ UPDATE t_user SET name=#name#, sex=#sex# WHERE id = #id# ]]>
</update>
<insert id="insertUser" parameterClass="user">
INSERT INTO t_user (
name, sex) VALUES ( #name#, #sex# )
</insert>
<delete id="deleteUser" parameterClass="java.lang.String">
delete from t_user where
id=#value#
</delete>
</sqlMap>
4,在src目录下新建文件夹model,然后在文件夹下新建一个类 User.java
package model;
import java.io.Serializable;
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private Integer sex;
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;
}
}
5,在src目录下新建h2demo.java类
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
import model.User;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
/**
*
* @代码功能:测试demo
* @packageName
* @file_name h2demo.java
* @type_name h2demo
* @author jiangx
* @Description
*
* @email sziitjiang@163.com
* @date 2011-4-22 下午11:13:07
*/
public class h2demo {
public static void update() {
// 首先初始化iBatis获得一个SqlMapClient对象
String resource = "sqlmap-config.xml";
SqlMapClient sqlMap = null;
try {
Reader reader = Resources.getResourceAsReader(resource);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (Exception e) {
e.printStackTrace();
}
// sqlMap系统初始化完毕,开始执行update操作
try {
sqlMap.startTransaction();
User user = new User();
user.setId(new Integer(1));
user.setName("江伟雄");
user.setSex(new Integer(1));
sqlMap.update("updateUser", user);
sqlMap.commitTransaction();
} catch (SQLException e) {
System.out.println(e.getMessage());
} finally {
try {
sqlMap.endTransaction();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static List getUser() {
// 首先初始化iBatis获得一个SqlMapClient对象
String resource = "sqlmap-config.xml";
com.ibatis.sqlmap.client.SqlMapClient sqlMap = null;
List user = null;
try {
java.io.Reader reader = com.ibatis.common.resources.Resources
.getResourceAsReader(resource);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (Exception e) {
e.printStackTrace();
}
// sqlMap系统初始化完毕,开始执行getAllUser操作
try {
sqlMap.startTransaction();
user = sqlMap.queryForList("getAllUser", null);
sqlMap.commitTransaction();
} catch (SQLException e) {
System.out.println(e.getMessage());
} finally {
try {
sqlMap.endTransaction();
} catch (SQLException e) {
e.printStackTrace();
}
}
return user;
}
public static void main(String[] args) {
update();
List user = getUser();
for (int i = 0; i < user.size(); i++)
{
System.out.println(((User) user.get(i)).getName());
}
}
}
6,在项目根目录下新建一个文件夹database,然后干什么呢?这个文件夹里面放的是数据库文件!里面有一个bat的配置启动数据库的文件,双击之后就打开h2数据库网页客户端界面,同时h2 数据库启动,记住,运行项目的时候要先把h2数据库关掉才可以,因为h2数据库是在项目中启动的!
最后,不足的是h2数据库官方说明文档是英文版的,我自己没有找到中文版的,有空得把它翻译翻译,如果大家有找到中文版的,告诉我一声啊,那我就不用浪费时间了!谢谢...

- 大小: 8.8 KB

- 大小: 9.7 KB

- 大小: 25.5 KB
分享到:
相关推荐
综上所述,这个项目旨在提供一个基础示例,展示如何在Java应用中集成H2数据库和iBatis,以便于开发和测试数据库操作。通过使用内存和嵌入式模式,H2满足了不同的运行场景需求,而iBatis则简化了数据库访问,提高了...
1. 配置测试环境:创建一个专门为测试用的配置文件,如`test-context.xml`,在这个配置文件中,我们可以使用内存数据库(如H2)替代真实的数据库,以便快速执行测试且不会影响生产数据。 2. 使用@Test注解:在JUnit...
Oracle 10g Express(可用的H2数据库) Java 1.6 + Spring 3.1 + Eclipse(靛蓝)+ Maven + iBatis 2.0 + Tomcat 6.0(HTTP端口8000) B.项目 oauth2provider:认证服务器和资源服务器 oauth2client:Web服务器流...
- **多数据库支持**:分页插件支持MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、PostgreSQL等多种数据库。 #### 二、环境搭建与配置 为了在Spring Boot项目中集成MyBatis-Plus,需要进行以下步骤: 1. **导入...