MyBatis

大厂面试必问的 4 大开源框架,你真会吗?

让人想犯罪 __ 提交于 2020-12-10 02:16:40
对于开发来说,我们在工作中普遍都会用到各个开源框架,比如最基础的 Spring,使开发网络编程变得特别简单的 Netty 框架,还有成为目前微服务框架首选的 Spring Cloud 等。在多个框架之上,我们仅需使用几行代码,即可实现业务需要的复杂功能,大大减少了工作量。 也正因如此,不少人只会用框架,看不懂源码,不了解其底层机制与实现原理,成了一名只会搬运源码库的开发。 说白了,就是真正牛逼的技术不属于你。 可了解框架中的很多知识和代码,对解决开发中的类似问题是极其有帮助的。 因为它们是经过时间验证和优化过的,如:MyBatis 的架构设计、Dubbo 的服务发现机制、Spring 的设计模式等。 所以,对源码和开源库的学习,成了 Java 开发者提升技能的必经之路。 想给大家看一张图 「开源框架学习知识图」 ,包含了 Java 工程师一定要花时间学会的 四大开源框架--MyBatis、Spring、Spring MVC、Spring Boot,清晰了解学习每个框架所需要的知识点。 (ps:有兴趣的可以直接拉到文章末尾,领取高清版图谱) 梳理了详细的知识点,下面再根据自身的实际经历+对框架源码的理解, 详细为大家整理了一份资料,内含手绘图解、代码注解、视频资料等 ,希望能帮助大家查漏补缺,快速深入框架底层。 一、MyBatis 框架 MyBatis 是一个优秀的持久层 ORM

2020年5月中旬面试总结,至今最全的Java程序员高频面试知识点解析笔记!

不羁岁月 提交于 2020-12-09 13:10:56
就目前大环境来看,跳槽成功的难度比往年高很多。总结一下面试的感受:无论一面还是二面,都很考验Java程序员的技术功底!! 最近我整理了一份复习用的面试题及面试高频的考点题及技术点梳理成一份“Java程序员高频面试解析及知识点体系笔记.pdf(实际上比预期多花了不少精力),包含 集合,JVM,并发编程、Spring,MyBatis,微服务,Redis,Dubbo,设计模式,数据结构,分布式等!,由于篇幅有限,为了方便大家观看,这里以图片的形式给大家展示每部分的目录和答案截图,完整学习文档在文末有免费领取方式! 这份Java面试解析和知识点体系文档内容包括: Java 篇主要包含 Java集合 Hashmap、JVM、GC、锁、多线程、并发、代理、NIO 等。 MySQL数据库主要包含索引、B+ 树、SQL 优化相关。 分布式存储篇主要包含 Redis 架构相关、MongDB 分布式中间件主要包含 Kafka,RabbitMQ相关面试题 微服务Spring Boot、Spring Cloud、Dubbo 篇。 系统架构设计篇,根据几个开放性题目来设计系统。 框架篇主要包含 Spring MyBatis、SpringMVC,netty与RPC 设计模式篇 数据结构与算法篇 相信它会给大家带来很多收获。 Java程序员高频面试解析及知识点体系笔记 JVM篇——JVM知识点体系笔记 JVM篇

IDEA 2020 MyBatis环境搭建及入门案例(使用xml方式和注解方式配置)

佐手、 提交于 2020-12-08 12:47:23
MyBatis入门 MyBatis环境搭建 1.创建Maven工程并添加依赖 2.创建实体类和dao的接口 3.创建MyBatis主配置文件:SqlMapConfig.xml 4.创建映射配置文件 5.创建log4j的配置文件 搭建环境的注意事项 MyBatis入门案例 创建测试函数实现数据库查询 点击运行后可能出现的一些问题 不支持发行版本 5 访问数据库时可能出现的时区问题 使用注解方式重新运行此项目 1.在dao接口中添加注解指定sql语句 2.在主配置文件中配置mapper MyBatis环境搭建 使用IDEA搭建MyBatis环境 1.创建Maven工程并添加依赖 pom.xml中添加依赖:(log4j可以在控制台输出执行的sql语句,便于观察) <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency> <dependency>

