`
article2008
  • 浏览: 71764 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

ibatis crud返回值问题

阅读更多

<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-api.rar_ibatis_ibatis api

    通过"Ibatis-api.chm",开发者可以详细了解这些组件的使用方式、方法签名、参数以及返回值,更好地掌握Ibatis框架,提高开发效率。Ibatis的强大之处在于它的灵活性和易用性,它允许开发者编写复杂的SQL,同时避免了...

    IBatis查删改查与调用存储过程 mysql数据库

    4. **存储过程调用**:演示如何在IBatis中调用MySQL的存储过程,包括传递参数和接收返回值的方法。 5. **异常处理**:介绍在处理数据库操作时可能出现的异常,以及如何优雅地捕获和处理这些异常。 6. **性能优化**...

    ibatis的增删改查功能

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写SQL语句上,而...对于初学者来说,深入理解Ibatis的CRUD操作及其相关配置,对提升数据库操作能力大有裨益。

    大家快来学ibatis--基础

    它主要解决了Java应用中的数据持久化问题,通过XML或注解方式配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通Java对象)映射成数据库中的记录。 【知识点二】:Ibatis的核心组件 1. SQL...

    传智播客 ibatis 讲义 word版

    `values` 部分用于传递参数值到 SQL 语句,而返回值(如受影响的行数)可以通过 Ibatis 的 API 获取。 对于模糊查询,可以使用 $ 实现,比如 `%${keyword}%`,这样可以配合外部的通配符实现模糊匹配。同时,Ibatis ...

    ibatis实战

    10. 实战案例:书中包含了大量的实战示例,涵盖了CRUD操作、分页查询、存储过程调用、批量更新等常见场景,帮助读者更好地理解和运用iBatis。 通过阅读《iBatis实战》这本书,你将能够熟练掌握iBatis的配置、使用和...

    ibatis_学习文档

    该文件定义了一个名为 `User` 的命名空间,包含了针对用户表的各种 CRUD 操作。 **1. 用户实体类 (User)** ```java public class User { private int userid; private String username; private String ...

    spring+abatis+struts2实战

    在IT行业中,Spring、iBatis和Struts2是三个非常重要的开源框架,它们分别在不同的层面上解决了Java Web开发中的问题。本实战项目利用这三个框架实现了一个基础的增删改查(CRUD)功能,这通常是任何Web应用的基础。...

    struts+spring_ibaits+调用Mysql存储过程实现增删改查

    在调用MySQL存储过程时,iBatis提供了接口,允许我们方便地执行存储过程并获取返回值。 MySQL存储过程是数据库层面的程序,可以包含一系列的SQL语句,如INSERT、UPDATE、DELETE以及SELECT。在处理复杂的业务逻辑或...

    SqlMapClient对象.docx

    `SqlMapClient`对象是iBatis的核心接口,它提供了对数据库进行CRUD(Create、Read、Update、Delete)操作的能力,并且支持事务管理。由于`SqlMapClient`是线程安全的,因此在实际应用中,通常会将其作为单例模式来...

    mybatis入门

    2. **前身IBatis**:MyBatis的前身是IBatis,后来经过重构和发展成为现在的MyBatis。 3. **轻量级**:相比于其他ORM框架如Hibernate,MyBatis更加轻量级,更适合对性能有较高要求的应用场景。 4. **灵活性**:...

    SqlMapClient对象.pdf

    SqlMapClient对象是iBatis框架中用于操作数据库的核心接口,它提供了对数据库的基本CRUD(创建、读取、更新、删除)操作的支持,并且包含了事务管理功能。SqlMapClient的设计模式类似于Hibernate中的SessionFactory...

    mybatis-plus使用@EnumValue处理枚举类型的示例代码

    这个注解主要用于解决枚举类型在序列化和反序列化过程中的问题,确保数据在数据库和Java对象之间能够正确地转换。 在MyBatis-Plus 3.1.0版本之后,如果你不需要使用原生的枚举类型,可以通过配置默认的枚举类型...

    框架面试笔试问答题.docx

    - **使用ORM框架**:如Hibernate、MyBatis等自动处理SQL注入问题。 #### 27. 日志级别 - **TRACE**:最细粒度的信息事件。 - **DEBUG**:调试信息。 - **INFO**:一般的信息事件。 - **WARN**:潜在的错误情况。 -...

Global site tag (gtag.js) - Google Analytics