MybatisPlus的全局策略配置

  • 注意:我们写的配置还要加到 MybatisSqlSessionFactoryBean
  • applicationContext.xml
    <!--定义MybatisPlus的全局策略配置--><bean id="globalConfiguration" class="com.baomidou.mybatisplus.entity.GlobalConfiguration">    <!--配置驼峰命到下划线,在MybatisPlus2.3以后,默认为true        这样子就不用为实体类的属性加上@TableField注解了l-->    <property name="dbColumnUnderline" value="true"></property>
    
        <!--这样子就不用为每一个同样前缀的实体类的主键加上@TableId注解了        全局的主键策略:            AUTO(0, "数据库ID自增"),            INPUT(1, "用户输入ID"),            ID_WORKER(2, "全局唯一ID"),            UUID(3, "全局唯一ID"),            NONE(4, "该类型为未设置主键类型"),            ID_WORKER_STR(5, "字符串全局唯一ID");    -->    <property name="idType" value="0"></property>
    
        <!--全局的表前缀策略:这样子就不用为每一个同样前缀的实体类加上@TableName注解了-->    <property name="tablePrefix" value="tab_"></property></bean>

MybatisPlus下实体类中的属性加上@TableField(exist = false)

意思是:操作数据库时,不对该属性进行操作

报错:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'mp.employee' doesn't exist

  1. 原因:MybatisPlus默认使用实体类名到数据库找相对应的表

    public class Employee
  2. 傻瓜式解决办法:修改实体类名与数据库表名一致
  3. 使用注解(value默认为类名)
    @TableName(value = "tbl_employee")
    public class Employee

报错:Caused by: java.lang.IllegalArgumentException: argument type mismatch

  1. 原因:实体类中没有用注解声明数据库表的主键id

    private Integer id; 
  2. 解决办法:
    @TableId
    private Integer id;  //主键必须加上TableId注解来让mybatisPlus识别,否则会报错
  3. 拓展(声明id的同时,声明其对应的数据库表里的字段名,如果实体属性名与列名相同时可以省略;以及id自增)
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

MyBatis-Plus学习笔记的更多相关文章

  1. MyBatis:学习笔记(4)——动态SQL

    MyBatis:学习笔记(4)——动态SQL 如果使用JDBC或者其他框架,很多时候需要你根据需求手动拼装SQL语句,这是一件非常麻烦的事情.MyBatis提供了对SQL语句动态的组装能力,而且他只有 ...

  2. mybatis的学习笔记

    前几天学习了mybatis,今天来复习一下它的内容. mybatis是一个基于Java的持久层框架,那就涉及到数据库的操作.首先来提出第一个问题:java有jdbc连接数据库,我们为什么还要使用框架呢 ...

  3. 关于mybatis的学习笔记

    配置文件 贴出mybatis的配置文件,这里mybatis还未与spring做整合: <?xml version="1.0" encoding="UTF-8&quo ...

  4. MyBatis 3学习笔记

    MyBatis 3 一.MyBatis简介 优秀的持久层框架,支持支持自定义 SQL.存储过程以及高级映射,专注于SQL的编写. ​ 为什么不使用工具类进行数据库操作: ​ 功能简单,sql语句编写在 ...

  5. mybatis缓存学习笔记

    mybatis有两级缓存机制,一级缓存默认开启,可以在手动关闭:二级缓存默认关闭,可以手动开启.一级缓存为线程内缓存,二级缓存为线程间缓存. 一提缓存,必是查询.缓存的作用就是查询快.写操作只能使得缓 ...

  6. 3、MyBatis.Net学习笔记之增删改

    增删改之前先说一下笔记1里提到的一个无法创建ISqlMapper对象的问题. <resultMaps> <resultMap id="FullResultMap" ...

  7. MyBatis基础学习笔记--摘录

    1.MyBatis是什么? MyBatis源自于IBatis,是一个持久层框架,封装了jdbc操作数据库的过程,使得开发者只用关心sql语句,无需关心驱动加载.连接,创建statement,手动设置参 ...

  8. MyBatis基础学习笔记--自总结

    一.MyBatis和jdbc的区别 jdbc的过程包括: 1.加载数据库驱动. 2.建立数据库连接. 3.编写sql语句. 4.获取Statement:(Statement.PrepareStatem ...

  9. Mybatis进阶学习笔记——动态代理方式开发Dao接口、Dao层(推荐第二种)

    1.原始方法开发Dao Dao接口 package cn.sm1234.dao; import java.util.List; import cn.sm1234.domain.Customer; pu ...

  10. MyBatis入门学习笔记(一)

    一.什么是MyBatis? Mybatis是一种“半自动化”的ORM实现,支持定制化 SQL.存储过程以及高级映射. 二.hibernate和mybatis对比 共同:采用ORM思想解决了实体和数据库 ...

随机推荐

  1. Python读取文件内容与存储

    Python读取与存储文件内容 一..csv文件 读取: import pandas as pd souce_data = pd.read_csv(File_Path) 其中File_path是文件的 ...

  2. ocr_vote disk损坏恢复

    1. 检查votedisk和 ocr备份[root@rh6rac1 bin]./ocrconfig -showbackuprh6rac1     2019/03/19 16:57:40     /or ...

  3. keepalive配置mysql自动故障转移

    keepalive配置mysql自动故障转移 原创 2016年02月29日 02:16:52 2640 本文先配置了一个双master环境,互为主从,然后通过Keepalive配置了一个虚拟IP,客户 ...

  4. docker(ce) on Ubuntu

    Note: # - requires given linux commands to be executed with root privileges either directly as a roo ...

  5. mysql创建表及插入数据操作步骤及注意要点

    环境:mysql workbench 1.创建新的表,注意,指定要存放的数据库 列名可以加单引号(键盘上1左边的引号),也可以不加 2.插入数据 注意:如果数据是字符型,必须使用单引号或者双引号,如: ...

  6. 微信小程序-滚动Tab选项卡

    前言:今天呢 给大家详细讲解一下滚动Tab选项卡:左右可滑动切换的效果,希望对大家做项目时候有用! 以前也遇到过这个,但是没有做记录.转载来源于:https://www.jianshu.com/p/9 ...

  7. C# Global定时执行Global文件aTimer处理

    public class Global : System.Web.HttpApplication { private static event Action eventActions; /// < ...

  8. IntelliJ IDEA SVN突然没有了

    1.在IDEA中找不到 SVN 的选项了,版本控制工具中没有subversion,在setting中也无法查询到对应的svn工具,这是因为我们在idea的svn插件中把svn这个选项禁用了 解决办法: ...

  9. 简单的PHP上传图片和删除图片示例代码

    分享一例简单的PHP上传图片和删除图片示例代码,很简单,适合初学的朋友参考,用来研究php上传图片还是不错的. 1.php上传图片: <?php if (!empty($_FILES[" ...

  10. thinkphp5.1的公共函数库 common.php

    首先引入Db类 或者是模型 use think\Db; 然后写公共函数 function getUserName($id){ return Db::table('zh_user')->where ...