MyBatis

阿里P8大牛的建议,工作1-5年的Java工程师如何让自己变得更值钱

放肆的年华 提交于 2020-08-11 02:51:17
今天这篇文章主要想跟大家分享:工作 1-5 年的 Java 工程师们,如何变得更值钱? 如果你现在已经是一个 Java 工程师,但是经验积累的还不够,那这个阶段就是你成长极快的时候。 前提是,你认同我之前经常说那句话: 从你入行那一刻起,你就要不停地学习。 对于 Java 工程师来说,想在业务能力上更进一步、让自己更值钱,最大的捷径就是用正确的方法来学习,好的方法能让你事半功倍。 我面试过多人,之前也在大厂待过,深知一个道理: 作为一个程序员,你的知识体系,和企业的用人需求,是不一样的。 Java 工程师尤其是。 我也见过一些读者朋友,觉得自己的 Java 技术过关,但是一到面试就被 pass 了,问题就出在这,无法将 Java 技术应用到实际开发中。 这里我建议 Java 经验 1-5 年的读者,可以对标阿里 P7 的标准。 给大家分享一份《对标阿里P7Java架构师学习路线图》,刚开始参加工作及已经工作五六年的朋友都可以参考参考,梳理一下自己的技术栈,这些东西可能你们平时在工作中接触过,但是缺少的全面系统的学习,所以掌握的都不深,希望看了路线图以后大家知道从哪里开始入手学习。 这是通往架构师的必经之路,由浅入深地沉稳扎根基础。 需要完整版《对标阿里P7Java架构师学习路线图》的朋友,请转发+关注,然后私信回复 “提升” 或者 “666” 获取免费领取方式。 一、扎实基础

鲁班java架构师二期

