MyBatis

含泪面试阿里P6凉凉,最终只拿下拼多多主力研发岗

≡放荡痞女 提交于 2020-04-18 17:37:12
刚刚签下拼多多不久,目前已经入职了一段时间,适应下来感觉还不错,现在才想起是不是要分享一波面经。实际上在拼多多之前我是很想进BAT一线大厂的,毕竟大部分的程序员心里都有大厂梦。但是,阿里的面试让我的心是凉了半截,比较打击人。具体是一个什么情况,看下面的面经和总结吧! 含泪面试阿里P6凉凉,最终拿下PDD主力研发岗(面试题+复习笔记) 01 含泪面试阿里P6凉凉(3轮技术面挂) 面试阿里之前是非常有信心的,听闻阿里不在乎学历,不少在职员工都是大专出身,所以作为普通本科毕业的我才有这份勇气,下了这个决心。面试前两面时,还算是顺利,所以早早就在窃喜,原以为能够顺利拿下offer,但在第三面居然被吊打,不得不叹服:不愧是第一的互联网公司。(以下附面试题) 自我介绍+项目介绍 项目中你相比于别人的优势在哪里,就是你用了别人没有的东西。 看你提到了连接池,druid连接池。 常见排序算法 TCP三次握手,四次挥手。 数据库引擎对比,索引 看你搞ACM,你给我讲个简单的数据结构 怎么保证多线程操作的原子性。 深入问了乐观锁,悲观锁及其实现。 zookeeper锁,数据库隔离级别。 docker隔离部署问题。 taobao查询排序要考虑那些因素? 你觉得你的能力大概在什么方面? 你是如何进行学习的? 画一个软件的执行流程。 有没有写过开发文档。 Java怎么加载类。 Linux常用命令。 MVC

裂墙推荐!IntelliJ IDEA 常用插件一览,让效率成为习惯

家住魔仙堡 提交于 2020-04-18 17:36:56
点击上方“朱小厮的博客”,选择“ 设为星标” 后台回复" 1024 "领取公众号专属资料 一、官方工具 IntelliJ IDEA 默认安装并提供了非常多的工具,比如 Git Integration、Maven Integration、Markdown support、SSH Remote Run 等。其中有很多好用,但是不为人知的工具。 1. REST client 在日常开发过程中,我们或多或少都涉及到 API 接口的测试。例如,有的小伙伴使用 Chrome 的 Postman 插件,或者使用火狐的 restclient 等工具。事实上,这些工具是测试 API 接口非常有效的方式之一,笔者之前也一直使用 Postman 完成 API 接口的测试工作。今天,笔者推荐另外一个非常好用的小工具,能够帮助读者快速测试 API 接口。这个工具就是 IDEA 的 Editor REST Client。IDEA 的 Editor REST Client 在 IntelliJ IDEA 2017.3 版本就开始支持,在 2018.1 版本添加了很多的特性。事实上,它是 IntelliJ IDEA 的 HTTP Client 插件。详细使用文档,参考:http://blog.720ui.com/2018/restclient_use/ 2. UML Support 如果需要研究源码,内置 UML

ssm整合简单例子

倾然丶 夕夏残阳落幕 提交于 2020-04-18 12:17:38
1.首先新建一个maven项目 2.在pom.xml文件中加入以下代码引入包 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <spring.version>5.0.2.RELEASE</spring.version> <slf4j.version>1.6.6</slf4j.version> <log4j.version>1.2.12</log4j.version> <mysql.version>5.1.6</mysql.version> <mybatis.version>3.4.5</mybatis.version> </properties> <dependencies> <!-- spring --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.6.8</version> </dependency> <dependency>

2020最新Java工程师面试题-MyBatis篇(附答案)

冷暖自知 提交于 2020-04-18 12:05:11
持续更新内容涵盖 :Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、 Linux 等技术栈(滴滴滴.会持续更新哦,记得点赞、关注、分享三连击哈). MyBatis 面试题: (关注末尾获取完整答案) 1、什么是 Mybatis? 1、Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时 只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性 能,灵活度高。 2、MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数 据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 3、通过 xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中 sql 的动态参数进行映射生成最终执行的 sql 语句,最 后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。(从执行 sql 到返 回 result 的过程). 2、Mybaits 的优点:

跳槽需谨慎,学习要走心,1000道BATJava面试题你都会吗?等你挑战

本小妞迷上赌 提交于 2020-04-18 07:55:43
前言: 最近不知道为啥老是听到有人说裸辞裸辞,裸辞需要勇气啊,特别是现在这种环境下,跳槽可是难上加难,个人是不建议裸辞的,除非你对自己有信心能快速的找到下一家更适合你的公司,还有就是口袋里有钱,像我这种没钱的,裸辞是不可能裸辞的,这辈子都不可能裸辞的,还是好好学习,不打无准备的仗会来的靠谱些。所以今天给大家分享近千道面试题,希望大家都能准备充分,顺利拿下offer。 面试题 不会做的不要着急,文末有答案分享 MyBatis 面试题 什么是 Mybatis? Mybaits 的优点: MyBatis 框架的缺点: MyBatis 框架适用场合: MyBatis 与 Hibernate 有哪些不同? #{}和${}的区别是什么? 当实体类中的属性名和表中的字段名不一样 ,怎么办 ? 模糊查询 like 语句该怎么写? 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗? Mybatis 是如何进行分页的?分页插件的原理是什么? Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式? 如何执行批量插入? 如何获取自动生成的(主)键值? 在 mapper 中如何传递多个参数? Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql? Xml 映射文件中

ibatis 到 MyBatis区别

