mybatis
文章平均质量分 68
西瓜游侠
希望自己能够开心
展开
-
MyBatis-Plus实现乐观锁
MyBatis-Plus是通过version机制实现乐观锁的。大致思路:取出记录,携带记录的当前version;更新记录的时候,比较记录当前的version是否有改变;如果version未改变,则更新记录,并更新version,一般值+1;如果version改变了,则不更新记录。version机制的核心思想就是,假设发生并发冲突的几率很低,只有当更新数据的时候采取检查是否有冲突,而判断是否有冲突的依据就是version的值是否被改变了。配置MyBatis-Plus中配置乐观锁分两步:原创 2021-09-25 00:30:52 · 3538 阅读 · 0 评论 -
MyBatis-Plus逻辑删除
有时候并不需要真正的删除数据,而是想逻辑删除,方便数据恢复。MyBatis-Plus可以很方便的实现逻辑删除的功能。Entity类首先,数据库表添加一个表示逻辑删除的字段delete_flag:CREATE TABLE `tb_user` ( `id` bigint NOT NULL COMMENT '主键ID', `name` varchar(30) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '姓名', `age` int DEF原创 2021-09-20 21:50:39 · 7780 阅读 · 3 评论 -
MyBatis-Plus自动填充字段
有些字段例如create_time、update_time,在insert或update的时候总是要去填写的,比较繁琐。MyBatis-Plus自动填充字段的功能,能够有效的简化这些字段的设置。Entity类以用户表为例,添加两个新的字段create_time、update_time:CREATE TABLE `tb_user` ( `id` bigint NOT NULL COMMENT '主键ID', `name` varchar(30) COLLATE utf8mb4_general_原创 2021-09-20 17:59:33 · 894 阅读 · 0 评论 -
MyBatis-Plus分页插件的使用
从MyBatis-Plus 3.4.0开始,不再使用旧版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor。下面是MyBatis-Plus 3.4.3.3新版分页的使用方法。配置使用分页插件需要配置MybatisPlusInterceptor,将分页拦截器添加进来:@Configurationpublic class MyBatisPlusConfig { /** * 分页插件配置 * * @retur.原创 2021-09-20 13:33:58 · 23496 阅读 · 2 评论 -
MyBatis-Plus提供的默认Service能力
MyBatis-Plus不仅有BaseMapper接口提供给基本的CRUD功能,还在Service层提供了IService接口,扩展了BaseMapper的功能。官方文档 传送门下面,详细整理IService<T>提供的能力。增插入一条记录 default boolean save(T entity) { return SqlHelper.retBool(getBaseMapper().insert(entity)); }例子: @Test原创 2021-09-19 21:48:05 · 1458 阅读 · 0 评论 -
MyBatis-Plus提供的默认Mapper能力
MyBatis-Plus提供的BaseMapper接口,内置了很多单表CRUD功能,我们只需要定义一个接口去继承它,就能瞬间拥有这些能力。下面,详细整理BaseMapper提供的能力。增1. 传入实体Entity对象,添加一条记录int insert(T entity);例子: @Test public void testInsert() { UserEntity user = new UserEntity(); user.setId(6L);原创 2021-09-12 14:57:28 · 1296 阅读 · 0 评论 -
MyBatis-Plus提供的注解
下面对MyBatis-Plus提供的注解进行整理。官方文档 传送门@TableName用于指定表名,作用在实体类上面。常用的属性:value —— 表名例子:@TableName("tb_user")public class UserEntity { ...}@TableId用于指定表的主键名。常用属性:value —— 主键名type —— 主键类型其中,主键类型type默认值是IdType.NONE,取值有以下几种:IdType.AUTO ——原创 2021-09-11 21:40:23 · 1065 阅读 · 0 评论 -
SpringBoot集成MyBatis-Plus
官网:https://mp.baomidou.com/1 简介MyBatis-Plus 是一个Mybatis的增强工具,在 MyBatis 的基础上只做增强不做改变。也就是说,引入了MyBatis-Plus之后,如果不想使用它的功能,也不会影响MyBatis的使用。MyBatis-Plus的特性在官网有详细说明。传送门MyBatis-Plus最大的方便之处就是提供了通用的Mapper和Service,只需要通过简单的继承就可以支持单表大部分的CRUD操作,大大提高了开发效率。2 Spri.原创 2021-09-11 17:08:24 · 1892 阅读 · 2 评论 -
MyBatis一级缓存和二级缓存
转载:Mybatis(三) 缓存 (juejin.cn)1 一级缓存MyBatis的一级缓存(也叫作本地缓存)是基于org.apache.ibatis.cache.impl.PerpetualCache 类的 HashMap 本地缓存。一级缓存作用域是SqlSession。在同一个SqlSession中两次执行相同的 sql 查询语句,第一次执行完毕后,会将查询结果写入到缓存中,第二次会从缓存中直接获取数据,而不再到数据库中进行查询,这样就减少了数据库的访问,从而提高查询效率。MyBatis.转载 2021-05-23 20:44:31 · 148 阅读 · 0 评论 -
MyBatis架构
转载:MyBatis面试题(总结最全面的面试题) (juejin.cn)1MyBatis编程步骤是什么样的?创建SqlSessionFactory通过SqlSessionFactory创建SqlSession通过SqlSession执行数据库操作调用session.commit()提交事务调用session.close()关闭会话2 MyBatis的工作原理(重点)描述如下:读取 MyBatis 配置文件。mybatis-config.xml 为 MyBatis 的全局配置文.转载 2021-05-23 16:49:18 · 170 阅读 · 0 评论 -
MyBatis简介
转载:1 MyBatis是什么?MyBatis 是一个半 ORM(对象关系映射,Object Relational Mapping)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高。MyBatis 可以使用 XML 或 注解 来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及.转载 2021-05-23 15:27:36 · 161 阅读 · 0 评论 -
MyBatis知识点总结
Hibernate/MyBatis两者的区别区别:http://www.jianshu.com/p/f54b147b6041 参考文章http://blog.csdn.net/firejuly/article/details/8190229MyBatis一级和二级缓存《深入理解mybatis原理》 MyBatis缓存机制的设计与实现 http://blog.csdn.net/luanlouis/原创 2017-08-16 19:36:28 · 454 阅读 · 0 评论 -
MyBatis获取插入记录的自增长字段值
转载:第一步: 在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java bean对象的属性名!现在,有一个entity叫做Spares,id是其中的一个属性名。[html] view plain copyinsert id="转载 2016-10-20 19:37:47 · 1383 阅读 · 0 评论 -
Mybatis中的association用法
这篇文章我们将来学习一些 association 用法表结构DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `id` int(11) NOT NULL auto_increment, `name` varchar(10) NOT NULL, `gender` char(1) NOT NULL, `major`...原创 2016-10-20 19:40:03 · 66241 阅读 · 12 评论 -
SpringMVC等知识点
Servlet 生命周期及各个方法参考文章http://www.cnblogs.com/xuekyo/archive/2013/02/24/2924072.htmlServlet中如何自定义Filter参考文章http://www.cnblogs.com/javawebsoa/archive/2013/07/31/3228858.html过滤器和拦截器的区别http://www.cnblogs.co转载 2017-08-16 19:34:06 · 245 阅读 · 0 评论 -
【Mybatis3】—— 使用association处理多对一映射
1. 创建数据库表tb_post 帖子表-- Table: public.tb_post-- DROP TABLE public.tb_post;CREATE TABLE public.tb_post( post_id integer NOT NULL DEFAULT nextval('tb_post_post_id_seq'::regclass), ti...原创 2018-05-07 18:53:52 · 1600 阅读 · 0 评论 -
【Mybatis3】—— 使用collection处理一对多映射
1. 创建数据库表tb_classroom 帖子表-- Table: public.tb_classroom-- DROP TABLE public.tb_classroom;CREATE TABLE public.tb_classroom( id integer NOT NULL DEFAULT nextval('tb_classroom_id_seq'::re...原创 2018-05-07 19:32:47 · 4304 阅读 · 0 评论 -
MyBatis中jdbcType和javaType的映射关系
jdbcType javaType CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.BigDecimal DECIMAL java.math.BigDecimal BIT boolean BOOLEAN boolean...原创 2018-06-23 13:55:25 · 1059 阅读 · 0 评论 -
使用mybatis-generator逆向生成表对应的POJO类
使用mybatis-generator逆向生成表对应的POJO类环境和版本说明IDEA 2017.2.7maven 3.5.3mybatis 3.4.1mybatis-generator-core 1.3.6postgresql 9.6首先建立数据库表pom.xml 文件中需要的相关依赖包 &lt;!-- mybatis --&gt...原创 2018-06-20 13:48:59 · 3562 阅读 · 2 评论 -
mybatis在xml文件中处理大于号小于号的方法
转载:http://blog.csdn.net/zheng0518/article/details/10449549第一种方法:用了转义字符把>和SELECT * FROM test WHERE 1 = 1 AND start_date <= CURRENT_DATE AND end_date >= CURRENT_DATE转载 2016-10-20 19:33:32 · 399 阅读 · 0 评论