MyBatis-Plus学习笔记
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
- 原因:MybatisPlus默认使用实体类名到数据库找相对应的表
public class Employee
- 傻瓜式解决办法:修改实体类名与数据库表名一致
- 使用注解(value默认为类名)
@TableName(value = "tbl_employee") public class Employee
报错:Caused by: java.lang.IllegalArgumentException: argument type mismatch
- 原因:实体类中没有用注解声明数据库表的主键id
private Integer id;
- 解决办法:
@TableId private Integer id; //主键必须加上TableId注解来让mybatisPlus识别,否则会报错
- 拓展(声明id的同时,声明其对应的数据库表里的字段名,如果实体属性名与列名相同时可以省略;以及id自增)
@TableId(value = "id", type = IdType.AUTO) private Integer id;
MyBatis-Plus学习笔记的更多相关文章
- MyBatis:学习笔记(4)——动态SQL
MyBatis:学习笔记(4)——动态SQL 如果使用JDBC或者其他框架,很多时候需要你根据需求手动拼装SQL语句,这是一件非常麻烦的事情.MyBatis提供了对SQL语句动态的组装能力,而且他只有 ...
- mybatis的学习笔记
前几天学习了mybatis,今天来复习一下它的内容. mybatis是一个基于Java的持久层框架,那就涉及到数据库的操作.首先来提出第一个问题:java有jdbc连接数据库,我们为什么还要使用框架呢 ...
- 关于mybatis的学习笔记
配置文件 贴出mybatis的配置文件,这里mybatis还未与spring做整合: <?xml version="1.0" encoding="UTF-8&quo ...
- MyBatis 3学习笔记
MyBatis 3 一.MyBatis简介 优秀的持久层框架,支持支持自定义 SQL.存储过程以及高级映射,专注于SQL的编写. 为什么不使用工具类进行数据库操作: 功能简单,sql语句编写在 ...
- mybatis缓存学习笔记
mybatis有两级缓存机制,一级缓存默认开启,可以在手动关闭:二级缓存默认关闭,可以手动开启.一级缓存为线程内缓存,二级缓存为线程间缓存. 一提缓存,必是查询.缓存的作用就是查询快.写操作只能使得缓 ...
- 3、MyBatis.Net学习笔记之增删改
增删改之前先说一下笔记1里提到的一个无法创建ISqlMapper对象的问题. <resultMaps> <resultMap id="FullResultMap" ...
- MyBatis基础学习笔记--摘录
1.MyBatis是什么? MyBatis源自于IBatis,是一个持久层框架,封装了jdbc操作数据库的过程,使得开发者只用关心sql语句,无需关心驱动加载.连接,创建statement,手动设置参 ...
- MyBatis基础学习笔记--自总结
一.MyBatis和jdbc的区别 jdbc的过程包括: 1.加载数据库驱动. 2.建立数据库连接. 3.编写sql语句. 4.获取Statement:(Statement.PrepareStatem ...
- Mybatis进阶学习笔记——动态代理方式开发Dao接口、Dao层(推荐第二种)
1.原始方法开发Dao Dao接口 package cn.sm1234.dao; import java.util.List; import cn.sm1234.domain.Customer; pu ...
- MyBatis入门学习笔记(一)
一.什么是MyBatis? Mybatis是一种“半自动化”的ORM实现,支持定制化 SQL.存储过程以及高级映射. 二.hibernate和mybatis对比 共同:采用ORM思想解决了实体和数据库 ...
随机推荐
- Python读取文件内容与存储
Python读取与存储文件内容 一..csv文件 读取: import pandas as pd souce_data = pd.read_csv(File_Path) 其中File_path是文件的 ...
- ocr_vote disk损坏恢复
1. 检查votedisk和 ocr备份[root@rh6rac1 bin]./ocrconfig -showbackuprh6rac1 2019/03/19 16:57:40 /or ...
- keepalive配置mysql自动故障转移
keepalive配置mysql自动故障转移 原创 2016年02月29日 02:16:52 2640 本文先配置了一个双master环境,互为主从,然后通过Keepalive配置了一个虚拟IP,客户 ...
- docker(ce) on Ubuntu
Note: # - requires given linux commands to be executed with root privileges either directly as a roo ...
- mysql创建表及插入数据操作步骤及注意要点
环境:mysql workbench 1.创建新的表,注意,指定要存放的数据库 列名可以加单引号(键盘上1左边的引号),也可以不加 2.插入数据 注意:如果数据是字符型,必须使用单引号或者双引号,如: ...
- 微信小程序-滚动Tab选项卡
前言:今天呢 给大家详细讲解一下滚动Tab选项卡:左右可滑动切换的效果,希望对大家做项目时候有用! 以前也遇到过这个,但是没有做记录.转载来源于:https://www.jianshu.com/p/9 ...
- C# Global定时执行Global文件aTimer处理
public class Global : System.Web.HttpApplication { private static event Action eventActions; /// < ...
- IntelliJ IDEA SVN突然没有了
1.在IDEA中找不到 SVN 的选项了,版本控制工具中没有subversion,在setting中也无法查询到对应的svn工具,这是因为我们在idea的svn插件中把svn这个选项禁用了 解决办法: ...
- 简单的PHP上传图片和删除图片示例代码
分享一例简单的PHP上传图片和删除图片示例代码,很简单,适合初学的朋友参考,用来研究php上传图片还是不错的. 1.php上传图片: <?php if (!empty($_FILES[" ...
- thinkphp5.1的公共函数库 common.php
首先引入Db类 或者是模型 use think\Db; 然后写公共函数 function getUserName($id){ return Db::table('zh_user')->where ...