JDBC使用
一 JDBC简介
JDBC:全称 java-database-connection即用java语言去链接操作数据库。
JDBC是Java制定的接口,数据库产商依照该接口编写与自家数据库配套的实现类。比如MySQL、Oracle、SqlServer等都有自己的不同实现,这些实现类的集合既是我们笼统意义上的“驱动”。
二 如何使用
步骤流程:
- 加载数据库驱动
- 获取链接connection
- 通过statement对象执行sql
- 获取返回结果
使用代码如下:
接入pom包
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency>
public static void insertData() { private String URL = "jdbc:mysql://localhost:port/databaseName?useUnicode=true&characterEncoding=UTF-8"; private String USER = "xx"; private String PASSWORD = "xx"; Class.forName("com.mysql.jdbc.Driver"); //1 加载数据库驱动 Connection connection = DriverManager.getConnection(URL,USER,PASSWORD); // 2 获取链接connection PreparedStatement preparedStatement = connection.prepareStatement("insert into test (name, sex) values (?,?)"); // 3 通过statement对象执行sql preparedStatement.setString(1, "xx"); preparedStatement.setString(2, "yy"); Boolean result = preparedStatement.execute(); // 4 获取返回结果 }
三 加载数据库驱动的几种方式
方法1
Class.forName("com.mysql.jdbc.Driver");
Class.forName 返回与给定的字符串名称相关联类或接口的Class对象 是一个静态方法,同样可以用来加载类
com.mysql.jdbc.Driver类是mysql-connector-java驱动包下的一个类,如下图 我们可以看到加载com.mysql.jdbc.Driver类时会调其static静态代码块,里面有注册驱动的方法。
源码如下:
方法2
import com.mysql.jdbc.Driver; DriverManager.registerDriver(new Driver());
方法2的代码也会加载驱动,会加载两次驱动,里层参数new Driver() 的时候 会实例化加载com.mysql.jdbc.Driver类时会调其static静态代码块,里面有注册驱动的方法,外面DriverManager.registerDriver方法还会注册一遍。
方法3
经本人实验无意间发现,只要前面pom引入了mysql-connector-java这个包,什么都不写也会加载mysql数据库驱动,这是为什么呢,具体见下一篇博客详细讲来。