【mybatis】-- if标签判断字符串相等时失效

有些话、适合烂在心里 提交于 2020-12-08 07:44:20
原mapper的sql语句如下: <select id="countOutFinishedOrdersByDeliverSign" resultType="int" > select count(1) cnt from order_customer where status = #{status} <if test="sign!=null and sign!='' and sign=='1'"> AND tms_delivery_flag is null </if> <if test="sign!=null and sign!='' and sign=='2'"> AND tms_delivery_flag = 1 </if> and last_modified_date > #{startDate} and last_modified_date <= #{endDate} </select> 以上:sign是字符串,判断等于的条件时,使用了sign=='1' 和sign=='2' 由于项目暂时还没有集成p6spy,没办法打印出sql,所以,自己按照条件拼接的sql语句到Navicat中执行,条件不一样,执行结果也不一样。但是程序接口返回的结果集却是一样的。 分析原因: sql没有问题,查询结果没有问题。然后尝试去掉了其中的判断条件 AND tms_delivery_flag is

花5分钟看这篇之前,你才发现你不懂RESTful

﹥>﹥吖頭↗ 提交于 2020-12-08 07:23:43
原创公众号:bigsai 转载请联系bigsai 文章收藏在回车课堂 前言 在学习RESTful 风格接口之前,即使你不知道它是什么,但你肯定会好奇它能解决什么问题?有什么应用场景?听完下面描述我想你就会明白: 在互联网并没有完全流行的初期,移动端也没有那么盛行,页面请求和并发量也不高,那时候人们对接口的要求没那么高,一些动态页面(jsp)就能满足绝大多数的使用需求。 但是随着互联网和移动设备的发展,人们对Web应用的使用需求也增加,传统的动态页面由于低效率而渐渐被HTML+JavaScript(Ajax)的前后端分离所取代,并且安卓、IOS、小程序等形式客户端层出不穷,客户端的种类出现多元化, 而客户端和服务端就需要接口进行通信 ,但接口的 规范性 就又成了一个问题: 所以一套 结构清晰、符合标准、易于理解、扩展方便 让大部分人都能够理解接受的接口风格就显得越来越重要,而RESTful风格的接口(RESTful API)刚好有以上特点,就逐渐被实践应用而变得流行起来。 现在,RESTful是目前最流行的接口设计规范,在很多公司有着广泛的应用,其中Github 的API设计就是很标准的RESTful API,你可以参考学习。 在开发实践中我们很多人可能还是使用传统API进行请求交互,很多人其实并不特别了解RESTful API,对RESTful API的认知可能会停留在:

【Mybatis】批量insert数据

