MyBatis

IT人的提升实操心得

对着背影说爱祢 提交于 2020-10-27 15:04:49
这里记录下第一次和大佬级别的人物对话,事先准备了一堆问题,可临了又说不出个所以然,忐忑呀,不过挑了几个重点的问题,骆总给我的回复也是一针见血,指出了我现阶段存在的种种问题,道破了困扰许久的问题,我相信我目前遇到的,存在的问题也是大多数求职进阶路上的coder们正在面临的,或者已经经历过了的,轻喷。 从事IT行业,不管是主动还是被动,大家或多或少看到了他的发展,也预料过他的前景吧,尤疫情之后,蓬勃生机常在,就20日晚蚂蚁公司整栋的狂欢,作为拼命一线的码农来说,一夜之间的百万财富,我预想得到他们的欢呼是有多么的歇斯底里,歌声是有多么的嘹亮,这么看来从事这个行业真的是西天取经的路。 但是不少人会说我卖职业诱惑,我想卖职业诱惑的事交给培训机构就行了,我不卖诱惑,也不贩卖焦虑。 提起职业焦虑,35岁的梦,IT人的痛,从前段时间的996.ICU到如今的软件园跳楼事件,真的莫名觉得惋惜,5年的工作经验,忍忍总会过去的,翻越大山的人,最后被小石子绊倒了。但愿天堂没有加班!文末我会针对职业焦虑阐述下自己的一些看法。 下面是我这次对话的记录总结,提醒我自己,也鞭策我自己。 第一:如何学习?怎么学习?怎么快速突破自己? 从事这个行业,我的工作年限不长,差半年到三年了,给我的第一感触就是需要花费大量的精力学习,不停的“缝缝补补”,不间断断的磕磕绊绊,但苦于市面上可获取知识的地方太多,渠道庞繁纷杂

Java工程师成神之路 | 2020正式版

﹥>﹥吖頭↗ 提交于 2020-10-27 10:02:06
Java工程师成神之路 | 2020正式版 △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 262 篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) 主要版本 更新时间 更新内容 v3.0 2020-04-13 知识体系完善,在v2.0的基础上,新增20%左右的知识点; 调整部分知识的顺序及结构,方便阅读和理解; 通过GitHub Page搭建,便于阅读 v2.0 2019-02-19 结构调整,更适合从入门到精通; 进一步完善知识体系; 新技术补充; v1.1 2018-03-12 增加新技术知识、完善知识体系 v1.0 2015-08-01 首次发布; 基础篇 面向对象 什么是面向对象 面向对象与面向过程 面向对象的三大基本特征 面向对象的五大基本原则 封装、继承、多态 什么是多态 方法重写与重载 Java的继承与实现 Java的继承与组合 构造函数与默认构造函数 类变量、成员变量和局部变量 成员变量和方法作用域 平台无关性 Java如何实现的平台无关性的 JVM还支持哪些语言 值传递 值传递、引用传递 为什么说Java中只有值传递 Java基础知识 基本数据类型 8种基本数据类型 整型中byte、short、int、long的取值范围 什么是浮点型? 什么是单精度和双精度? 为什么不能用浮点型表示金额?

使用JDBC进行批量插入后,通过getGeneratedKeys方法获取到的插入记录的自增主键与数据库中的不符

假如想象 提交于 2020-10-27 01:39:52
1.背景 我们使用的是myabtis框架,同事在做一个批量插入的需求,需要获取到插入数据的自增id,然后做业务处理。同事在xml文件中写了 INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....),(值1, 值2,....) 这样的语句进行插入,当然xml中需要用到mybatis的一些语法和属性,但最终执行的语句就是上面写的这样。当执行完成之后,我们发现在程序中获取到的自增id是错误的。 2.解决方案 将mysql数据库的innodb_autoinc_lock_mode设置为1 来源: oschina 链接: https://my.oschina.net/u/2312080/blog/4354752

Nice!有了这份Alibaba内部 “Java面试宝典”,跳槽面试稳了

你说的曾经没有我的故事 提交于 2020-10-26 23:20:11
怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习 从疫情破局而出,又在毕业季一路过关斩将,我是如何笑面试官,拿到阿里,腾讯等多家大厂的offer的呢,在这里分享我的秘密武器, 大神整理的Java核心知识点,面试时面试官必问的知识点。 有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。 由于面试题比较全面,内容比较多,所以我分享的知识里面可能会有一些疏漏与杂乱,核心知识点都整理好了 下面会介绍这份Java面试宝典的主要内容涵盖的知识点,由于文章篇幅,所以只展示了截图内容,若需要完整pdf版, 帮忙点赞后,私信【性能调优】即可(一定要记得关注我,不然没办法回复陌生人私信) Java基础+集合+多线程+JVM Java基础 Java 基本功 Java 语法 数据类型 方法(函数) Java 面向对象 集合 多线程 文件与I/O流 Java集合 多线程 JVM 计算机基础 计算机网络 数据结构 算法 操作系统 数据库面试题总结 MySQL Redis 常用框架面试题总结 Spring面试题总结 MyBatis面试题总结 Kafka面试题总结 Netty 面试题总结 优质面经 五面阿里,终获offer 蚂蚁金服实习生面经总结

