关于使用Mybatisplus自带的selectById和insert方法时的一些问题

一.关于使用Mybatisplus自带的selectById和insert方法时的一些问题

1.selectById的问题

(1).表的主键列名不是id时

查询不到数据,因为Mybatisplus自动生成的sql语句where后面拼接的是where null = ?

这就表示表的主键列名的名字不是id,而Mybatisplus默认的是使用id为主键名的

(2).解决方法

@Id
  @TableId("commodity_id")
  @Column("commodity_id")//设置mybatisplus自动根据id查询时,表的实际id不是默认的id时,找不到id的情况
  @ApiModelProperty(name = "commodityId", value = "商品的id")
  private String commodityId;

在对应映射的实体类里,主键字段的头上加上@TableId("commodity_id"),就表示告诉mybatisplus你的主键列名为commodity_id

2.insert的问题

(1).设置了@TableId("specifications_id")以后

设置了@TableId("specifications_id")以后,并且数据库的主键列是自增的类型而不是我们手段插入的数据,那么使用Mybaitsplus自带的inser方法时,就会导致数据存不进数据库

(2)解决方法

@Id
  @TableId(value = "specifications_id",type = IdType.AUTO)
  @Column("specifications_id")
  @ApiModelProperty(name = "specificationsId", value = "商品的规格id")
  private Integer specificationsId;

要标明当前主键是自增的列,设置type = IdType.AUTO

总结

到此这篇关于关于使用Mybatisplus自带的selectById和insert方法时的一些问题的文章就介绍到这了,更多相关使用Mybatisplus自带selectById和insert方法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MyBatis-Plus集成Druid环境搭建的详细教程

    一.简介 Mybatis-Plus是一款 MyBatis 动态 sql 自动注入 crud 简化 增 删 改 查 操作中间件.启动加载 XML 配置时注入 mybatis 单表 动态 SQL 操作 ,为简化开发工作.提高生产率而生.Mybatis-Plus 启动注入非拦截实现.性能更优. 1.1.原理 1.2.特性 无侵入:Mybatis-Plus 在 Mybatis 的基础上进行扩展,只做增强不做改变,引入 Mybatis-Plus 不会对您现有的 Mybatis 构架产生任何影响,而且 MP

  • 使用mybatis-plus的insert方法遇到的问题及解决方法(添加时id值不存在异常)

    mybatis在持久层框架中还是比较火的,一般项目都是基于ssm.虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活.但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦. 下面给大家介绍使用mybatis-plus的insert方法遇到的问题,具体内容如下所示: 我在添加的时候,无缘无辜的给我报 java.sql.SQLException: Field 'id' doesn't have a default value 如图: 后来了解到 使用 mybati

  • Mybatis-Plus条件构造器的具体使用方法

    在Mybatis-Plus中,Wrapper接口的实现类关系如下: 可以看到,AbstractWrapper和AbstractChainWrapper是重点实现,接下来我们重点看下AbstractWrapper以及其子类. 说明:QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类 用于生成 sql的 where 条件, entity 属性也用于生成 sql 的 where 条件 注意:entity 生

  • 关于使用Mybatisplus自带的selectById和insert方法时的一些问题

    一.关于使用Mybatisplus自带的selectById和insert方法时的一些问题 1.selectById的问题 (1).表的主键列名不是id时 查询不到数据,因为Mybatisplus自动生成的sql语句where后面拼接的是where null = ? 这就表示表的主键列名的名字不是id,而Mybatisplus默认的是使用id为主键名的 (2).解决方法 @Id @TableId("commodity_id") @Column("commodity_id&qu

  • MybatisPlus自带的queryWrapper实现时间倒序方式

    目录 MybatisPlus自带queryWrapper时间倒序 使用queryWrapper解决字符串中含数字的排序问题 造成的原因 解决办法 MybatisPlus自带queryWrapper时间倒序 queryWrapper.select().orderByDesc("create_time"); 使用queryWrapper解决字符串中含数字的排序问题 今天遇到了Oracle数据库字符串(含数字)排序问题,这里记录的是如何用MyBatis-Plus的queryWrapper条件

  • mybatis-plus自带QueryWrapper自定义sql实现复杂查询实例详解

    目录 常用写法 自定义sql 补充: 查询条件中使用函数apply 补充: 末尾sql追加last 补充:排序 补充:Mybatis-Plus QueryWrapper +sql自定义查询 总结 常用写法 xxxDO=实体类, 相当于: select name, id from xxx group by name where delete_flag = 0 and status = 0 LambdaQueryWrapper<xxxDO> queryWrapper = Wrappers.lamb

  • springboot中使用mybatisplus自带插件实现分页的示例代码

    目录 springboot中使用mybatisplus自带插件实现分页 1.导入mybatisplus分页依赖 2.添加MybatisPlusConfig配置类 3.测试分页 springboot中使用mybatisplus自带插件实现分页 1.导入mybatisplus分页依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifa

  • mybatis-plus 表名添加前缀的实现方法

    1.使用mybatis-plus自身的查询构造去,只需要在全局配置中添加如下配置 mybatis-plus: mapper-locations: classpath:mappers/*Mapper.xml # mapper映射文件 global-config: db-config: table-prefix: tr_ 2.自定义sql语句中添加表名前缀 在yml文件中添加如下配置 mybatis-plus: mapper-locations: classpath:mappers/*Mapper.

  • jsp给后台带多个参数的方法

    实例如下: <a class="weui-cell weui-cell_access" href="javascript:tiao('${li.id}','${li.fplxdm}');" rel="external nofollow" > function tiao(id,fpxldm){ window.location = "${sbjkgl}/w/fp/pageDetail?id="+id+"&am

  • java中javamail发送带附件的邮件实现方法

    本文实例讲述了java中javamail发送带附件的邮件实现方法.分享给大家供大家参考.具体分析如下: JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输,JavaMail是可选包,因此如果需要使用的话你需要首先从java官网上下载.目前最新版本是JavaMail1.5.0,下面我们来看看javamail发送带附件的邮件实例 mail.java 代码: 复制代码 代码如下: package mail;

  • IOS自带Email的两种方法实例详解

    IOS自带Email的两种方法实例详解 IOS系统框架提供的两种发送Email的方法:openURL 和 MFMailComposeViewController.借助这两个方法,我们可以轻松的在应用里加入如用户反馈这类需要发送邮件的功能. 1.openURL 使用openURL调用系统邮箱客户端是我们在IOS3.0以下实现发邮件功能的主要手段.我们可以通过设置url里的相关参数来指定邮件的内容,不过其缺点很明显,这样的过程会导致程序暂时退出.下面是使用openURL来发邮件的一个小例子: #pr

  • 去掉destoon资讯内容页keywords关键字自带的文章标题的方法

    本文实例讲述了去掉destoon资讯内容页keywords关键字自带的文章标题的方法,具体实现方法如下: 在\module\article目录下的article.class.php文件中的大约158行找到: $keyword = $item['title'].','.($item['tag'] ? str_replace(' ', ',', trim($item['tag'])).',' : '').strip_tags(cat_pos(get_cat($item['catid']), ',')

  • destoon调用discuz论坛中带图片帖子的实现方法

    在destoon开发中有时候我们需要调用论坛的帖子,但是带有图片的帖子该怎么调用出来呢,本文就来实例展示一个可以调用discuz论坛带图片的帖子的方法: 标签代码如下: <!--{php $tags=tag("table=pre_forum_thread i,pre_forum_threadimage t&prefix=&condition=i.tid=t.tid&length=36&order=i.tid desc&pagesize=9&t

随机推荐