zoukankan      html  css  js  c++  java
  • mybtatis添加数据返回主键

    今天心血来潮,想用自己的项目来发布一些博客,可是当我提交成功后,想要访问的时候,突然告诉我找不到?!?
    吓得我赶紧去查看一下数据库日志,结果发现主键对不上。
    是这样,我的博客是放在数据库中的,而为了方便,我又将博客分成了两个表,一个表存放博客的基本信息,一个存放博客的内容信息,插入的时候,先存放基本信息返回主键id,然后将id和内容插入到内容表中,本来是没有问题的,后来才发现,逆向工程的insert的语句,返回的不是主键id,而是影响的行数。问题找到了,那么解决他就很简单了。

    解决办法

    经过查阅资料发现,主键id是可以返回的,但是会返回给你当初insert进去的对象里面的属性中,不会返回。这也是当然的吧,万一主键约束有多个不就瞎了,你咋返回?

    但是默认的insert是不会返回的,必须保证你的数据库主键是设置成了逐步递增的,而且,还需要下面三个属性:

    • useGeneratedKeys="true" (必要)
    • keyProperty="xx" (必要,你想要返回给对象的属性名称)
    • keycolumn="xx" (非必要,这个是指定数据库中那个是主键)

    将这三个属性写在xml的方法上,像是这样

      <insert id="insertSelective" parameterType="run.app.entity.model.Blog" useGeneratedKeys="true" keyProperty="id" >
    

    然后你的主键就会返回给你这个Blog对象了,大功告成。

  • 相关阅读:
    WP8.1 UI 编程 四、图形
    分治法 全排列问题的一个Java实现
    合并排序算法时间复杂度分析
    js如何实现复制粘贴功能
    关于<meta name="applicable-device"content="pc">
    ready
    css文字强制大写输入
    关于input,button标签在苹果手机上显示阴影解决办法
    【C#】中用if判断值是否是否为空
    视频格式MP4,需要转码
  • 原文地址:https://www.cnblogs.com/adroitwolf/p/14310030.html
Copyright © 2011-2022 走看看