欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JDBC的理解以及粗略介绍

程序员文章站 2024-03-14 16:57:58
...

@TOC数据库连接以及连接池的一些微小的理解《第一部分》

数据库连接从最基本的JDBC开始:
什么是JDBC?

1 】JDBC全称java database Connectivity 就是java数据库连接,是一种用于执行SQL的java的API。
2】 他是由一组用java语言编写的类和接口组成。
3】他提供了一种基准,在此基础上可以编写更高级的工具和接口。
4】最直接的一点就是使数据库开发人员能够编写数据库应用程序。

JDBC的创建方式?

1】首先加载驱动:

 Class.forName("com.mysql.cj.jdbc.Driver");

这里的参数是JDBC的理解以及粗略介绍
如图所示的jar包中的类,通过反射的方式,不用关心是否初始化,只需要一个字符串就可以获取字节码文件,并且创建对象。获取其变量,方法,参数,修饰符,构造器 。即使其私有化也是可以获取。
图示的jar包中的类就是数据库厂商提供给我们的驱动类,我们获取驱动类并且使用其提供的方法等
2】创建连接

String url="jdbc:mysql://localhost:3306/java?serverTimezone=UTC";
String user = "root";
String password = "root";
Connection connection =
 DriverManager.getConnection(url,user,password);

在参数中
1 jdbc【这是jdbc连接的声明】
2 mysql【这是当前数据库使用的声明】
3 localhost:3306【IP地址+端口号】
4 java【是数据库的名】
5 ?serverTimezone=UTC【如果不加上这个有时会报错,主要原因是数据库在开发的时候地区不在亚洲地区,所以系统默认的时间是美洲时区的时间,比中国时间差8个小时,系统会报错,因此需要手动的声明】

DriverManager:是一个驱动管理类;
而在JDBC的规范中要求Driver类必须在DriverManager的使用前注册自己,注册过程在Driver的静态代码块已经实现了,即在类被加载的时候就会完成像驱动管理器的注册。
见Driver的源代码

public class Driver extends NonRegisteringDriver implements java.sql.Driver{
    static{
        try{
            java.sql.DriverManager.registerDriver(new Driver());
        }catch(SQLException e){
            throw nrew RuntimeException("Can't register driver")
        }
    }
}

3】创建SQL编译器

 Statement statement = connection,CreatStatement();

编译器分为两种,一个是statement另外一个是preparedstatement,其中preparedstatement是预编译器,使用它可以在一定程度上防止SQL注入。

4】开始编译SQL

String sql = "sql语句";
statement.execute(sql)//**第一种**
statement.executeupdate(sql);//**第二种**
statement.executequery(sql);//**第三种**

第一种可以执行增删改查,返回值为true和false,当返回值为true是说明执行的是查找操作,当返回值是false时说明执行的增删改操作。
第二种可以执行增删改查,返回的是int类型,当执行数值为0的时候说明执行失败,当不是0的时候说明执行成功,返回的是受影响的行数。
第三种可以执行查询操作,返回值是一个resultset集合

5】关闭流

statement.colse();
connection.close();



   总结:以上为对JDBC的个人的一点点小的理解,写下来希望能让自己理解更好,加油。如有错误希望各位哥哥姐姐批评指正。