Java之JDBC初浅理解

什么是JDBC?
JDBC(Java DataBase Connectivity)就是Java数据库连接。通俗点讲就是通过java语言来操作数据库的增删该改查。
JDBC原理
最开始的时候sun公司想做成一个万能连接数据库的api,但是在制作工程中发现数据库厂商很多,而且也没有一个规范的标准。而后sun公司与各大数据库厂商沟通,由sun公司制定一个标准(术语上讲为接口),然后由各大数据库厂商去实现接口的内容,也就是我们现在说的驱动(实际上就是各个数据库厂商自己写的软件)
JDBC核心类(接口)
JDBC中的核心类有:DriverManager、Connection、Statement和ResaultSet!
A:注册驱动:这可以让JDBC知道要使用的哪个驱动
B:获取Connection:作用是建立在数据库与java语言之间的一座桥梁
C:connection可以用来获取statement对象,而statement是用来向数据库发送sql语句的,一般称为发送器
D:ResultSet executrQuery(String sql) 是执行查询语句,并返回一张数据表,其中ResultSet.next使行光标移动到下一行,并返回一个boolean类型的值检测是否存在,而后我们获取行中列的值采用.getXXX的方法

注解下:.next()方法中游标指示的行号,其实就是指示一个对象数据


java加载数据库的两种方式:
1、单一重复加载法:
通过java的驱动管理器DriverManager的注册方法进行方法注册   DriverManager.registerDriver(new com.mysql.jdbc.Driver());
但是在接口中每家数据库厂商在实现接口的过程中,已经对自己的驱动实现了注册,在看到源码之后你不难发现
//mysql中的驱动类继承了注册驱动同时实现了java的接口
public class Driver extends NonRegisteringDriver implements java.sql.Driver {
    static {
    try {
        java.sql.DriverManager.registerDriver(new Driver());
            } catch (SQLException E) {
                throw new RuntimeException("Can't register driver!");
            }
        } …
    …
}
2、直接加载mysql已经写好的注册驱动方法
static 块级 存放在方法区的常量池中,在类被加载的时候静态块就会先运行  这里注解下:类中的运行优先级别是:静态代码块>构造代码块(类被实例化的时候,后面同)>构造函数>调用方法过程
Class.forname:加载类的方法 eg:Class.forname("path_class_name");

3、驱动管理器 DriverManger
DriverManager.getConnection(url,username,password); 返回一个连接对象Connection
url由 三个部分组成 jdbc:mysql://localhost:3306/mydb1
其中jdbc是固定写法,指定jdbc驱动链接的是mysql,mysql的地址是localhost,端口为3306,数据库是mydb1
 

猜你喜欢

转载自blog.csdn.net/qq_20617983/article/details/81536139