sqlsession源码mybatis
MyBatis笔记
Mybatis简介 MyBatis历史 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代 ......
欢乐商城源码/品云购商城源码/英文版商城源码/全开源 可二开
demo软件园每日更新资源,请看到最后就能获取你想要的: 1.欢乐商城源码/品云购商城源码/英文版商城源码/全开源 可二开 商城源码/英文版商城源码/全开源 可二开 出海项目源码 后台为中文语言 页面效果: 2.SQL学习指南(第2版) 这是一本关于SQL的书,不是关于数据库的。以MySQL为例来讲 ......
Mybatis-Plus如何自定义SQL注入器?
有关Mybatis-Plus常用功能之前有做过一篇总结: MyBatisPlus常用功能总结!(附项目示例) 一、什么是SQL注入器 我们在使用Mybatis-Plus时,dao层都会去继承BaseMapper接口,这样就可以用BaseMapper接口所有的方法, BaseMapper中每一个方法其 ......
Mybatis-关联关系映射
1.一对多 1.1.导入数据表 -- 一对多 -- 客户表(主表) create table t_customer ( customer_id int primary key not null auto_increment, customer_name varchar(50) not null ); ......
Mybatis中 ${} 和 #{} 的用法与区别
#{}:将传入的数据都当成一个字符串,会对传入的变量自动加一个单引号。如:user_id = #{userId},如果传入的值是111,那么解析成sql时的值为user_id = '111',如果传入的值是id,则解析成的sql为user_id = 'id'。 ${}:将传入的参数直接显示生成在sq ......
mybatis全局变量 (mybatis.configuration.variables) 的应用
mybatis.configuration.variables是一个可自定义的全局变量: 在 application.yml 中定义: mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.exampl ......
SpringSecurity源码-HttpSecurity构建SecurityFilterChain
###简介 WebSecurity调用performBuild构建FilterChainProxy时会调用securityFilterChainBuilders集合里的每个元素的securityFilterChainBuilder.build()创建SecurityFilterChain。secur ......
mybatis.type-aliases-package 的作用
在mapper.xml文件中的resultMap的type或者parameterType会用到自定义的POJO。 如果在 application.yml 中没有配置 mybatis.type-aliases-package 的话,就需要写全限定类名: <select id="selectByStud ......
MyBatis
1.简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java ......
Redis源码之ZipList压缩列表
List(版本3.2之前)、Hash 和 Sorted Set 这三种数据类型,都可以使用压缩列表(ziplist)来保存数据。 新版本Redis的quickList底层也是采用zipList支持,Redis版本更新频繁,本文不保证时效性。 一、ziplist结构 ziplist 是一个特殊双向链表 ......
Mybatis-plus
工具 根据 SQL 语句 来生成 类文件的 在线生成器 http://java.bejson.com/generator/ 资料 已解决的问题列表 https://gitee.com/baomidou/mybatis-plus/issues?assignee_id=&author_id=&branc ......
Redis源码之Hash表实现
通常我们如果要设计一个 Hash 表,那么我们需要考虑这几个问题: 有没有并发操作 Hash冲突如何解决 以什么样的方式扩容 对 Redis 来说,首先它是单线程的工作模式,所以不需要考虑并发问题。 想实现一个性能优异的 Hash 表,就要重点解决哈希冲突和 rehash 开销这两个问题。 一、哈希 ......
Springboot集成MyBatis进行开发
引入相关的依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!--引⼊springb ......
MyBatis中XXMapper示例记录
XXMapper.xml的结构示例如下,包括<resultMap>、<id>、<result>、<select>、<update>、<foreach>、<if>标签的使用: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC ......
轻量级人工在线客服系统源码-开源版-修改客服账号问题
早期的开源版客服源码,最近又重新更新了下功能,修复了一些BUG 访客聊天的时候,会在聊天链接里指定沟通的客服账号,这个账号在后台可以修改。 当修改账号以后,访客表和消息表并没有跟着一起修改,会出现修改了账号名称后,旧的访客以及消息数据就查询不到了 现在,修复这个问题,修改账号以后,同步修改访客表和消 ......
Spring源码系列:初探底层,手写Spring
在学习 Spring 框架源码时,记住一句话:源码并不难,只需要给你各种业务场景或者项目经理,你也能实现自己的 Spring。虽然你的实现可能无法与开源团队相媲美,但是你肯定可以实现一个 0.0.1 版本。因此,初次阅读源码时,不要陷入太深的细节中,先了解大体逻辑,再仔细研读。 ......
【随手记】解决mybatis返回List<map>类型的数据时 无序 并且 不能返回空值
#返回结果无序 希望表格的列能根据数据库查出来的数据保持一致,但是返回页面的结果集是无序 在mybatis中使用List<Map>结构接收数据,发现输入的sql语句结果并不是按照输入的字段名顺序返回的。 例如输入 select col1,col2,col3 from table 却返回 | col2 ......
Mybatis 中的 @Mapper, @MapperScan, @Repository 的用法于区别
@Mapper @Mapper是mybatis自身带的注解。 使用@Mapper可以不使用 @MapperScan 包扫描而创建dao接口实现类对象。 @MapperScan 有时候当我们有很多 mapper 接口时,就需要写很多 @Mapper 注解,这样很麻烦,有一种简便的配置化方法便是在 Sp ......
java项目 学生成绩管理系统 (源码+数据库文件)
需要的私信我 备注来意:项目名称 来了就点个赞再走呗,即将毕业的兄弟有福了 文章底部获取源码 java项目 学生成绩管理 (源码+数据库文件)技术框架:java+springboot+vue+mysql后端框 系统共分为三种用户 系统主要功能:系统设计三个角色,学生端,教师端,系统管理员端 一、 ......
从内核源码看 slab 内存池的创建初始化流程
在上篇文章 《细节拉满,80 张图带你一步一步推演 slab 内存池的设计与实现 》中,笔者从 slab cache 的总体架构演进角度以及 slab cache 的运行原理角度为大家勾勒出了 slab cache 的总体架构视图,基于这个视图详细阐述了 slab cache 的内存分配以及释放原理 ......
Collection - PriorityQueue源码解析
前面以Java ArrayDeque为例讲解了Stack和Queue,其实还有一种特殊的队列叫做PriorityQueue,即优先队列。优先队列的作用是能保证每次取出的元素都是队列中权值最小的(Java的优先队列每次取最小元素,C++的优先队列每次取最大元素)。这里牵涉到了大小关系,元素大小的评判可 ......
spring security FormLoginConfigure的作用和源码解读
这一节来研究下spring security中FormLoginConfigurer这个配置器的作用 一、综述 FormLoginConfigurer 本质上还是一个SecurityConfigurer,用来对HttpSecurity这个构建器进行配置,它用来对表单登录的功能进行配置,通过HttpS ......
一文掌握ArrayList和LinkedList源码解读
大家好,我是Leo! 今天来看一下ArrayList和LinkedList的源码,主要是看一下常用的方法,包括像add、get、remove方法,大部分都是从源码直接解读的,相信大家读完都会有一定收获。 ArrayList List<String> list = new ArrayList<>(); ......
经典版DD应用系统软件库网站源码支持多方面应用
demo软件园每日更新资源,请看到最后就能获取你想要的: 1.经典版DD应用系统软件库网站源码支持多方面应用 DD应用系统软件库网站源码 1.增加手机端开发者中心 2.增加手机端开发者中心应用管理 3.增加手机端开发者中心用户管理 4.增加手机端开发者中心网站管理 5.增加手机端开发者中心卡密导出 ......
【Java 线程池】【三】ThreadPoolExecutor提交任务流程,execute源码分析
1 前言 上一节我们看了线程池的状态和数量的计数以及提供的拒绝策略,这节我们就要看线程池的运行原理,那么在了解原理之前不知道大家对线程池有没有这样的疑问:比如线程池的线程数量是怎么进行增长的?随着任务的不断提交,线程池中的线程数量什么时候线程数量达到corePoolSize?什么时候线程数达到max ......
Redis源码之SDS简单动态字符串
Redis 是内存数据库,高效使用内存对 Redis 的实现来说非常重要。 看一下,Redis 中针对字符串结构针对内存使用效率做的设计优化。 一、SDS的结构 c语言没有string类型,本质是char[]数组;而且c语言数组创建时必须初始化大小,指定类型后就不能改变,并且字符数组的最后一个元素总 ......
Mybatis 中 foreach 的四种用法
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。 foreach元素的属性主要有 item,index,collection,open,separator,close。 item表示集合中每一个元素进行迭代时的别名, index指 定一个名字,用于表示在迭代过程中,每次 ......
springboot mybatis 事务管理
本文主要讲述springboot提供的声明式的事务管理机制。 一、一些概念 声明式的事务管理是基于AOP的,在springboot中可以通过@Transactional注解的方式获得支持,这种方式的优点是: 1)非侵入式,业务逻辑不受事务管理代码的污染。 2)方法级别的事务回滚,合理划分方法的粒度可 ......
ThreadPoolExecutor源码学习
线程池ThreadPoolExecutor ThreadPoolExecutor 继承结构 继承结构如图所示:ThreadPoolExecutor <- AbstractExecutorService <- ExecutorService <- Executor public class Threa ......
mybatis MetaObjectHandler重复字段自动填充与线程变量ThreadLocal的巧妙联合使用方法
1.重复字段自动填充 在对数据库crud时,相信很多人都写过这样的代码,在多个service中反复的对诸如createTime,updateTime,createUser,updateUser这样的字段进行反复的set操作。很显然这样的代码时相当烦杂的,那么有没有一种方法能够让程序全局对这样的字段进 ......