孤者浪人 提交于 2020-08-11 01:25:21
〖课程介绍〗: 课程旨在帮助在职Java开发工程师晋升提高,由来自一线大型互联网公司架构师、技术总监全职授课,内容涵盖: 高并发、高可用、分布式、高性能、架构设计、源码分析。 〖课程目录〗: openjdk编译调试、java线程模型 【回放】openjdk编译调试、java线程模型(7月4日 20:00-22:00) 02 Java 当中的"锁"事 【回放】Java 当中的"锁"事(7月7日 20:00-22:00) 03 synchronized和volatile关键字 【回放】synchronized和volatile关键字(7月9日 20:00-22:00) 04 并发编程之并发容器 【回放】并发编程之并发容器(7月11日 20:00-22:00) 05 并发中锁的原理:JOL查看对象布局、各种锁之间的性能对比 【回放】并发中锁的原理(7月14日 20:00-22:00) 06 JAVA锁膨胀的过程 【回放】JAVA锁膨胀的过程(7月16日 20:00-22:00) 07 锁的膨胀过程二 【回放】锁的膨胀过程二(7月18日 20:00-22:00) 08 并发编程之线程池 【回放】并发编程之线程池(7月21日 20:00-22:00) 09 CAS和AQS的应用和原理之CyclicBarrier-semaphore 【回放】CAS和AQS的应用和原理(7月23日 20:00

Spring框架基础

佐手、 提交于 2020-08-11 01:09:12
一.Spring框架基础 Spring:春天;轻量级的企业级开发框架,核心是IOC(控制反转)和AOP(面向切面编程)。 官网:spring.io Spring-->Spring MVC -->MyBatis-->Spring Boot-->SpringCloud-->Spring Security Spring的历史,我们来百度一下,一块看下,不再录屏。 Spring Framework创始人,著名作者。 Rod在悉尼大学不仅获得了计算机学位,同时还获得了音乐学位。更令人吃惊的是在回到软件开发领域之前,他还获得了音乐学的博士学位。 Spring从2002年开始出来,到现在是Spring 5.0了,快火了20年了,证明这个框架有其独特之处、有其过人之处。 1.1 Spring作用 MVC设计模式挺好,但是有很多问题,主要问题就是高耦合,在controller(Servlet)里面有对于业务层对象的耦合,在业务层里面有对于dao层对象的耦合,在BaseDao里面,有数据库连接的耦合。 框架前奏,我们做的这些耦合的解耦。这些解耦是我们自己完成的,也就是说我们不用框架,也可以来实现解耦。 框架就是比较成熟的解耦半成品程序,可以让程序员在这个框架的基础上实现良好的,“高内聚、低耦合”的程序,实现面向对象的“高可用、健壮性、可复用”。 Spring功能作业,程序解耦。 1.2 Spring

mybatis: Invalid bound statement

有些话、适合烂在心里 提交于 2020-08-11 01:08:00
Invalid bound statement 原因:编译的时候没有将mapper.xml编译到target中,导致执行的时候找不到。 解决办法: 1、将mapper.xml复制到指定package中; 2、修改编译方式即可。 来源: oschina 链接: https://my.oschina.net/u/4270506/blog/4304720

mybatis插件自动生成代码报错。

跟風遠走 提交于 2020-08-11 01:04:46
Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate failed: Exception getting JDBC Driver: com.mysql.jdbc.Driver (mybatis逆向工程) springboot整合mybatis时出现的问题 解决方法:在pom.xml中plugin中加入单独依赖Mysql驱动包,问题便可解决 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> <!--加入下面这个依赖--> <dependencies> <dependency>

SSM框架搭建最新教程(超详细)

与世无争的帅哥 提交于 2020-08-10 19:55:13
个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。不过,如果用都不会,谈思想就变成纸上谈兵了!!!先技术,再思想。实践出真知。 1、基本概念 1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 1.2、SpringMVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 1.3、MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation

铁打的大厂,流水的程序员。大厂究竟在招的都是什么“神人”?

落花浮王杯 提交于 2020-08-10 18:26:55
话不多说,先上长图,看看主流大厂用人要求。 通过这张长图,再结合各大招聘网站岗位要求,可以分析出当下一线企业对于Java岗位的要求,无非注重考核这些能力: 编程功底(源码阅读、设计模式),海量数据处理能力(数据库),主流框架的驾驭能力(分布式、微服务、中间件),业务对口的实战能力,架构思维(可扩展、可用性、实时性)。 因此,是否具备大规模系统的架构和设计能力,是区分普通程序员和高级程序员,尤其是架构师的一个分水岭。 如何去准备和提升相对应的能力呢? 这里贴上一张 进阶学习Xmind 图和 学习思维导 图,图中将大厂用人需求中的每一项能力具体学习哪些技术分项,多罗列出来,供大家查漏补缺。 编程语言 强类型:C++、Java 弱类型:Javascript、Python 标记型:XML、HTML、JSON、YAML 开发框架 表现层:React、Vue、Flutter、Weex 领域层:Spring、Spring Boot 数据层:Hibernate、MyBatis、JPA 基础层:Log4j、LogBack、Quartz、C3P0 程序设计 面向对象设计 OOD 设计模式 Design Patterns 领域驱动设计 DDD 数据库类 关系型:MySQL、PostgreSQL、Oracle NoSQL:Redis、MongoDB、HBase、Neo4j SQL、存储过程 查询优化(索引

IDEA搭建Springboot+SpringMVC+Mybatis+Mysql(详细、易懂)

六月ゝ 毕业季﹏ 提交于 2020-08-10 18:15:44
最详细,最易懂,一步一步执行搭建的框架~ 话不多说,直接开始搭建吧~ 目录 一、创建项目 二、修改结构以及创建具体内容 三、连接数据库,使用mybatis,以写上传用户信息的接口为例。 四、调用接口,上传数据 ​ 一、创建项目 1.点击创建新项目 2.选择Spring Initializr 3.填写好项目的相关信息 4.选择用到的依赖(也可以后期在pom.xml中添加) 5.选择项目存放位置和设置项目名称 6.创建成功后项目的初步结构 7.pom.xml中依赖(添加了一点) <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot

每天进步一点点:“JVM性能调优解析”,分享JVM进阶面试题77问!

空扰寡人 提交于 2020-08-10 17:31:53
前言 Java虚拟机有自己完善的硬件架构,如处理器、堆栈等,还具有相应的指令系统。 Java虚拟机本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。Java语言的可移植性正是建立在Java虚拟机的基础上。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。 Java虚拟机不仅是一种跨平台的软件,而且是一种新的网络计算平台。该平台包括许多相关的技术,如符合开放接口标准的各种API、优化技术等。Java技术使同一种应用可以运行在不同的平台上。Java平台可分为两部分,即Java虚拟机(Java virtual machine,JVM)和Java API类库。 分享详细解析77道Java面试时常问的JVM题,希望对各位有所帮助,另外我针对当前互联网面试总结一些资料给大家,文末有领取方式(诚意满满) 由于文章篇幅问题,我这里就不一一解析了,需要获取全部答案解析的可以 关注公众号【风平浪静如码】获取文档! 1、java中会存在内存泄漏吗,请简单描述。 2、64 位 JVM 中,int 的长度是多数? 3、Serial 与 Parallel GC 之间的不同之处? 4、32 位和 64 位的 JVM,int 类型变量的长度是多数? 5、Java 中 WeakReference 与

mybatis源码之核心组件介绍

谁说胖子不能爱 提交于 2020-08-10 14:01:53
Configuration.java public class Configuration { /** * 环境属性(包含事物工厂、数据源) */ protected Environment environment; /** * 是否启用RowBounds(mybatis内存分页) */ protected boolean safeRowBoundsEnabled; /** * 是否启用ResultHandler */ protected boolean safeResultHandlerEnabled = true; /** * 是否将下划线映射到驼峰大小写 */ protected boolean mapUnderscoreToCamelCase; /** * 是否开启积极的延迟加载 */ protected boolean aggressiveLazyLoading; /** * 是否开启启用多个结果集映射 */ protected boolean multipleResultSetsEnabled = true; /** * 是否使用生成的键 */ protected boolean useGeneratedKeys; /** * 是否使用列标签 */ protected boolean useColumnLabel = true; /** * 是否开启缓存 */