mybatis 怎么插入数据库

mybatis 怎么插入数据库,第1张

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

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

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

很清楚,不做赘述。

第三种方法:有人说不用添加主键,能够自动生成,这个方法我没有尝试过,只记得在navicat

for

mysql

不写主键可以自动计算生成的,楼主可以尝试下。

那个返回值1并不是主键,而是插入数据库的记录的条数。主键是自动赋值在对象中的。

比如对象User,属性id为主键,name,age

User user = new User();

usersetName("test");

usersetAge(16);

调用mybatis的insert(user);返回值是1,该条记录的主键通过usergetId();即可获取。

在XML中使用useGeneratedKeys和keyProperty

ibatis是可以直接返回自增主键值的,mybatis是不可以的

你可以按照这种步骤得到

sqlSessioninsert(getNameSpace() + "insertDomain", domain);

int key = domaingetKey();

useGeneratedKey 设置为true, keyProperty为自增主键名称

对于支持自动生成主键的数据库(如SQL Server),可以采用以下方式

<insert id="xxx" parameterType="yyy" useGeneratedKeys="true" keyProperty="id">

</insert>

对于不支持自动生成主键(如Oracle),可以采用以下方式

<insert id="xxx" parameterType="yyy">

<selectKey keyProperty="id" resultType="long" order="BEFORE">

select my_seqnextval from dual

</selectKey>

</insert>

以上就是关于mybatis 怎么插入数据库全部的内容,包括:mybatis 怎么插入数据库、mybatis 为什么得不到返回的主键、Mybatis 怎么返回insert插入的主键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9656754.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存