一、写作目的
本编文章是学完课程的第一次从头复习后的笔记和在拉勾教育学习一年内的心得体会。便于以后再次复习。
二、与拉勾教育结缘
- 与拉勾教育的缘分是在今年一月份找工作的时候结识的。刚开始接到拉勾教育的电话第一印象就是个骗子,印象中拉勾没有在线培训这块业务的。后来和小姐姐聊了半个小时,听着小小姐分析我这种(30多岁,大专,没有大厂工作经验)程序员的发展规划,然后迷迷糊糊就报名了(拉勾教育Java工程师高薪训练营课程)。然后怀着学完就能内推的想法回家过年啦。开营啦才知道,学习才是王道,拉勾教育也主要是负责内推认真学习的人去大厂工作的。
- 为什么选择拉勾教育Java工程师高薪训练营课程
拉勾是做互联网招聘起家的,具有丰富的客服资源,有优秀的企业内推渠道,我想大多数报名的学员都和我一样抱着内推名额才报名的课程。
- 拉勾教育Java工程师高薪训练营的优势
具有大厂内推机会,直接与越过HR筛选简历与面试官沟通,排解了没用面试机会的痛楚。完整的学习路线,大厂实战讲师团队,针对性搭建技术能力框架,覆盖99%公司的技术要求。帮助每一位Java工程师,达到阿里P7技术能力。
课程内容分12个阶段,从架构、专项技能,实战,测试、运维(选秀),全面提升程序猿自身的技术能力,内容重主流,到新兴的技术都有讲解到,而且会有不定期的大咖直播,阶段视频也会根据直流技术不定期更新等。
讲师团队都是由多年经验的资深技术专家讲解,从拉勾教育本身项目讲解技术在实际中的使用,更加贴通俗易懂。
- 课程学习模式介绍
线上学习录播和模块总结直播,直播主要是复习模块知识,作业讲解课及课后答疑,小竹子班主任全程跟踪及督促大家学习,导师全天微信群互动答疑,批改作业。
每个章节学完都有课后练习,模块学完有实战作业,导师批改作业后开启下一模块学习。
三、在拉勾教育的一年
一咋眼在拉勾教育学习了10个月了,听完了训练营的课程后,感觉学习还是很值的。首先,报名的时候可以领取大厂补贴优惠,再有,拉勾群的学友和导师还是很热心的,平时帮助解决不少工作中遇到的问题(嘿嘿,这应该是额外福利),其次,学习完感觉离自己的目标跟进了一层,以前很多不知道的技术,不懂的技术,知道了在实际中如何使用如何根据项目选择最优的技术方案,如何看spring等框架源码,从中学到了很多知识。最后,学习一周不满意可以全额退款。如果觉得学的不够好还可以免费读一次,那么就可以学习一年。
四、笔记分享
4.1 MyBatis 导师介绍
导师:子幕
风格(个人感觉):风趣,思路清晰,循环渐进,听子幕老师的课会有种想听课的感觉(不困,哈哈)
4.2 JDBC回顾
public
4.3 JDBC问题分析
原始jdbc开发存在的问题如下:
1、 数据库连接创建、释放频繁造成系统资源浪费,从而影响系统性能。
2、 Sql语句在代码中硬编码,造成代码不易维护,实际应用中sql变化的可能较大,sql变动需要改变java代码。
3、 使用preparedStatement向占有位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护。
4、 对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便 。
4.4 问题解决思路
①使用数据库连接池初始化连接资源
②将sql语句抽取到xml配置文件中
③使用反射、内省等底层技术,自动将实体与表进行属性与字段的自动映射
4.5 面试题
- 什么是JDBC,在什么时候会用到它?
JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包 里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。
- JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。有哪些不同类型的JDBC驱动?
有四类JDBC驱动。和数据库进行交互的Java程序分成两个部分,一部分是JDBC的API,实际工作的驱动则是另一部分。
- JDBC操作数据库的步骤 ?
1.注册数据库驱动。2.建立数据库连接。3.创建一个Statement。4.执行SQL语句。5.处理结果集。6.关闭数据库连接。
注意:不要忘记第六步,关闭数据库连接。
- JDBC中的Statement 和PreparedStatement的区别?
PreparedStatement是预编译的SQL语句,效率高于Statement。PreparedStatement支持?操作符,相对于Statement更加灵活。PreparedStatement可以防止SQL注入,安全性高于Statement。
- 说说数据库连接池工作原理和实现方案?
工作原理:JAVA EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
实现方案:返回的Connection是原始Connection的代理,代理Connection的close方法,当调用close方法时,不是真正关连接,而是把它代理的Connection对象放回到连接池中,等待下一次重复利用。