利用mybatis怎样向数据库插入数据

利用mybatis怎样向数据库插入数据,第1张

你的意思应该是用Oracle数据库的序列自动生成的主键id,那么

第一种方法:你可以在插入主键的时候用序列生成,就是为主键id赋值xxx_seq.nextval,这个序列是你创建的这个table的序列

第二种方法:你可以按照楼上说的,用主键映射,当然对于mysql这种有自增主键和oracle这种用序列的需要不同的设置,楼上代码很清楚,不做赘述。

第三种方法:有人说不用添加主键,能够自动生成,这个方法我没有尝试过,只记得在navicat for mysql 不写主键可以自动计算生成的,楼主可以尝试下。

MyBatis提供用于插入数据的注解有两个:@insert,@InsertProvider,类似还有:@DeleteProvider@UpdateProvider,和@SelectProvider,

作用:

用来在实体类的Mapper类里注解保存方法的SQL语句

区别:

@Insert是直接配置SQL语句,而@InsertProvider则是通过SQL工厂类及对应的方法生产SQL语句,这种方法的好处在于,我们可以根据不同的需求生产出不同的SQL,适用性更好。

使用:

@Insert

@Insert(“insert into blog(blogId,title,author) values(#blogId,#title,#author)”)

public boolean saveBlog(Blog blog)

@InsertProvider

在mapper接口中的方法上使用@InsertProvider注解:

参数解释:

type为工厂类的类对象,

method为对应的工厂类中的方法,方法中的@Param(“list”)是因为批量插入传入的是一个list,但是Mybatis会将其包装成一个map。其中map的key为“list”,value为传入的list。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7851951.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存