MyBatis

Java程序员涨薪必备技能

廉价感情. 提交于 2020-11-08 10:14:02
Java程序员涨薪必备技能 Java程序员涨薪必备技能 工作1-3年,当我们向老板提出加薪的时候,或者跳槽去“捡”offer的时候,我们底气够吗? 敢不敢不给涨薪就“挥一挥衣袖,不带走一个bug”?是不是提出要求后你的主管、经理立刻同意,为了把你留住。 然而,现实往往是... 互联网公司面试道路又长且阻,技术面少的两轮,多的五六轮 技术不过硬,其他的都免谈。 如何才能持续成长呢?是每一个程序员都绕不开的话题。 你有没有发现,身边总有人成长的特别快,总是先人一步? 当你正在困惑与技能方向的选择时,他已经掌握了高效率的进阶方法;当你还在苦恼于Bug的调试与修复时,他已经度档一面,处理更为复杂的项目了;当你还在思考自己的技术人生,寻求突破和上升,他已经成为骨干,拿高薪带小团队了。 问题来了,他是怎么做到的? 向大家推荐——程序员进阶小攻略 一、互联网工程与工具 工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的: Maven ,项目管理 Jenkins ,持续集成 Sonar ,代码质量管理 Git ,版本管理 二:源码分析 学习Java技术体系,流行的框架与组件是必不可少的: Spring5 ,做应用必不可少的最新框架 SpringMVC ,必不可少的应用框架 MyBatis ,玩数据库必不可少的组件 三:并发编程

mybatis源码-解析配置文件(三)之配置文件Configuration解析

こ雲淡風輕ζ 提交于 2020-11-08 10:09:46
@[TOC] 1. 简介 1.1 系列内容 本系列文章讲解的是 mybatis解析配置文件 内部的逻辑, 即 Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); 其背后的逻辑。 1.2 适合对象 了解如何使用 mybatis 来访问数据库。可参看《 mybatis 初步使用(IDEA的Maven项目, 超详细) 》; 具备 DOM 解析 XML 的基本知识。 可参考《 mybatis源码-解析配置文件(一)之XML的DOM解析方式 。 了解整个配置文件解析是什么样的一个流程。可参考《 mybatis源码-解析配置文件(二)之解析的流程 》。 1.3 本文内容 <code>Configuration</code>类的讲解; <code>parser.parse()</code>将配置解析到<code>Configuration</code>中的过程; 2. 配置文件 mybatis使用到了配置文件, 本文中, 不讲解 mapper.xml , 后续会另开章节重点讲解。 2.1 mysql.properties

为了面上阿里,花费2个月终于整理出这份大厂Java面试资料

China☆狼群 提交于 2020-11-08 09:50:07
前言 先做个自我介绍,本人之前一直在外包公司做增删改查,做了两年,实在太累了!就想趁着金九银十这个好机会看能不能实现自己的阿里梦,没想到被虐了个干干净净! 不过没关系,通过这次面试,我也认识到自己确实有很多不足的地方,通过这篇文章,和大家分享一下,最后也把我整理的面试资料分享给大家,希望有人替我圆了阿里梦 阿里一面 1.自我介绍 2.说一下BIO 和NIO 3.你说到多路复用,多路复用什么意思,为什么可以做到多路复用 4.这个select函数你说一下,底层怎么保证效率的,如果请求很多怎么办 5.我看你用到了Zookeeper ,说一下他可以干什么 6.只有一个Zookeeper 行不行?怎么保证他的可用性 7.服务器和客户端连接,多个连接会不会出问题? 8.Zookeeper 如果每次消费都连接,会不会效率太低? 怎么解决? 9.说一下它的底层算法吧,说你知道的 10.我看你实现了这几种序列化机制,都说一下吧 11.为什么hessian,和kyro速度更快呢? 12.了解spring吗? 说一下ioc和aop 13.aop底层怎么实现的 14.说一下spring ioc创建和销毁? (我有点懵,问是不是要回答bean的生命周期,面试官说 不是,然后我就随便说了 ) 15.Java的类加载过程 16.了解mysql吗,说一下innodb底层 17.有没有搭过服务器? 18

「2020最新」Spring最易学习教程—IOC 以及 整合Struts2