设计模式:享元模式

旧巷老猫 提交于 2020-10-26 13:03:19
模式描述 享元模式,为了减少对象创建的数量,减少内存占用和提高性能。 为什么研究 当系统中需要对同一对象进行多次调用时,使用研究享元模式只要创建一个对象,可以提高一个系统的内存占用和性能,比如创建线程,如果每次实现线程就进行创建一个,这样的话,会频繁的进行线程销毁创建导致性能下降,则可以通过共享对象,在需要的时候从共享内存里面取出需要的对象即可;java中的字符串常量池;Integer中的缓存;mybatis中的Configuration类中的各种map存的共享对象。 事列 mybatis中的Configration MapperAnnotationBuilder类里面用到了这个,其他很多类也用到了,如果每次使用都去新建一个,这样会浪费空间及损耗性能 mybatis中的MapperRegistry SqlSessionManager类里面用到了这个,其他很多类也用到了,如果每次使用都去新建一个,这样会浪费空间及损耗性能 总结 1、根据共享对象,不然而然想到生活中,要学会分享,分享了,别人看到了使用,给别人节省时间。 2、软件设计中,要以平衡为美,如果程序对空间要求很高,那就做到多处使用的对象,在初始化的时候,放到内存中,这样可以节省很多内存。 来源: oschina 链接: https://my.oschina.net/u/4323266/blog/4689112

如何回怼面试官的MyBatis执行过程初始化执行问题

落花浮王杯 提交于 2020-10-26 08:28:24
前言 在了解MyBatis架构以及核心内容分析后,我们可以研究MyBatis执行过程,包括 MyBatis初始化 SQL执行过程 而且在面试会问到一下关于MyBatis初始化的问题,比如: Mybatis需要初始化哪些? MyBatis初始化的过程? MyBatis初始化 在 MyBatis 初始化过程中,会加载 mybatis-config.xml 配置文件、Mapper.xml映射配置文件以及 Mapper 接口中的注解信息,解析后的配置信息会形成相应的对象并保存到 Configuration 对象中。初始化过程可以分成三部分: 解析mybatis-config.xml 配置文件 SqlSessionFactoryBuilder XMLConfigBuilder Configuration 解析Mapper.xml映射配置文件 XMLMapperBuilder::parse() XMLStatementBuilder::parseStatementNode() XMLLanguageDriver SqlSource MappedStatement 解析Mapper接口中的注解 MapperRegistry MapperAnnotationBuilder::parse() 解析mybatis-config.xml 配置文件 MyBatis 的初始化流程的 入口 是

mybatis源码配置文件解析之五:解析mappers标签流程图

非 Y 不嫁゛ 提交于 2020-10-26 08:00:05
前面几篇博客分析了mybatis解析mappers标签的过程,主要分为解析package和mapper子标签。补充一张解析的总体过程流程图,画的不好,多多谅解,建议把图片保存到本地查看,有需要原版的可添加微信:woshishu12345 来源: oschina 链接: https://my.oschina.net/u/4272693/blog/4329509

在使用 Spring Boot 和 MyBatis 动态切换数据源时遇到的问题以及解决方法

帅比萌擦擦* 提交于 2020-10-26 07:02:12
在使用 Spring Boot 和 MyBatis 动态切换数据源时遇到的问题以及解决方法 参考文章: (1)在使用 Spring Boot 和 MyBatis 动态切换数据源时遇到的问题以及解决方法 (2)https://www.cnblogs.com/jpfss/p/8295692.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4438370/blog/4688416

作为一名Java程序员,技术栈的广度深度都不够还想要高薪?请先把这些技术掌握再说。

╄→гoц情女王★ 提交于 2020-10-25 12:30:19
写在前面 最近发现后台不少读者留言吐槽“ 职业窄化 ”的现状——加班严重、涨薪慢、没有时间社交、视野受限、健康受损、一直得不到好的晋升机会、学不到新东西……可当问到金三银四有什么打算的时候,却回答出奇的一致:想跳,但又不敢跳。 个人来看,不管是为了摆脱困境、还是追求更好的发展,只要有助于提升自身能力,符合自己的职业发展规划,跳槽,本身就是一种不错的选择。那么问题来了,处于瓶颈期 的 Java 人,究竟该如何应对一轮又一轮的技术面试呢? 如果个人技术沉淀不足,没搞清市场主流需求的话,结果可想而知。其实,对于 Java 来说,技术岗位无非就是考核这几个方面—— 主流技术框架、源码阅读能力、高并发设计经验、项目实战、架构设计 。 为了能让急需提升的朋友,少走些弯路,在有限时间内补齐短板,这里给大家分享一些我自己收藏学习的技术书籍,有需要这些书籍PDF的朋友可以加我vx【tkzl6666】获得免费领取方式! 资料简介 一、【Java并发编程从入门到入坟】 本书作者结合自己10多年Java并发编程经验,详细介绍了Java并发编程的基础、工作原理、编程技巧和注意事项,对Java高性能高并发编程有极大的参考价值。 本书内容包括并发编程概念,线程,线程安全,线程集合类,线程阀,线程池,Fock/Join,线程、线程池在互联网项目开发的应用,线程监控及线程分析,Android中线程应用。