时间秒杀一切 提交于 2020-04-18 07:47:57
简介: 本文主要讲述了 iBatis 2.x 和 MyBatis 3.0.x 的区别,以及从 iBatis 向 MyBatis 移植时需要注意的地方。通过对本文的学习,读者基本能够了解 MyBatis 有哪些方面的改进,并能够顺利使用 MyBatis 进行开发。本文更适合有 iBatis 基础的开发人员阅读。 从 iBatis 到 MyBatis,你准备好了吗? 对于从事 Java EE 的开发人员来说,iBatis 是一个再熟悉不过的持久层框架了,在 hibernate 、JPA 这样的一站式对象 / 关系映射(O/R Mapping)解决方案盛行之前,iBaits 基本是持久层框架的不二选择。即使在持久层框架层出不穷的今天,iBatis 凭借着易学易用、轻巧灵活等特点,也仍然拥有一席之地。尤其对于擅长 SQL 的开发人员来说,iBatis 对 SQL 和存储过程的直接支持能够让他们在获得 iBatis 封装优势的同时而不丧失 SQL 调优的手段,这是 Hibernate/JPA 所无法比拟的。具体而言,使用 iBatis 框架的主要优势主要体现在如下几个方面: 首先,iBatis 封装了绝大多数的 JDBC 样板代码,使得开发者只需关注 SQL 本身,而不需要花费精力去处理例如注册驱动,创建 Connection,以及确保关闭 Connection 这样繁杂的代码。 其次

SpringBoot图文教程「概念+案例 思维导图」「基础篇上」

白昼怎懂夜的黑 提交于 2020-04-18 07:30:29
有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 每个知识点配套自测面试题,学完技术自我测试 本文初学向,所以希望文中所有的代码案例都能敲一遍 大哥大姐新年好,点赞转发不要少 **文本已收录至GitHub开源仓库 Lu_JavaNodes 码云仓库地址 Lu_JavaNodes ,**包含教程涉及所有思维导图,案例代码和后续讲解视频,欢迎Star增砖添瓦。 前言 庚子鼠年,封村儿,在试过了睡觉,打麻将,做凉皮,做蛋糕之后, 我不由的陷入了对人生和社会的大思考 两年的开发经验和三年的大数据讲师经验告诉我 ,是时候写些什么了,我也早觉得有写些东西的必要了。我向来是不惮以最多的无聊揣测这个假期的,但我没想到……(不能再往下了,再往下真就算抄袭了) 于是决定将自己的的毕生功力汇聚整理成册, 写出《图文教程》系列Java技术学习秘籍 ,本功法力求 『图文并茂』 『简单易懂』,概念和代码实践相结合,每个知识点辅助以自测面试题,希望大家通过本系列教程能够快乐学Java,从练气到飞升。 本期选择的技术是SpringBoot ,SpringBoot 现如今已是Java程序员的必备修炼功法,具备SpringBoot大成的开发功力,才能行走江湖,纵横大厂小派而不惧需求。 在正式开始学习之前,先通过思维导图了解本教程的功法纲要 简单说明,教程分为基础篇

构建dubbo分布式平台-maven构建ant-framework核心代码Base封装

独自空忆成欢 提交于 2020-04-18 06:23:57
因为涉及到springmvc、mybatis的集成,为了使项目编码更简洁易用,这边将基础的BASE进行封装,其中包括:BaseBean、BaseDao、BaseService、CRUD的基础封装、分页组件的封装、mybatis的mapper的基础封装,各种数据源支持的封装等。 1. BaseEntity基础封装,代码如下: /** * Entity基础封装 */ public abstract class BaseEntity<T> implements Serializable { private static final long serialVersionUID = 1234567890987654321L; /** * 实体编号(唯一标识) */ protected String id; /** * 当前实体分页对象 */ protected Page<T> page; /** * 是否插入新纪录 */ protected boolean isNewRecord = false; public BaseEntity() { } public BaseEntity(String id) { this(); this.id = id; } public String getId() { return id; } public void setId(String id) {

MyBatis 中 sqlmapconfig核心标签typeAliases配置说明

二次信任 提交于 2020-04-18 05:55:30
标签说明 在 MyBatis 的 sql 映射配置文件中,需要使用 paramterType、resultType 来设置 sql 语句的输入输出参数,一般参数都是基本的数据类型或封装类型,但都需要声明该类型的全路径,java.lang.String,或者 cn.com.mybatis.pojo.Student, 这时就可以通过 typeAliases 别名来设置,简化复杂度 标签示例 例如之前介绍的模糊查询示例,当不使用别名,而使用全路径时,配置示例代码如下: <select id="findStudentByName" parameterType="java.lang.String" resultType="cn.com.mybatis.pojo.Student"> SELECT * FROM STUDENT WHERE name LIKE '%${value}%' </select> 当通过设置 MyBatis 的全局配置文件 sqlmapconfig中的 typeAliases 属性后,就可以为 sql 映射文件中的输入 / 输出参数设置类型别名,然后在 sql 映射配置文件中指定输入输出参数类型时使用的别名。首先,sqlmapconfig配置文件示例如下: <typeAliases> <typeAlias alias="student" type="cn.com

通过命令行方式利用mybatis-generator连接Oracle快速生成代码

旧城冷巷雨未停 提交于 2020-04-18 05:47:27
环境说明:Oracle 11g 、Mybatis 3.4.6 任意位置新建autoMybatis文件夹,文件夹中新建generator.xml文件,代码如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <! DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5 6 <generatorConfiguration> 7 <!-- classPathEntry:数据库的JDBC驱动--> 8 <classPathEntry location="电脑上ojdbc6.jar文件的绝对路径" /> 9 <context id="deDault" targetRuntime="MyBatis3"> 10 11 <!-- 去掉自动生成的注释--> 12 <commentGenerator> 13 <property name="suppressAllComments" value="true" /> 14 </commentGenerator> 15 16 <!--