1.JDBC的操作流程
JDBC:java数据库连接。是一套java连接数据库的标准。
1.引入jar包
2.加载数据库驱动(javaSE可省略此步,javaweb必须编写此步)
Class.forName(“com.mysql.jdbc.Driver”);
//注意:mysql6以下驱动:com.mysql.jdbc.Driver
mysql6和6以上驱动:com.mysql.cj.jdbc.Driver
3.通过驱动管理,获取jdbc连接对象
Connection connection = DriverManager.getConnection("数据库连接地址","账号","密码");
//数据库链接地址格式:主协议:子协议://IP地址:端口号/数据库名称
//mysql的链接地址:jdbc:mysql://localhost:3306/test
//oracle的链接地址:jdbc:oracle:thin:@localhost:1521:test
//注意:通常在数据库名称后面加上?useUnicode=true&characterEncoding=utf-8,防止乱码
//例:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
4.通过连接对象,创建SQL执行对象
Statement statement = connection.createStatement();
//这只是其中一种SQL执行对象的创建,还有一种PreparedStatement(预处理)可以预防注入问题,在后面的博客会更新二者的区别
5.通过SQL执行对象,执行SQL语句
statement.excute("SQL执行语句");
//例:statement.excute("select * from user");
6.释放连接***************************(很重要)
connection.close();
statement.clos();
2.完整使用示例
这里的异常全部采用了抛出处理,通常应该是try catch finally,在finally进行释放连接。
public static void createTable() throws ClassNotFoundException, SQLException {
/**
* 机载数据库驱动
*/
Class.forName("com.mysql.jdbc.Driver");
/**
* 通过驱动管理,获取连接对象
*/
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8","root","");
/**
* 通过连接对象,创建数据库操作对象
*/
Statement state = conn.createStatement();
/**
* 创建一个名为person的表
*/
state.execute("create table person(id int,nickname varchar(32))");
/**
* 释放连接
*/
conn.close();
state.close();
}