<insert id="insertBook" parameterClass="book">
insert into BOOKS (bookNum, bookName, author, publisher,price,
state, quality) values ( #bookNum:VARCHAR#, #bookName:VARCHAR#,
#author:VARCHAR#,#publisher:VARCHAR#, #price:FLOAT#,
#state:INTEGER#, #quality:INTEGER#)
<selectKey resultClass="int" keyProperty="bookId" >
SELECT @@IDENTITY AS bookId
</selectKey>
</insert>
在执行insert是才会返回插入的id
public int update(Book book) throws DatabaseException{
String method = "update";
int result = 0;
try {
result = update("updateBook", book);
debug("", method, Constant.LOG_UPDATE_SUCCESS);
} catch (RuntimeException e) {
error("", method, Constant.LOG_UPDATE_FAIL);
throw new DatabaseException(DatabaseException.DB_Message, e);
}
return result;
}
///////////////////////////////////////////////
对于删除
<delete id="deleteBook" parameterClass="int" >
DELETE FROM BOOKS WHERE BookId = #bookId#
</delete>
直接返回影响记录集
/**
*
* @param bookId
* @throws DatabaseException
* @return int >0:delete success <0: delete fail
*/
public int deleteBook(int bookId) throws DatabaseException{
String method = "deleteBook";
int result = -1;
try {
result = (Integer)this.delete("deleteBook", bookId);
debug("", method, Constant.LOG_DELETE_SUCCESS);
} catch (RuntimeException e) {
result = -1;
error("", method, Constant.LOG_DELETE_FAIL);
throw new DatabaseException(DatabaseException.DB_Message, e);
}
return result;
}
分享到:
相关推荐
ibatis的insert方法的返回值。 介绍了mybaits如何处理返回值的问题。
此外,掌握这些内置别名也有助于提高配置文件的可读性和可维护性,减少因错误配置导致的问题。希望本文能为iBATIS用户带来帮助,并欢迎各位读者分享更多相关资源,共同促进iBATIS社区的发展和完善。
在IT行业中,数据库操作是应用程序开发中的重要环节,而Ibatis作为一款轻量级的Java持久层框架,为开发者提供了方便的数据...同时,对于源码的研究也能帮助我们更好地理解Ibatis的工作原理,进一步优化代码和解决问题。
在本项目中,我们主要探讨的是如何利用Spring MVC、iBATIS和Oracle数据库来实现一个基本的单表操作,包括增、删、改等常见功能。Spring MVC是Spring框架的一个模块,专门处理Web应用程序的模型-视图-控制器(MVC)...
### 解决IBatis缓存动态字段问题 #### 背景与问题描述 在使用IBatis框架处理数据库操作时,可能会遇到动态数据表名、动态字段名的情况。这种情况下,由于IBatis的缓存机制,可能导致字段找不到的问题。具体表现为...
Ibatis 是一款轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码分离,从而使得数据库访问更加灵活、易于维护。本篇文章将深入探讨Ibatis的核心概念、最佳实践以及与其他框架如Struts和Spring的整合。 1. ...
本篇文章将深入探讨Ibatis在开发过程中遇到的取值问题,以及“##”符号在其中的作用。 首先,让我们了解Ibatis的核心概念。Ibatis的主要目标是解决对象关系映射(ORM)的问题,它允许开发者编写XML或注解形式的SQL...
本地缓存作用于单个SqlSession,而二级缓存则可以在多个SqlSession之间共享,但需要注意并发控制和数据一致性问题。 8. **插件支持**:Ibatis允许开发者编写自定义插件,通过拦截器模式对SqlSession或Executor的...
MyBatis 中查询结果为空时不同返回类型对应返回值问题 MyBatis 中查询结果为空时不同返回类型对应返回值问题是 MyBatis 开发中一个常见的问题。当我们使用 MyBatis 进行数据库查询时,查询结果为空时,MyBatis 的...
《深入解析iBatis源码》 iBatis,一个优秀的Java持久层框架,以其轻量级、灵活的特性在众多ORM(Object-Relational Mapping)...同时,源码学习也能帮助我们解决实际项目中遇到的问题,增强我们在ORM领域的专业技能。
通过定义Mapper,开发者可以指定具体的SQL语句、参数类型和返回值类型等。 ### 三、Ibatis3的配置与初始化 #### 1. **初始化过程** - **读取配置文件**:使用 `Resources.getResourceAsReader()` 方法读取配置...
iBATIS DAO是Java开发中的一个持久层框架,它提供了数据访问对象(DAO)的实现,使得数据库操作更加简单和灵活。在这个2.3.4.726版本的源码中,我们可以深入理解iBATIS DAO的工作原理,并通过添加注释来帮助我们更好...
本文将详细讨论如何解决Ibatis中的乱码问题,特别是涉及到GBK和ISO_8859_1编码格式时的解决方案。 首先,我们需要了解乱码产生的原因。乱码通常是因为字符编码不一致导致的。在Java和数据库之间进行数据交互时,...
Ibatis文档是学习和解决问题的重要资源,它包含了详细的API参考、配置指南、最佳实践和常见问题解答。通过阅读文档,你可以了解如何配置Ibatis、创建Mapper接口和XML映射文件,以及如何处理复杂的查询和关联。 在...
为了解决这个问题,ibatis(现已更名为MyBatis)提供了一种支持批量更新的机制,能够显著提高数据处理的速度。 #### 批量Update背景与问题 在实际应用中,经常会遇到需要批量更新数据库中的数据的情况,例如:商品...
如果在使用过程中遇到问题,查看源码可以快速定位并解决问题。通常,将源码放在`lib`目录下并不常见,因为源码主要用于开发和学习,而不是运行时环境。 在iBATIS中,关键概念有: 1. SQL映射文件:这是XML格式的...
iBATIS是一个由Clinton Begin创建,目前由Apache基金会支持的持久化框架,它专注于数据库查询的简化,尤其在JDBC编程方面提供了极大的便利。相对于全自动化ORM解决方案如Hibernate,iBATIS被称为“半自动化”ORM实现...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写SQL语句上,而无需关注JDBC代码的编写。Ibatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的...
自己写了一个Ibatis入门文件 JDK用的1.4 ibatis用的2.3.0 一定要注意版本问题,不然出现本本不兼容很费劲,我调了一上午,注意一定要用JDK1.4 ibatis2.3.0! 数据库自己建一张简单的表就行了,特别说明 只适合新手...
Spring与iBATIS的集成 iBATIS似乎已远离众说纷纭的OR框架之列,通常人们对非常流行的Hibernate情有独钟。但正如Spring A Developer's Notebook作者Bruce Tate 和Justin Gehtland所说的那样,与其他的OR框架相比...