mybatis
Java不难的
=
展开
-
支付宝二面:Mybatis接口Mapper内的方法为啥不能重载?我直接懵逼了...
动态代理的功能:通过拦截器方法回调,对目标target方法进行增强。言外之意就是为了增强目标target方法。上面这句话没错,但也不要认为它就是真理,殊不知,动态代理还有投鞭断流的霸权,连目标target都不要的科幻模式。注:本文默认认为,读者对动态代理的原理是理解的,如果不明白target的含义,难以看懂本篇文章,建议先理解动态代理。1. 自定义JDK动态代理之投鞭断流实现自动映射器Mapper首先定义一个pojo。public class User { private Integer id原创 2020-08-20 11:01:25 · 96 阅读 · 0 评论 -
Spring同时集成JPA与Mybatis
ORMORM的出现,使得关系型数据库映射成了对象;简单来说,有了ORM之后,JAVA程序员从面向JDBC编程转化成面向JAVA对象编程。Spring ORMSpring对ORM的解决方案主要体现在以下方面:统一的资源管理方式与异常管理:Spring使用各种ORM框架,资源管理及使用方式都是统一的;同时Spring会将各个ORM框架的异常转译到Spring异常体系下。统一的事务管理:Spring通过IoC和AOP技术,形成了事务管理抽象层,接管了各种ORM框架下的数据访问的事务管理。原创 2020-08-11 16:41:41 · 2412 阅读 · 1 评论 -
非科班出身,玩命复习两月,字节跳动提前批Java后端,意向已拿
前言本人211非科班,之前在字节和腾讯实习过,这次其实没抱着什么特别大的希望投递,没想到字节可以再给我一次机会,还是挺开心的。本来以为有个机会就不错啦!没想到能成功上岸,在这里要特别感谢帮我内推的同学,中间投递比较曲折,是他帮了我很多,非常负责任全程跟进内推话不多说,先来看看这次的面试题项目相关Spring介绍一下SpringMVC工作流程常见注解说一下Java用过什么集合框架HashMap源码说一下(细说,从初始化到put、get、扩容、红黑树、1.8做了哪些优.原创 2020-07-16 17:55:25 · 328 阅读 · 0 评论 -
面试官:mybatis一级缓存二级缓存的区别都不知道,知道门在哪吧
面试官:虫虫你简历上写了了解mybatis缓存,那你能说说一级缓存和二级缓存的区别吗?虫虫:我只知道这是用来缓存sql查询的数据面试官:没了?虫虫:没了面试官:公司门知道在哪里吧 自己走还是我送你以上是虫虫的面试经历 于是虫虫决定恶补一下Mybatis缓存机制的知识Mybatis的缓存,包括一级缓存和二级缓存Mybatis对缓存提供支持,一级缓存是默认使用的二级缓存需要手动开启区别:一级缓存的作用域是一个sqlsession内;二级缓存作用域是针对mapper进行缓存.一级缓存:在参数原创 2020-07-16 11:49:42 · 351 阅读 · 0 评论 -
可怕!你没看错,这次确实是纯手工实现一个MyBatis框架!
目录前言JDBCMyBatis源码分析前置知识原理分析自己实现一个 MyBatis 框架前言MyBatis是一个非常优秀的持久层应用框架,目前几乎已经一统天下。既然是持久层框架,那么一定是对于数据库的操作,Java 中谈到数据库操作,一定少不了 JDBC。那么 ,MyBatis 比传统的 JDBC 好在哪那?MyBatis 又在哪方面做了优化那?JDBC如果我们需要查询所有用户,传统的 JDBC 会这样写。public static void ma原创 2020-06-22 17:56:30 · 120 阅读 · 0 评论 -
Mybatis 强大的结果映射器ResultMap
1. 前言resultMap 元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作。实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份 resultMap 能够代替实现同等功能的数千行代码。ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。resultMap 可以将查询到的复杂数据,比如多张表的数据、一对.转载 2020-06-12 14:59:15 · 134 阅读 · 0 评论 -
这大概就是公司一直用Mybatis的原因!真的太强了
01 什么是MyBatis、Spring?MyBatis是什么?它是一个SQL Mapping框架,它是一个持久化技术框架。再说得简单一点,它只不过是一个操作数据库的框架。Spring是什么?Spring就是一个大容器,不管是IoC还是AOP,都是以Spring容器为基础的,因此,Spring不管整合什么框架,其关键都是利用Spring容器来管理其他框架的核心组件。那么MyBatis编程的核心组件是什么?就是以下三个:SqlSessionFactoryMapper组件SqlSession###原创 2020-06-02 16:51:50 · 370 阅读 · 0 评论 -
不同场景下,如何选择数据库?(本文以爱奇艺为例)
谈到选型 先看需求我们做数据库选型的时候首先要问:需求是谁提出的,也就是说谁选型?是负责采购的同学、 DBA 还是业务研发?如果选型的是采购的同学,他们更注重成本,包括存储方式、网络需求等;如果选型的是 DBA 同学,他们关心运维成本、稳定性、性能等方面,具体如下:首先是运维成本,包括监控告警是否完善、是否有备份恢复机制、升级和迁移的成本是否高、社区是否稳定、是否方便调优、排障...原创 2020-04-27 16:55:55 · 283 阅读 · 0 评论 -
学习 MyBatis 的一点小总结 —— 底层源码初步分析
##目录MyBatis 如何获取数据库源?MyBatis 如何获取 sql 语句?MyBatis 如何执行 sql 语句?MyBatis 如何实现不同类型数据之间的转换?在过去程序员使用 JDBC 连接数据库,总会带来诸多不便。MyBatis 是一款优秀的持久层框架,可以替代 JDBC 帮助我们更好的进行开发。要了解 MyBatis 的实现原理,首先我们要明白 MyBatis 的大致...原创 2020-04-16 21:30:53 · 149 阅读 · 0 评论