JDBC(Java DataBase Connectivity)即java数据库链接,是一种用于执行SQL语句的Java API是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操做,开发人员无需接触底层数据库驱动程序的差别性。html
JDBC驱动的四种类型(按操做方式分类的): JDBC-ODBC Bridge Driver Native API Driver 提供原生连接库 JDBC-Net Driver 将方法调用转换为特定的网络协议调用 Native Protocal Driverjava
创建数据库的步骤: 注册Driver的操做对象 取得Connection操做对象 关闭connection操做对象mysql
数据库操做相关的JDBC接口或类都位于java.sql包中。要链接数据库,能够向DriverManager取得Connection对象。Connection是数据库链接的表明对象,一个Connection对象就表明一个数据库链接。SQLException是在处理JDBC时常常遇到的一个异常对象,为数据库操做过程发生错误时的表明对象。git
Connection是数据库链接的表明对象,接下来要执行SQL的话,必须取得java.sql.Statement对象,它是SQL语句的表明对象,可使用Connection的createStatement()来建立Statement对象。sql
在使用Connection、Statement或ResultSet时,要将之关闭以释放相关资源。数据库
Statement的executeQuery()方法则是用于SELECT等查询数据库的SQL,executeUpdate()会返回int结果,表示数据变更的笔数,executeQuery()会返回java.sql.ResultSet对象,表明查询的结果,查询的结果会是一笔一笔的数据。可使用ResultSet的next()来移动至下一笔数据,它会返回 true 或 false表示是否有下一笔数据,接着可使用getXXX()来取得数据。数组
若是有些操做只是SQL语句中某些参数会有所不一样,其他的SQL子句皆相同,则可使用java.sql.PreparedStatement。可使用Connection的preparedStatement()方法建立好一个预编译(precompile)的SQL命令,其中参数会变更的部分,先指定“?”这个占位字符。等到须要真正指定参数执行时,再使用相对应的setInt()、setString()等方法,指定“?”处真正应该有的参数。网络
运用反射 JAVA真正须要某个类时才会加载对应的.class文档,不是程序启动时就加载全部类。ide
经过Object的getClass()方法,或者.class常量取得每一个对象对应的class对象,若是是基本类型,也可使用对应的打包类加上.TYPE取得Class对象。例如,Integer.TYPE可取得表明int的Class对象。oop
使用`class.forName()的方法来实现动态加载类。
java.lang.reflect.Method实例是方法的表明对象,可使用invoke()方法来动态调用指定的方法。
了解类加载器(ClassLoader)
是指将.class文件中的二进制数据读入到内存中,将其放在运行时数据的方法区内,而后再堆区建立这个类的java.lang.Class对象,用来封装类在方法区类的对象。
JVM将类加载过程分为三个步骤:装载(Load),连接(Link)和初始化(Initialize)连接又分为三个步骤。
自定义泛型
在定义泛型时,使用extends限定指定T实际类型时,必须是某类的子类。在定义泛型时,使用extends限定指定T实际类型时,必须是某类的子类。
共变性(Covariance):,B是A的子类,Node B可视为一种Node A ,称Node具备共变性。
通配字符“?”与extends限制T的类型,只能经过T声明的名称取得对象指定给Object,或将T声明的名称指定为null。
<T>
定义泛型,以后就可使用T
来定义返回类型、参数类型,或在方法内声明变量、转换类型等。代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 50/100 | 1/2 | 10/20 | |
第二周 | 150/200 | 1/2 | 20/30 | |
第三周 | 168/200 | 1/2 | 15/20 | |
第四周 | 300/500 | 1/2 | 20/20 | |
第五周 | 885/1000 | 1/2 | 30/30 | |
第六周 | 1211/1000 | 1/3 | 30/30 | |
第七周 | 597/1000 | 2/3 | 30/40 | |
第八周 | 468/800 | 1/2 | 40/40 | |
第九周 | 1598/1000 | 1/3 | 40/40 |