MyBatis insert标签

举报
Java李杨勇 发表于 2022/08/31 20:36:30 2022/08/31
【摘要】 MyBatis insert标签用来插入SQL语句。当MyBatis执行完一条插入后,就会返回数据库行数。示例insert标签具体用法。修改 WebsiteMapper.xml,增加插入语句,代码如下。<!-- 添加信息 --><insert id="addWebsite" parameterType="string"> insert into website(name) val...

MyBatis insert标签用来插入SQL语句。当MyBatis执行完一条插入后,就会返回数据库行数。
示例insert标签具体用法。

  1. 修改 WebsiteMapper.xml,增加插入语句,代码如下。
<!-- 添加信息 -->
<insert id="addWebsite" parameterType="string">    insert into website(name)    values(#{name})</insert>
  1. 在WebsiteMapper接口中定义一个add方法
public int addWebsite(String name);

参数为 Sting 类型的字符串;返回值为 int 类型,即执行 SQL 后,插入记录的行数。
3. 测试如下。

//插入 name 为铽test4的记录String name = "test4";int i = websiteMapper.addWebsite(name);System.out.println("共插入了 " + i + " 条记录");
  1. 执行测试代码控制台输出。
共插入了 1 条记录数据

insert 标签常用属性

属性名称 描述 备注
id sql 片段在命名空间内的唯一标识. 和mapper 中方法名保持一致 如果命名空间+ id 不唯一,那么 MyBatis 抛出异常
parameterType 参数类型, 通常都可以省略。 支持基本数据类型和 JavaBean、Map 等复杂数据类型
keyProperty 该属性的作用是将插入操作的返回值赋给 PO 类的某个属性,通常为主键对应的属性。如果是联合主键,可以将多个值用逗号隔开。 -
useGeneratedKe 是否回填自动生成的主键
timeout 执行超时时间, 默认未设置, 由数据库驱动决定。 -
databaseId 取值范围 oracle、mysql 等,表示数据库厂家;元素内部可通过 <if test="_databaseId = 'oracle'"> 来为特定数据库指定不同的 sql 语句。 取值范围为Oracle、mysql等,表示数据库制造商;元素可以通过<if test=“_databaseid=‘Oracle’”>为特定数据库指定不同的SQL语句。Mybatis可以根据不同的数据库供应商执行不同的语句。这种多供应商支持基于映射语句中的databaseid属性。Mybatis加载所有不带databaseid属性且databaseid属性与当前数据库匹配的语句。如果同时找到具有和不具有databaseid的同一语句,则后者将被丢弃
keyColumn 该属性用于设置第几列是主键,当主键列不是表中的第 1 列时,就需要设置该属性。如果是联合主键,可以将多个值用逗号隔开。 -
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。