前面已经学习了四篇关于Java的内容,算是一个基本路线和重难点划分,接下来就进入真正的Java后端开发之旅了,一起go吧!
Java反射
java反射知识导图
这块的内容不多,但也很重要,虽然开发中可能不是经常用到,但经常会在 看源码的场景中遇到,实际开发中有些情景也是会遇到,所以掌握这一节的内容,有助于你进阶!
通过学习前面章节的内容你应该对一个类(Class)的结构应该掌握的很熟悉了,那么反射中就提供了对应的 API 来调用,如上图中的常用反射对象,掌握他们的写法和调用方式,并尝试着自己写一个类去反射,体验一下这个过程。而获得 Class 对象的方式下面就会用到。
JDBC
JDBC知识导图
如果你是计算机专业的,那么可能在大学接触过 SQL Server ,那么你对JDBC就不会很陌生了,至少听过,代码不会写没事,接下来会告诉你的。
我们前面所学过的知识都是基础操作层面的,而接下来要学习的内容都是完整的体系化,举个例子:你的微信头像修改了,换个手机之后头像依然是修改后的,那么你这个头像存放在哪里呢? 这就是我们要学习的数据库相关知识,到这你应该明白了,原来头像是放在数据库的,无论你是手机还是电脑登录微信,都会从数据库取你的头像,所以你看到的都是同一个头像。
我们是开发者,使用者才不关系头像存放在哪里,所以JDBC就是让我们明白这其中的原理和基本的操作方法(新增、删除、修改、查询)。
那么,常见的数据库有哪些呢?
- SQL Server
- MySQL:典型的关系型数据库,Java开发常用
- NoSQL
- DB2
- Postgre SQL
- Oracle
流程
如上图所示,JDBC一个完整的流程(原理)分为四个步骤
- 加载驱动
- 与数据库建立链接
- 执行SQL
- 释放资源
而在实际开发中,这些底层的步骤几乎轮不到我们自己来写,一方面有世界级的大公司开源框架(数据库连接池)做了这个工作;另一方面你所在的公司有大牛在,这个工作早就做好了。但我们还是需要明白,因为面试可能需要问你(因为只有你答上来了,面试官才放心你真的学过Java,哈哈)。
对于上面的每个流程,都有对应的API,而不同的框架封装后暴漏出来的API又有可能不同,这些都需要我们随机应变,不断学习。
数据库连接池 使用很广泛的一个就是国内大厂阿里开源的DRUID(下载地址:https://github.com/alibaba/druid),具体使用教程可以看官方文档。
看官方文档学习框架用法,看框架源码学习编程思想,这条路我们会一直走下去!
安装MySQL下载:https://dev.mysql.com/downloads/installer/
安装:基本上一路next即可,遇到有execute的,先点击execute
测试是否安装成功:打开MySQL 8.0 Command Line Client ,输入你安装时设置的密码,回车即可看到类似如下信息,则说明安装成功。
MySQL安装成功
SQL是特别重要的内容,Java后端没有不会SQL的,其实也比较简单,你可以将它理解为一门小巧别致的语言,下面就来点基本的内容吧。
关于数据库,种类很多,有不同的使用场景,一般的中小型互联网公司,使用MySQL居多。
查看 MySql 版本命令行输入 mysql -uroot -proot如果出现如下提示,则证明安装成功。(-u后面跟的是用户名,-p后面跟的是密码)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.27 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
这部分内容相对于数据库中表的操作会少很多,实际开发中如果不负责库和表的创建,那么使用的也很少,一般是由管理员开通权限你才可以创建,当然很多人也喜欢使用图形化界面创建,下面是常用命令,工具的话,一般Navicat 使用的比较多。
1,创建数据库
create database 数据库名字;
create database 数据库名字 character set utf8;
show databases;
show create database 数据库名字;
alter database 数据库名字 character set 字符集;
drop database 数据库名字;
use 数据库名字;
select database();
这节内容已经进入Java后端开发,数据库和表的相关操作是必备技能,下一节会重点学习关于数据库中表的操作,是非常重要的内容,赶紧跟上节奏,开始Java之旅吧!
小编特意创建了一个公众号:推荐学java,会分享与java相关的内容,并且以原创为主,微信搜索关注(关注即送小编挑选的精品视频教程),一起学Java!
,