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>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost/sample"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value="root"/>
</dataSource>
</transactionManager>
<sqlMap resource="com/cs/User.xml"/>
</sqlMapConfig>
User.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="com.cs.User"/>
<resultMap id="UserResult" class="User">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="sex" column="sex"/>
<result property="address" column="address"/>
</resultMap>
<!-- Select with no parameters using the result map for Account class. -->
<select id="selectAllUser" resultMap="UserResult">
select * from t_user
</select>
<select id="selectUserById" resultClass="User" parameterClass="int">
select * from t_user where id = #id#
</select>
<insert id="inserUser" parameterClass="User">
<selectKey resultClass="int" keyProperty="id">
select LAST_INSERT_ID() as value
</selectKey>
insert into t_user(id, name, sex, address)
values (#id#, #name#, #sex#, #address#)
</insert>
<update id="modifyUser" parameterClass="User">
update t_user set name=#name#, sex=#sex#, address=#address#
where id=#id#
</update>
<delete id="deleteUser" parameterClass="int">
delete from t_user where id = #id#
</delete>
<select id="selectUserByName" parameterClass="String" resultMap="UserResult">
select * from t_user where name = '$name$'
</select>
</sqlMap>
IUserDao.java
package com.cs;
import java.util.List;
public interface IUserDao {
public List selectAllUser();
public User selectUserById(int id);
public void addUser(User user);
public void delUser(int id);
public void modifyUser(User user);
public List selectUserByName(String name);
}
UserDaoImpl.java
package com.cs;
import java.io.IOException;
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;
public class UserDaoImpl implements IUserDao {
private static SqlMapClient sqlmapper = null;
static {
try {
Reader reader = Resources.getResourceAsReader("com/cs/SqlMapConfig.xml");
sqlmapper = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
public void addUser(User user) {
try {
sqlmapper.insert("inserUser", user);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void delUser(int id) {
try {
sqlmapper.delete("deleteUser", 12);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void modifyUser(User user) {
try {
sqlmapper.update("modifyUser", user);
} catch (SQLException e) {
e.printStackTrace();
}
}
public List selectAllUser() {
List list = null;
try {
list = sqlmapper.queryForList("selectAllUser");
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
public User selectUserById(int id) {
User user = null;
try {
user = (User)sqlmapper.queryForObject("selectUserById",id);
} catch (SQLException e) {
e.printStackTrace();
}
return user;
}
public List selectUserByName(String name) {
List list = null;
try {
list = sqlmapper.queryForList("selectUserByName", name);
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
/**
* @param args
*/
public static void main(String[] args) {
IUserDao userdao = new UserDaoImpl();
// 添加USER
// User user = new User();
// user.setId(100);
// user.setName("cs");
// user.setSex(1);
// user.setAddress(2);
// userdao.addUser(user);
//
// List list = userdao.selectAllUser();
// for(int i=0;i<list.size();i++) {
// System.out.println(list.get(i));
// }
// 修改USER
// User user = new User();
// user.setId(100);
// user.setName("cs");
// user.setSex(2);
// user.setAddress(1);
// userdao.modifyUser(user);
// 删除USER
// userdao.delUser(12);
// 模糊查询
// List list = userdao.selectUserByName("zk");
// 查询所有USER
List list = userdao.selectAllUser();
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
// 根据ID查询
// User user = userdao.selectUserById(1);
// System.out.println(user);
}
}
分享到:
相关推荐
### ibatis 学习小结笔记 #### 一、ibatis 概述 ibatis 是一个基于 Java 的持久层框架,它提供了一种简便的方式来处理关系型数据库与 Java 对象之间的映射(O/R Mapping)。ibatis 在设计上强调的是 SQL 语句的...
**Ibatis小结** Ibatis,一款轻量级的Java持久层框架,是MyBatis的前身,由Clinton Begin在2003年创建。它致力于解决Java应用程序中的数据访问层(DAL)问题,提供了SQL映射框架,使得开发者可以直接编写SQL语句,...
### iBATIS实例小程序知识点解析 #### 一、iBATIS简介 iBATIS是一个开源的持久层框架,它提供了一种将对象映射到关系型数据库中的方法,简化了Java应用程序与数据库之间的交互过程。iBATIS的核心是SQL映射文件,...
IBATIS是一个开源的ORM(Object-Relational Mapping)框架,最初由Java版本发展而来,后来移植到了.NET平台,成为IBatis.Net。它允许开发者将SQL语句与业务逻辑对象分离,以XML文件的形式存储SQL映射,提高代码的可...
这个"ibatis小例子Demo"是为了帮助初学者快速理解和掌握Ibatis的核心功能和基本用法。 Ibatis的主要特点包括: 1. **XML配置文件**:Ibatis通过XML配置文件来定义SQL语句、参数映射和结果映射,使得SQL与Java代码...
Ibatis 是一款轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码分离,从而使得数据库访问更加灵活、易于维护。本篇文章将深入探讨Ibatis的核心概念、最佳实践以及与其他框架如Struts和Spring的整合。 1. ...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将SQL语句与Java代码分离,从而更好地管理数据库操作。Ibatis的出现,解决了传统JDBC中手动编写SQL和结果集映射的繁琐工作,...
iBatis是一个轻量级的Java持久层框架,它的核心理念是将SQL语句与Java代码分离,使得开发者可以更加灵活地控制SQL的执行。...实践是检验真理的唯一标准,希望这个小项目能帮助你在实际操作中更好地掌握iBatis这一利器。
《深入解析iBatis源码》 iBatis,一个优秀的Java持久层框架,以其轻量级、灵活的特性在众多ORM(Object-Relational Mapping)框架中独树一帜。iBatis的核心在于它的SQL映射机制,它将数据库操作与业务逻辑解耦,...
这个小例子展示了如何在Visual Studio 2008中集成和使用iBATISNET。下面我们将详细探讨iBATIS在.NET中的使用方法,以及如何利用提供的文件进行实践。 首先,了解iBATIS的基本概念。iBATIS是一个轻量级框架,它的...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写SQL语句上,而无需关注JDBC代码的编写。Ibatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的...
iBATIS是一个由Clinton Begin创建,目前由Apache基金会支持的持久化框架,它专注于数据库查询的简化,尤其在JDBC编程方面提供了极大的便利。相对于全自动化ORM解决方案如Hibernate,iBATIS被称为“半自动化”ORM实现...
标题 "ibatis2小例子(转)" 指向的是一个关于iBatis2的实战教程或示例,这是一套广泛使用的Java持久层框架,它提供了SQL映射功能,使得开发者能够方便地将数据库操作与业务逻辑相结合。在这个小例子中,可能会涉及...
【标题】:“ibatis的一个小例子” 在Java Web开发领域,Ibatis(现已被更名为MyBatis)是一款广泛使用的持久层框架。它提供了一个灵活的SQL映射框架,使开发者可以将SQL语句与Java代码分离,从而实现数据访问层的...
### Ibatis3手册知识点概述 Ibatis3作为一款流行的持久层框架,在软件开发领域具有重要的地位。本篇文章基于“Ibatis3手册 Ibatis3参考手册”的标题及描述,深入解析Ibatis3的核心概念、架构特点以及如何进行实际...
ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,将数据库操作与业务逻辑解耦,使得开发者可以更专注于业务逻辑的实现,而无需关心繁琐的SQL语句编写。本篇文章将深入探讨Ibatis API、文档...
**Ibatis 指南** Ibatis 是一个优秀的开源持久层框架,它允许开发者将 SQL 查询与 Java 代码分离,从而避免了传统的 JDBC 编程中的大量模板代码。作为一个轻量级的框架,Ibatis 提供了灵活的映射机制,使得 XML 或...
iBATIS DAO是Java开发中的一个持久层框架,它提供了数据访问对象(DAO)的实现,使得数据库操作更加简单和灵活。在这个2.3.4.726版本的源码中,我们可以深入理解iBATIS DAO的工作原理,并通过添加注释来帮助我们更好...
- 合理设置批处理的大小,过大过小都会影响性能。 - 对于非常大的数据集,考虑分批次进行批量更新。 通过上述步骤,我们可以在ibatis中实现高效的批量更新操作,极大地提升系统处理大规模数据的能力。这种方法...