<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.chm",开发者可以详细了解这些组件的使用方式、方法签名、参数以及返回值,更好地掌握Ibatis框架,提高开发效率。Ibatis的强大之处在于它的灵活性和易用性,它允许开发者编写复杂的SQL,同时避免了...
4. **存储过程调用**:演示如何在IBatis中调用MySQL的存储过程,包括传递参数和接收返回值的方法。 5. **异常处理**:介绍在处理数据库操作时可能出现的异常,以及如何优雅地捕获和处理这些异常。 6. **性能优化**...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写SQL语句上,而...对于初学者来说,深入理解Ibatis的CRUD操作及其相关配置,对提升数据库操作能力大有裨益。
它主要解决了Java应用中的数据持久化问题,通过XML或注解方式配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通Java对象)映射成数据库中的记录。 【知识点二】:Ibatis的核心组件 1. SQL...
`values` 部分用于传递参数值到 SQL 语句,而返回值(如受影响的行数)可以通过 Ibatis 的 API 获取。 对于模糊查询,可以使用 $ 实现,比如 `%${keyword}%`,这样可以配合外部的通配符实现模糊匹配。同时,Ibatis ...
10. 实战案例:书中包含了大量的实战示例,涵盖了CRUD操作、分页查询、存储过程调用、批量更新等常见场景,帮助读者更好地理解和运用iBatis。 通过阅读《iBatis实战》这本书,你将能够熟练掌握iBatis的配置、使用和...
该文件定义了一个名为 `User` 的命名空间,包含了针对用户表的各种 CRUD 操作。 **1. 用户实体类 (User)** ```java public class User { private int userid; private String username; private String ...
在IT行业中,Spring、iBatis和Struts2是三个非常重要的开源框架,它们分别在不同的层面上解决了Java Web开发中的问题。本实战项目利用这三个框架实现了一个基础的增删改查(CRUD)功能,这通常是任何Web应用的基础。...
在调用MySQL存储过程时,iBatis提供了接口,允许我们方便地执行存储过程并获取返回值。 MySQL存储过程是数据库层面的程序,可以包含一系列的SQL语句,如INSERT、UPDATE、DELETE以及SELECT。在处理复杂的业务逻辑或...
`SqlMapClient`对象是iBatis的核心接口,它提供了对数据库进行CRUD(Create、Read、Update、Delete)操作的能力,并且支持事务管理。由于`SqlMapClient`是线程安全的,因此在实际应用中,通常会将其作为单例模式来...
2. **前身IBatis**:MyBatis的前身是IBatis,后来经过重构和发展成为现在的MyBatis。 3. **轻量级**:相比于其他ORM框架如Hibernate,MyBatis更加轻量级,更适合对性能有较高要求的应用场景。 4. **灵活性**:...
SqlMapClient对象是iBatis框架中用于操作数据库的核心接口,它提供了对数据库的基本CRUD(创建、读取、更新、删除)操作的支持,并且包含了事务管理功能。SqlMapClient的设计模式类似于Hibernate中的SessionFactory...
这个注解主要用于解决枚举类型在序列化和反序列化过程中的问题,确保数据在数据库和Java对象之间能够正确地转换。 在MyBatis-Plus 3.1.0版本之后,如果你不需要使用原生的枚举类型,可以通过配置默认的枚举类型...
- **使用ORM框架**:如Hibernate、MyBatis等自动处理SQL注入问题。 #### 27. 日志级别 - **TRACE**:最细粒度的信息事件。 - **DEBUG**:调试信息。 - **INFO**:一般的信息事件。 - **WARN**:潜在的错误情况。 -...