笑着哭i 提交于 2020-11-08 05:51:28
0 复习 工厂设计模式 使用工厂代替new模式创建对象,目的:解耦合 Spring工厂的使用 applicationContext.xml中配置 bean标签 编码:创建工厂,从工厂中获取对象 Spring中属性注入 简单类型(基本类型+包装类+String) < bean id = "标识名" class = "全类名" > < property name = "属性" > < value > 值 </ value > </ property > < property name = "属性" value = "值" /> </ bean > 对象类型 < bean id = "a" class = "Address的全类名" > < property name = "属性1" value = "值1" /> < property name = "属性2" value = "值2" /> </ bean > < bean id = "p" class = "Person全类名" > < property name = "addr" > < ref bean = "a" /> </ property > </ bean > < bean id = "p2" class = "Person全类名" > < property name = "addr" ref = "a" /> </

恕我直言,你可能真没用过这些 IDEA 插件!

匆匆过客 提交于 2020-11-08 05:31:21
一、前言 IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具。 不是我说的喔,百度百科说的... IDEA 如此好用,插件库也是很强大的,俗话说:“工欲善其事必先利其器”,不安排几个插件都不好意思说你开发工具用的是 IDEA ,接下来将介绍插件的安装方式。 二、IDEA 插件安装 在使用插件之前,你需要了解 IDEA 的插件安装方式,安装 IDEA 插件是非常方便的,你只要知道插件的名字就可以直接安装, IDEA 插件安装有两种方式: 1、在线安装 在 IDEA 中选择:File —> Settings —> Plugins 你可以直接在开发工具输入插件的名字搜索安装,例如安装Lombok插件: 2、离线安装 进入 IDEA 下载插件官网:https://plugins.jetbrains.com,输入插件的名字搜索,下载插件对应 IDEA 版本的插件包 在 IDEA 中选择:File —> Settings —> Plugins —> Install plugin from disk —> 选择下载好的插件包进行安装 TIP: 安装完成之后,重启 IDEA 就行了。 本文使用的 IDEA 版本为2020.1 ,IDEA 使用最新版本的话,可能对应的第三方插件的版本没跟上导致不能使用

阿里工作6年,熬到P7就剩这份学习笔记了,已助朋友拿到7个Offer

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

Mybatis框架基础-03

杀马特。学长 韩版系。学妹 提交于 2020-11-07 09:40:37
1.分页 分页的目的:减少数据的处理量 用Mybatis实现分页 接口 //分页查询 List < student > getstuBylimit ( Map < String , Integer > map ) ; Mapper.Xml <!--分页查询--> < select id = " getstuBylimit " parameterType = " map " resultType = " com.wang.pojo.student " > select * from student limit #{startindex},#{pagesize}; </ select > 测试 @Test public void getlimit ( ) { SqlSession sqlSession = MybatisUtils . getSqlSession ( ) ; StuMapper mapper = sqlSession . getMapper ( StuMapper . class ) ; HashMap < String , Integer > map = new HashMap < String , Integer > ( ) ; map . put ( "startindex" , 2 ) ; map . put ( "pagesize" , 2 ) ; List

MyBatis里面的多对一,一对多

Deadly 提交于 2020-11-06 08:37:22
<association property="sysUser" column="USER_ID" javaType="com.junfeng.system.entity.SysUser" resultMap="com.junfeng.system.dao.SysUserDao.user_ResultMap"> 里面不用写字段 </association> 一对多 <collection property="albums" ofType="entity.Album" column="album_id" resultMap="dao.AlbumDao.AlbumMap"></collection> 来源: oschina 链接: https://my.oschina.net/u/3558134/blog/1941996

MyBatis一对一,一对多,多对一

只谈情不闲聊 提交于 2020-11-06 07:39:52
MyBatis 简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。 iBATIS 提供的持久层框架包括SQL Maps和Data Access Objects(DAOs) 当前,最新版本是MyBatis 3.5.4 ,其发布时间是2020年2月4日。 了解了 MyBatis 那么我们就来看看在Java中如何使用 MyBatis 做一对一,一对多,多对一查询吧。 java实体类对象 public class Teacher { private Integer id; private String name; private List <Student> students; //......此处省略get,set方法 } public class Student { private Integer id; private String name; private Teacher teacher ; //......此处省略get,set方法 } Java Dao层代码 /** *一对一