基本流程
0 添加驱动依赖
0.1 数据库驱动依赖
0.1.1 mysql
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
0.1.2 sqlserver
<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>8.4.1.jre8</version>
</dependency>
0.1.3 sqlite
<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.34.0</version>
</dependency>
0.2 连接池依赖
0.2.1 DBCP2
org.apache.commons commons-dbcp2 2.8.00.2.2 C3P0
com.mchange c3p0 0.9.5.50.2.3 Druid
com.alibaba druid 1.2.51 注册数据库驱动或配置连接池
1.1 注册数据库驱动
DriverManager.registerDriver(Driver driver);
或
Class.forName(String className);
Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Class.forName("org.sqlite.JDBC");
注:Class.forName可以多次执行,内部有map对象进行管理,已经添加的不会重复添加。
1.2 配置连接池
直接创建数据源对象或者通过读取配置文件创建数据源对象
2 获取数据库连接
2.1 通过DriverManager
Connection conn = DriverManager.getConnection(String url, String username, String password);
2.2 通过DataSource对象
Connection conn = ds.getConnection();//ds为DataSource对象
3 通过Connection对象获取Statement对象
Connection创建Statement的方式有如下3种:
createStatement()
:创建基本的Statement对象prepareStatement()
:创建PreparedStatement对象prepareCall()
:创建CallableStatement对象
创建基本的Statement
对象:
Statement stmt = conn.createStatement();
创建PreparedStatement对象:
PreparedStatement ps = conn.prepareStatement(String sql);
4 使用Statement执行SQL语句
所有的Statement
都有如下3种执行SQL语句的方法。
execute()
:可以执行任何SQL语句。executeQuery()
:通常执行查询语句,执行后返回代表结果集的ResultSet对象。executeUpdate()
:主要用于执行DML和DDL语句。执行DML语句,如INSERT、UPDATE或DELETE时,返回受SQL语句影响的行数。执行DDL语句返回0。
ResultSet rs = stmt.executeQuery(sql)
5 操作ResultSet结果集
如果执行的SQL语句室查询语句,执行结果将返回一个ResultSet对象,该对象里保存了SQL语句查询的结果。
6 关闭连接,释放资源
每次操作数据库结束后都要关闭数据库连接,释放资源,包括关闭ResultSet、Statement和Connection等资源。