insert、update、delete这三个元素分别用于执行SQL中的insert、update、delete。
三个元素配置基本相同
对于insert如果你的数据库支持自动生成主键的字段(比如 MySQL 和 SQL Server),那么你可以设置 useGeneratedKeys=”true”,而且设置 keyProperty 到你已经做好的目标属性上。
例如Author 表已经对 id 使用了自动生成的列类型,那么语句如下:
<insert id="insertAuthor" parameterType="domain.blog.Author"
useGeneratedKeys=”true” keyProperty=”id”>
insert into Author (username,password,email,bio)
values (#{username},#{password},#{email},#{bio})
</insert>
MyBatis 有另外一种方法来处理数据库不支持自动生成类型,或者可能 JDBC 驱动不支持自动生成主键时的主键生成问题。
这里有一个简单(甚至很傻)的示例,它可以生成一个随机 ID(可能你不会这么做,但是这展示了 MyBatis 处理问题的灵活性,因为它并不真的关心 ID 的生成):
<insert id="insertAuthor" parameterType="domain.blog.Author">
<selectKey keyProperty="id" resultType="int" order="BEFORE">
select CAST(RANDOM()*1000000 as INTEGER) a from SYSIBM.SYSDUMMY1
</selectKey>
insert into Author
(id, username, password, email,bio, favourite_section)
values
(#{id}, #{username}, #{password}, #{email}, #{bio},
#{favouriteSection,jdbcType=VARCHAR}
)
</insert>
在上面的示例中,selectKey 元素将会首先运行,Author 的 id 会被设置,然后插入语句会被调用。这给你了一个简单的行为在你的数据库中来处理自动生成的主键,而不需要使你的Java 代码变得复杂。 selectKey元素会在后面的动态SQL中说明。
分享到:
相关推荐
在IT行业中,MyBatis作为一个轻量级的持久层框架,深受广大开发者的喜爱。它提供了灵活的SQL映射机制,使得Java对象与数据库表之间的交互变得更加简单。本篇文章将深入探讨MyBatis如何实现增删改查操作,以及一对多...
Mybatis框架(单表添加修改删除)
以下是对 MyBatis 批量添加、修改和删除的详细解释。 1. **批量添加** 批量添加通常通过 `session.insert()` 方法实现,该方法接受一个 SQL 映射语句 ID 和一个包含待插入对象的集合。在给出的示例中,创建了一个 `...
通过mybatis拦截器将查询语句、更新语句、删除语句、插入语句中指定表明替换为另一个表名
SSM框架,即Spring MVC、Spring和MyBatis的组合,是Java开发中常见的Web应用程序框架。这个项目提供了一个可以...此外,还可以在此基础上扩展功能,如添加权限控制、异常处理、日志记录等,进一步提升对Web开发的理解。
Mybatis一对一增删修改查完整项目,是基于人与身份证的实体类,project可导入idea,建设mysql的表,改一下mysql连接就能直接运行,Mybatis一对一增删修改查完整项目,Mybatis一对一增删修改查完整项目
【标题】"mybatis-generator1.3.5-修改版"是基于MyBatis Generator官方版本1.3.5的一个定制化实现,主要是为了优化和扩展其功能。这个修改版包含了一些预设的配置,使得用户在使用时可以更加便捷地生成MyBatis相关的...
Struts2SpringMybatis 增删改查,里面的Struts2,spring,Mybatis配置文件都是模块化的管理,实现了社会版本的配置,不再是个人玩弄的小项目。具体的 sql语句也已经加到了WEBRROT目录下面了,自己下载下来可以详细看...
在`application.yml`或`application.properties`中,添加配置`mybatis-plus.global-config.refresh-mapper=true`,这将使Mybatis Plus在检测到Mapper XML变动时自动刷新。 此外,IDEA本身提供了"Edit ...
Struts2、Spring和MyBatis是Java Web开发中经典的三大框架,它们组合起来可以构建高效、可维护的Web应用程序。...在实践中,你可以尝试添加更多的功能,如分页、权限控制等,进一步提升对三大框架的理解。
在IT行业中,开发Web应用程序是常见的任务之一,而"MyBatis+Struts2+Spring+MySQL"是一个经典的Java EE技术栈,常用于构建企业级应用。这个组合提供了模型-视图-控制器(MVC)架构,数据持久化,依赖注入,以及事务...
MyBatis PostgreSQL 批量删除操作方法 MyBatis 是一个基于 Java 的持久层框架,它提供了一个简单的方式来交互数据库。在本文中,我们将介绍如何使用 MyBatis 实现 PostgreSQL 批量删除操作。 PostgreSQL 简介 ...
实际上,MyBatis采用了一个插件系统,这些插件可以修改或者拦截方法调用,例如SQL语句的执行,可以在方法调用前后添加很多额外的功能。MyBatis的插件可以用来实现分页、性能监控、数据加密、缓存等功能。 另外,...
在这个项目中,我们讨论的是如何利用这两个框架实现简单的CRUD(创建、读取、更新、删除)操作,以及如何添加分页和删除功能。 首先,让我们深入了解一下CRUD操作。在任何数据驱动的应用中,CRUD操作是基础。创建...
2. **配置Mybatis**:在Mybatis的配置文件`mybatis-config.xml`中,添加插件配置。通常形式如下: ```xml <!-- 配置插件参数,如果有的话 --> ``` 其中,`...
Mybatis-Plus是建立在Mybatis之上的一个增强版本,它提供了更加简洁、方便的操作方式,同时保留了Mybatis的灵活性和强大的SQL编写能力。Mybatis-Plus不修改用户写的SQL语句,而是通过扩展的方式,例如插件,来增强...
在"mybatis数据操作(增删改查+批量操作)"这个主题中,我们将深入探讨如何利用MyBatis进行基本的数据操作,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select),以及如何执行批量操作。...
* 自定义注入器的应用之逻辑删除 第十节:公共字段自动填充 * 给实体添加注解填充字段 @TableFile(fill = FieldFill.INSERT) * 自定义公共字段填充处理器 * MyBatisPlus 全局注入自定义公共字段填充处理器 第十一...
mybatis+spring+struts2 使用oracle数据库 增删改查,是把csdn原先的mysql数据库改成oracle数据库,直接在myeclipse上导入就行,并添加数据库myuser表,还有id,username,password等字段,压缩包下又myuser用记事本...
4. 用 mybatis 删除数据. 查询数据,前面已经讲过简单的,主要看查询出列表的 查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap,...