<?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="Account">
<!-- Use type aliases to avoid typing the full classname every time. -->
<typeAlias alias="Account" type="com.ibatis.model.Account"/>
<!-- Result maps describe the mapping between the columns returned
from a query, and the class properties. A result map isn't
necessary if the columns (or aliases) match to the properties
exactly. -->
<resultMap id="AccountResult" class="Account">
<result property="id" column="ACC_ID"/>
<result property="firstName" column="ACC_FIRST_NAME"/>
<result property="lastName" column="ACC_LAST_NAME"/>
<result property="emailAddress" column="ACC_EMAIL"/>
</resultMap>
<!-- Select with no parameters using the result map for Account class. -->
<select id="selectAllAccounts" resultMap="AccountResult">
select * from ACCOUNT
</select>
<!-- A simpler select example without the result map. Note the
aliases to match the properties of the target result class. -->
<select id="selectAccountById" parameterClass="int" resultClass="Account">
select
ACC_ID as id,
ACC_FIRST_NAME as firstName,
ACC_LAST_NAME as lastName,
ACC_EMAIL as emailAddress
from ACCOUNT
where ACC_ID = #id#
</select>
<!-- Insert example, using the Account parameter class -->
<insert id="insertAccount" parameterClass="Account">
insert into ACCOUNT (
ACC_ID,
ACC_FIRST_NAME,
ACC_LAST_NAME,
ACC_EMAIL
)
values (
#id#, #firstName#, #lastName#, #emailAddress#
)
</insert>
<!-- Update example, using the Account parameter class -->
<update id="updateAccount" parameterClass="Account">
update ACCOUNT set
ACC_FIRST_NAME = #firstName#,
ACC_LAST_NAME = #lastName#,
ACC_EMAIL = #emailAddress#
where
ACC_ID = #id#
</update>
<!-- Delete example, using an integer as the parameter class -->
<delete id="deleteAccountById" parameterClass="int">
delete from ACCOUNT where ACC_ID = #id#
</delete>
<!-- Insert Account with sequence -->
<insert id="insertAccountBySequence" parameterClass="Account">
<selectKey resultClass="int" keyProperty="id">
SELECT SEQ_ACCOUNT_PK_ID.NEXTVAL FROM DUAL
</selectKey>
insert into ACCOUNT (
ACC_ID,
ACC_FIRST_NAME,
ACC_LAST_NAME,
ACC_EMAIL
)
values (
#id#, #firstName#, #lastName#, #emailAddress#
)
</insert>
</sqlMap>
-----------------------------------------------------------------
测试:
@Test
public void insertAccountTest() throws SQLException{
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
AccountDAO dao = (AccountDAO)ctx.getBean("accountDAO");
Account account = new Account();
account.setId(104);
account.setFirstName("ff");
account.setLastName("ff");
account.setEmailAddress("ee");
dao.insertAccount(account);
System.out.println("add ok!");
}
@Test
public void selectAllAccountsTest() throws SQLException{
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
AccountDAO dao = (AccountDAO)ctx.getBean("accountDAO");
for(Account ac : dao.selectAllAccounts()){
System.out.println(ac);
}
}
@Test
public void selectAccountByIdTest() throws SQLException{
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
AccountDAO dao = (AccountDAO)ctx.getBean("accountDAO");
Account account = dao.selectAccountById(100);
System.out.println(account);
}
@Test
public void updateAccountTest() throws SQLException{
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
AccountDAO dao = (AccountDAO)ctx.getBean("accountDAO");
Account account = new Account();
account.setId(100);
account.setFirstName("ccc");
account.setLastName("ccc");
account.setEmailAddress("ccc");
dao.updateAccount(account);
System.out.println("updated!");
}
@Test
public void deleteAccountTest() throws SQLException{
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
AccountDAO dao = (AccountDAO)ctx.getBean("accountDAO");
dao.deleteAccount(0);
System.out.println("deleted!");
}
@Test
public void insertAccountBySequenceTest() throws SQLException{
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
AccountDAO dao = (AccountDAO)ctx.getBean("accountDAO");
Account account = new Account();
account.setId(100);
account.setFirstName("ccc");
account.setLastName("ccc");
account.setEmailAddress("ccc");
dao.insertAccountBySequence(account);
System.out.println("saved with sequence!");
}
分享到:
相关推荐
在Ibatis中,CRUD(Create, Read, Update, Delete)是数据库中最基本的操作,下面我们将详细介绍如何使用Ibatis实现这些操作。 1. **创建(Create)**:创建通常涉及到插入新的记录。在Ibatis中,我们定义一个Insert...
在IT行业中,数据库操作是必不可少的一部分,而Ibatis作为一个轻量级的持久层框架,为开发者提供了方便快捷的SQL映射工具,使得CRUD(创建、读取、更新、删除)操作变得更加简单易行。相较于Hibernate这样的ORM框架...
iBatis 是一款轻量级的Java持久层框架,它主要负责数据库的增删改查(CRUD)操作。在本教程中,我们将探讨如何利用iBatis进行基本的数据库操作,包括配置、映射文件、SQL语句的编写以及Java代码的实现。 **一、...
在IT行业中,`iBatis` 和 `MyBatis` 是两种非常流行的持久层框架,它们主要用于简化Java应用程序中的数据库操作。本篇文章将深入探讨这两个框架,并基于`CRUD`(Create, Read, Update, Delete)操作来阐述如何使用它们...
### IBatis CRUD 实例详解 #### 一、IBatis简介 IBatis(现称为MyBatis)是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。IBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。IBatis...
本资源"ibatis mybatis 分页 crud 完整代码"包含了这两个框架在CRUD(创建、读取、更新、删除)操作以及分页功能上的实现,下面将详细介绍相关知识点。 1. **Ibatis**: Ibatis 是一款轻量级的Java ORM(对象关系...
整合SpringMVC、Spring和iBatis进行CRUD操作,通常需要以下步骤: 1. **配置SpringMVC**:创建`web.xml`配置文件,设置DispatcherServlet,并配置相应的SpringMVC配置文件。 2. **配置Spring**:在Spring配置文件...
本教程将深入探讨Ibatis如何实现CRUD(创建、读取、更新、删除)操作,如何调用存储过程,以及如何进行动态查询。 **创建(Create)** 在Ibatis中,创建数据通常通过SQL映射文件实现。每个映射文件包含一个或多个...
"封装通用的Spring3+Struts2+IBatis的CRUD"是一项常见的实践,它整合了三个强大的开源框架,用于快速开发企业级Web应用。这个项目的核心目标是创建一个能够处理基本创建(Create)、读取(Retrieve)、更新(Update)和...
本教程将深入讲解如何使用iBATIS来实现基本的CRUD(创建、读取、更新、删除)操作。 一、iBATIS简介 iBATIS,现在被称为MyBatis,是一个基于Java的持久层框架,它提供了SQL映射功能,将SQL与Java代码分离,提高了...
《深入剖析iBatis框架:一个CRUD操作的项目实例》 iBatis,一个轻量级的Java持久层框架,以其简洁、灵活的特点,在Java开发领域占据了一席之地。本篇文章将通过一个具体的CRUD操作项目实例,帮助读者深入理解iBatis...
这篇博客“iBatis执行非查询语句(CRUD,函数和过程)”深入探讨了如何在iBatis中执行创建、读取、更新和删除(CRUD)操作,以及调用数据库存储过程和函数。 一、iBatis简介 iBatis最初由MyBatis的创始人Clinton ...
数据库自己建一张简单的表就行了,特别说明 只适合新手入门 只有三个java文件和三个xml配置文件 非常简单 但是包含了crud操作 非常适合新手入门,因为项目经理让我熟悉一下ibatis 我就自学写了一个,希望对你有帮助
6. **实战演示**:可能会通过一个简单的例子,如用户注册功能,展示如何使用iBatis进行CRUD操作。 7. **最佳实践**:可能还会涉及到如何优化iBatis配置,避免常见问题,以及如何结合Spring框架实现更高级的应用。 ...
1. Mybatis-Plus:在 Ibatis 基础上提供了更多的扩展功能,如 CRUD 操作、条件构造器等。 2. Mybatis Generator:自动化代码生成工具,自动生成 Entity、Mapper 和 XML 文件,提高开发效率。 通过以上内容,你将对 ...
在这个"ibatisDemo.zip"压缩包中,我们可能找到了一系列关于快速入门Ibatis的资源,包括实际的增删改查(CRUD)示例和配套的讲解视频。这对于我们理解和学习Ibatis非常有帮助。 首先,让我们深入了解一下Ibatis的...
在这里,开发者可能通过IBatis与DB文件中的数据库进行交互,实现CRUD(创建、读取、更新、删除)操作。 通过这个项目,学习者可以了解如何在C#和Asp.Net环境下配置和使用IBatis,以及如何结合Mvc框架来设计和实现一...
SqlSession 提供了 CRUD 方法,如 `selectOne()`, `selectList()`, `insert()`, `update()` 和 `delete()`。 2.3 参数绑定:调用 SqlSession 的方法时,传入参数对象或 Map,Ibatis 会自动将参数映射到 SQL 语句中...
在IT行业中,数据库操作是应用程序开发的核心部分,而Ibatis作为一个优秀的持久层框架,使得Java开发者可以更加便捷地实现对数据库的CRUD(创建、读取、更新、删除)操作。本篇将深入探讨如何使用Ibatis连接MSSQL与...