JDBC连接数据库
JDBC介绍
JDBC:用Java代码操作关系数据库的API
全称: Java DataBase Connectivity, Java数据库连接;
JDBC本质:JDBC定义了操作所有关系型数据库的规则,即接口;
各个厂商去实现这套接口,提供数据库驱动jar包;
我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的视线类;
优点:研发就可以在不改变代码的情况下,使用JDBC操作不同的关系型数据库(Mysql/Oracle/DB2等),
如果后端更换了数据库,不需要根据不同的数据库重新编写代码,只需要更新后端驱动jar包即可;可以做到数据库的灵活切换;
JDBC连接MySQL
操作步骤
1, 创建工程,导入驱动jar包
2, 注册驱动: Class.forName("com.mysql.jdbc.Driver"); 作用: 告诉代码用哪个驱动jar包;
3, 获取链接: Connection conn = DriverManager.getConnection(url, username, password);
4, 定义SQL语句: String sql = "update …";
5, 获取执行SQL对象: Statement stmt = conn.createStatement();
6, 执行SQL: stmt.executeUpdate(sql);
7, 处理返回结果
8, 释放资源
代码样例
packageorg.example;
importjava.sql.DriverManager;
importjava.sql.Connection;
importjava.sql.Statement;
importjava.sql.ResultSet;
//JDBC快速入门
publicclassJDBCDemo{
publicstaticvoidmain(String[]args)throwsException{
//1.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接
Stringurl="jdbc:mysql://x.x.x.x:3306/test01?useSSL=false&serverTimezone=UTC";
Stringusername="username";
Stringpassword="123456";
Connectionconn=DriverManager.getConnection(url,username,password);
//3.定义sql
Stringsql="selectid,name,agefromhero";
//4.获取执行sql的对象
Statementstmt=conn.createStatement();
//5.执行sql
ResultSetrs=stmt.executeQuery(sql);
//6.处理结果
while(rs.next()){
System.out.println(rs.getInt("id")+""+rs.getString("name")+""+rs.getFloat("age"));
}
//7.释放资源
rs.close();
stmt.close();
conn.close();
}
}
说明:
1, 注册驱动的时候,com.mysql.jdbc.Driver已经废弃了,使用会报错,最新采用com.mysql.cj.jdbc.Driver
2, URL连接时,如果不设置SSL会报warnings,可以显示设置SSL=false;
3, MySQL 5之后,Class.forName("com.mysql.cj.jdbc.Driver"); 可以省略
结果验证