SqlMapConfig.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="true"/>
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/test"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value="billsxm"/>
<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 userinfo" />
<property name="Pool.PingEnabled" value="false" />
<property name="Pool.PingConnectionsOlderThan" value="1" />
<property name="Pool.PingConnectionsNotUsedFor" value="1" />
</dataSource>
</transactionManager>
<sqlMap resource="com/mydomain/data/UserInfo.xml"/>
</sqlMapConfig>
UserInfo.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="UserInfo">
<typeAlias alias="UserInfo" type="com.mydomain.domain.UserInfo"/>
<resultMap id="UserInfoResult" class="UserInfo">
<result property="id" column="ID"/>
<result property="name" column="NAME"/>
<result property="password" column="PASSWORD"/>
<result property="msg" column="MSG"/>
</resultMap>
<select id="selectAllInfo" resultMap="UserInfoResult">
select * from USERINFO
</select>
<select id="selectInfoByid" parameterClass="int" resultClass="UserInfo">
select
ID as id,
NAME as name,
PASSWORD as password,
MSG as msg
from USERINFO
where ID = #id#
</select>
<insert id="insertInfo" parameterClass="UserInfo">
<selectKey keyProperty="id" resultClass="int">
SELECT LAST_INSERT_ID() as value
</selectKey>
insert into USERINFO
(
NAME,
PASSWORD,
MSG)
values(#name#,#password#,#msg#)
</insert>
<update id="updateInfo" parameterClass="UserInfo">
update USERINFO set
NAME = #name#,
PASSWORD = #password#,
MSG = #msg#
where ID = #id#
</update>
<delete id="deleteInfoByid" parameterClass="int">
delete from USERINFO where ID = #id#
</delete>
</sqlMap>
UserInfo.java
package com.mydomain.domain;
public class UserInfo {
private int id;
private String name;
private String password;
private String msg;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
Example.java
package com.mydomain.data;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.mydomain.domain.UserInfo;
public class Example {
/**
* @param args
*/
private static SqlMapClient sqlMapper;
private static String resource = "com/mydomain/data/SqlMapConfig.xml";
/**
* load the SqlMapConfig.xml
*/
static {
try{
Reader reader = Resources.getResourceAsReader(resource);
sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 查询所有信息
* @return
* @throws SQLException
*/
@SuppressWarnings("unchecked")
public static List<UserInfo> selectAllInfo() throws SQLException{
return sqlMapper.queryForList("selectAllInfo", UserInfo.class);
}
/**
* 根据id查找
* @return
* @throws SQLException
*/
@SuppressWarnings("unchecked")
public static List<UserInfo> selectInfoByid(int id) throws SQLException{
return sqlMapper.queryForList("selectInfoByid", id);
}
/**
* 插入信息
* @param userInfo
* @throws SQLException
*/
public static void insertInfo(UserInfo userInfo) throws SQLException{
sqlMapper.insert("insertInfo", userInfo);
}
/**
* 更新信息
* @param userInfo
* @throws SQLException
*/
public static void updateInfo(UserInfo userInfo) throws SQLException{
sqlMapper.update("updateInfo", userInfo);
}
public static void deleteInfoByid(int id) throws SQLException{
sqlMapper.delete("deleteInfoByid", id);
}
public static void main(String[] args) {
// UserInfo userInfo = new UserInfo();
// userInfo.setName("cici");
// userInfo.setPassword("ciiii");
// userInfo.setMsg("Hello CiCi");
try {
sqlMapper.startTransaction();
// List<UserInfo> info = selectInfoByid(2);
// for(int i=0;i<info.size();i++){
// System.out.println(info.get(i).getId());
// System.out.println(info.get(i).getName());
// System.out.println(info.get(i).getPassword());
// System.out.println(info.get(i).getMsg());
// }
//update
UserInfo userInfo = new UserInfo();
userInfo.setId(new Integer(1));
userInfo.setName("Bill.Zhang");
userInfo.setPassword("1234");
userInfo.setMsg("This is update message.");
updateInfo(userInfo);
sqlMapper.commitTransaction();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
这个"第一个ibatis例子"是一个典型的入门教程,旨在帮助初学者快速理解并掌握Ibatis的基本用法。 首先,Ibatis的核心组件包括XML配置文件、SqlMapConfig.xml、Mapper接口以及Mapper XML文件。在入门例子中,我们...
一个是纯ibatis的例子,还有一个是和spring2.5整合的例子。第二个例子主要代码测试在CopyOfUserDaoTest.java这个类里面,全部使用的是最新注解方式来注入和测试的。欢迎大家拍砖,如有不懂,请电邮:xnxqs@163.com ...
在"spring_MVC_study"这个压缩包中,很可能是包含了一系列的示例代码和教程文档,用于指导学习者如何在实际项目中结合使用Spring MVC、Hibernate和iBatis。这些示例可能涵盖了从基本的CRUD操作到复杂的业务流程,...
初学者通常从安装iBatis开始,然后创建第一个简单的SQLMap配置文件,接着编写一个Java Dao接口,最后通过MyBatis-Spring(如果整合Spring)或SqlSession对象执行SQL并处理结果。 1. **环境搭建**:引入iBatis的jar...
在这个“ibatis 第一个helloWorld”项目中,我们将学习如何使用Ibatis进行基本的数据操作。 首先,数据库选用的是MySQL,这是一个广泛使用的开源关系型数据库管理系统,具有高效、稳定和易于管理的特点。在Ibatis中...
采用的框架是struts2.1.8,ibatis3,guice2.0,完整的产品模块和权限模块(部分功能)...自我认为是学习Ibatis3比较好的例子,覆盖到Ibatis3的各个方面。 最近很穷,所以资源分高了些。没有分的朋友,留下email我发给你。
1. **小巧灵活**:iBatis的设计原则之一是“轻量级”,这意味着它的学习曲线相对平缓,对于不需要复杂功能的项目来说,iBatis是一个快速上手的好选择。 2. **SQL语句可控制**:iBatis允许开发者直接编写SQL语句,这...
标题 "ibatis完整例子,可直接运行" 暗示我们即将探讨的是关于iBATIS这一数据访问框架的实战应用,而"ibatis2"表明是其第二代版本。iBATIS是一个允许Java开发者将SQL语句直接映射到Java代码中的持久层框架,它在对象...
- 第一个例子:通过一个简单的CRUD操作,展示iBATIS的基本用法。 - 数据源配置:讲解如何配置数据连接字符串,连接池等。 - CRUD操作:详细解释如何使用iBATIS执行增删改查操作。 - 映射实体类:介绍如何将...
Spring ibatis dwr2 extjs例子2,接例子第一部分
这个文件定义了数据源、事务管理器等全局配置,是启动Ibatis的第一步。例如,数据源配置通常包含数据库驱动、URL、用户名和密码等信息。 4. **Mapper配置与映射文件** 映射文件(如:UserMapper.xml)是Ibatis实现...
教程中可能包括了如何创建第一个iBATIS项目、如何编写DAO(数据访问对象)层、如何进行CRUD(创建、读取、更新、删除)操作等实践环节,让学习者能够通过动手实践更好地掌握iBATIS的使用技巧。 在学习这些资料时,...
在第二个例子中,我们将学习如何使用iBatis插入新数据。这通常涉及创建一个`insert`映射,然后在Java代码中调用`insert`方法。类似地,第三个例子会介绍如何删除数据,通过创建`delete`映射并调用`delete`方法。 总...
总的来说,这个完整的Ibatis例子涵盖了从配置、接口定义、SQL映射到实际操作的全过程,是学习和实践Ibatis的宝贵资源。通过研究和运行这个项目,你将能够熟练掌握Ibatis的用法,提升你的Java持久层开发技能。
对于"ACCP Y2"这个标签,它可能指的是某种特定的课程或认证体系,可能是在学习路径的第二阶段介绍了iBatis的使用。而"iBaits按条件查询及分页功能"进一步强调了这个资源关注的重点,即利用iBatis实现基于用户输入...
标题 "spring2.5+ibatis3+web service cxf 例子MyEclipse工程" 提供了一个关于如何在MyEclipse环境中集成Spring 2.5、iBatis 3和Web Service CXF的实例。这个工程是开发人员学习和实践这些技术的一个起点,通过它,...
通过这些例子,开发者可以快速上手,了解如何配置和使用iBatis进行数据库操作。 "src"目录是源代码的核心所在,包含了iBatis的各个组件和模块。深入研究这些源代码,我们可以了解到iBatis如何处理SQL映射文件、动态...
这个例子是一个在线宠物商店,涵盖了用户管理、商品分类、购物车等功能,是学习iBatis的绝佳起点。 **3. iBatis配置** iBatis的核心配置文件(通常为`sqlmapconfig.xml`)包含了数据源、事务管理器以及SQL映射文件...
首先,我们来看第一步,将`sqlite-jdbc-3.7.2.jar`驱动添加到项目的类路径中。在这个例子中,这个jar包被放置在`webroot/WEB-INF/lib`目录下。这是为了确保在运行时,Java虚拟机能够找到并加载SQLite的JDBC驱动,...