JDBC简介
七大步骤
1.注册驱动
2.获取连接对象
3.定义SQL
4.获取执行SQL的对象
5.执行SQL
6.处理结果
7.释放资源
-
JDBC概念:
-
JDBC就是使用java语言操作关系型数据库的一套API
-
全称:Java DataBase Connectivity
-
-
JDBC本质:
-
官方(sun公司)定义的一套操作所有关系型数据库的规则
-
即接口各个数据库厂商去实现这套接口,提供数据库驱动jar包
-
我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类
-
-
JDBC好处:
-
各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发
-
可随时替换底层数据库,访问数据库的Java代码基本不变
-
JDBC快速入门
步骤一 (新建空项目)
配置项目环境
导入jar包
编写代码
新建一个类
package com.baiyeblog.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; /** * JDBC快速入门 */ public class JDBCDemo { public static void main(String[] args) throws Exception{ //1.注册驱动 /** * 注意1、JDBC连接Mysql5需用com.mysql.jdbc.Driver,例如: * driverClassName=com.mysql.jdbc.Driver * 2、JDBC连接Mysql6需以后用com.mysql.cj.jdbc.Driver,例如: * driverClassName=com.mysql.cj.jdbc.Driver * 3、如果mysql-connector-java用的6.0以上的,如: * 但是你的driver用的还是com.mysql.jdbc.Driver就会报错,此时需要把com.mysql.jdbc.Driver改为com.mysql.cj.jdbc.Driver。 */ Class.forName("com.mysql.cj.jdbc.Driver"); //2. 获得链接 /** * 需要三个参数:url、username、password。例如: * url解释:jdbc:mysql://<IP>:<port>/[DB?参数列表] * 参数列表解释: * useUnicode:指定用不用字符编码集,true or false * characterEncoding:指定编码集,一般utf-8 * serverTimezone: 时区,UTC or Asia/Shanghai * useSSL:指定密码是不是套接字加密 t or f * mysql5: * url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false * username=root * password=root * mysql6: * url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false * username=root * password=root * 设定时区时,serverTimezone=UTC比中国时间早8个小时,若在中国,可设置serverTimezone=Asia/Shanghai或者serverTimezone=Asia/Hongkong */ String url = "jdbc:mysql://localhost:3306/study?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false"; String username = "root"; String password = "1234"; Connection con = DriverManager.getConnection(url,username,password); //3.定义sql,建议在Navicat中写好再copy过来 String sql = "UPDATE salarygrade SET losalary = 200 WHERE grade = 1"; //4.获取执行sql的对象Statement Statement st = con.createStatement(); //5.执行sql,由于此处是修改的sql,用update //会返回受影响的行数 int count = st.executeUpdate(sql); //6.处理结果 System.out.println(count); //7.释放资源,采用先开后放,后开先放原则 st.close(); con.close(); } }