一个人想着一个人 提交于 2020-12-07 17:58:08
前言 有一个新需求,我们需要批量插入数据到数据库中,但是有些数据可能是空的,需要判断。在数据库中,如果要插入一条数据,只需要insert就可以了,如果要插入多条呢?同样很简单,如我们要从用户表中插入两条数据,1,张三;2,李四。数据库的字段就是一个简单的id,name。我们会使用insert into user(id,name) values (1,'张三'),(2,'李四');同理,那现在要使用mybatis呢,用相同的方式即可插入。 实现方式 主要是在定义的mapper.xml中: <insert id="insert" parameterType="java.util.List"> insert into user (id,name) values <foreach collection="list" item="item" separator=","> ( <if test="null != item.id != ''"> #{item.id}, </if> <if test="null != item.name != ''"> #{item.name}, </if> ) </foreach> </insert> 总结 多看文档多总结。 来源: oschina 链接: https://my.oschina.net/u/4331787/blog/4779146

Spring+SpringMVC+Mybatis三大框架集成的正确姿势

帅比萌擦擦* 提交于 2020-12-07 17:02:23
背景 有很多同学由于没有过SSM(Spring+SpringMvc+Mybatis , 以下简称SSM)框架的搭建的经历,所以在自己搭建SSM框架集成的时候,出现了这样或者那样的问题,很是苦恼,网络上又没有很详细的讲解以及搭建的教程。闲来无事,我就利用空闲时间来写这样一个教程来手把手教你搭建步骤,来帮助那些有问题的小伙伴,让你从此SSM搭建不再有问题。 本教程会分为以下五个部分进行展开: Spring+SpringMvc+Mybatis框架集成搭建教程一(项目创建) 利用IDEA一步一步创建工程 Spring+SpringMvc+Mybatis框架集成搭建教程二(依赖配置及框架整合) SSM项目Maven依赖引入 SSM三大框架整合步骤 Spring+SpringMvc+Mybatis框架集成搭建教程三(框架整合测试程序开发) 集成完成后的测试程序的开发 验证框架搭建是否成功 Spring+SpringMvc+Mybatis框架集成搭建教程四(项目部署及测试) 将开发好的简单demo部署到tomcat 测试部署是否成功 Spring+SpringMvc+Mybatis框架集成搭建教程五(项目源码发布到GitHub) 将项目源码提交到GitHub方便代码版本管理 来源: oschina 链接: https://my.oschina.net/u/4266314/blog/4778076

致敬最优秀的同行者们

牧云@^-^@ 提交于 2020-12-06 18:51:37
点 击 上 方 “ 中 间 件 兴 趣 圈 ” , 选 择 “ 设 为 星 标 ” 做 积 极 的 人 , 越 努 力 越 幸 运 ! 真的非常开心,『中间件兴趣圈』公众号粉丝数正式迈过1W大关,达成一个重要里程碑,笔者感慨真的不容易。 2018年10月19号通过公众号发布第一篇文章,到今天为止,公众号已经发表了145篇原创文章,坚持真的很难,但只要能坚持,就一定会有好的收获,这不,你瞧,1W个人与你一起同行,这成就不可谓不大。 在持续坚持努力下,我出版了《RocketMQ技术内幕》一书,从一家名不经传的小公司顺利跳槽到快递物流头部企业:中通快递,让我能在更高的平台上发光发热,使我深深的认识到: 越努力越幸运,唯有坚持不懈 。希望能用这句话与各位粉丝朋友共勉,相互交流,共同成长。 相信各位读者朋友们也能直观的感受到『中间件兴趣圈』主要发表的文章都比较枯燥,因为大部分都是以源码分析为主,认真读完一篇文章需要极大的耐心,我从后台的统计数据上看到,每篇文章的读完率其平均值在50%左右,这足以说明大家拥有强烈的求知欲望,这里必须有掌声,为各自点个赞吧。与各位优秀的读者同行,是我的一大荣幸,未来继续加油。 『中间件兴趣圈』的定位是记录笔者的学习历程与成长历程,同时也起到驱动笔者去学习,给自己提的要求是尽最大努力保证一周一篇原创文章。 绝不注水、绝不洗稿,这是我的初心也是底线。 『中间件兴趣圈

Failed to determine a suitable driver class(基于SpringBoot框架)

烂漫一生 提交于 2020-12-06 15:54:06
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.0.7.RELEASE) 2019-08-27 11:31:57.774 ERROR 15364 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver

工作11年,从阿里P8出来,头发也没了,人也虚了,就剩下这份笔记了!

好久不见. 提交于 2020-12-06 09:41:17
工作了11年,工作压力大,节奏快,但是从技术上确实得到了成长,尤其是当你维护与大促相关的系统的时候,熬到P8也费了不少心思,小编也是个爱学习的人,把这几年的工作经验整理成了一份完整的笔记。此笔记已助朋友拿到腾讯,阿里,美团等9个offer。 由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容! 大致内容包括了: Java 集合、JVM、多线程、并发编程、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat等大厂面试题等、等技术栈! 笔记目录展示: 需要获取得话麻烦一键三连之后,加小助理VX:wjj2632646免费领取!!! 需要获取得话麻烦一键三连之后,加小助理VX:wjj2632646免费领取!!! 部分内容截图: 需要获取得话麻烦一键三连之后,加小助理VX:wjj2632646免费领取!!! 来源: oschina 链接: https://my.oschina.net/u/4297704/blog/4776560