什么是JDBC?
JDBC的全称是"Java Data Base Connectivity"意为JAVA数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序.
说白了 ,就是前台跟后台中间的一个中介, 需要用JDBC才能完成数据库的访问
需要注意的是如果在执行修改时出现乱码,一般是字符集的问题导致的 ,需要注意的点是不同的版本设置字符集的方式不一样
8.0:jdbc:mysql://localhost:3306/tongbai?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
5.1:jdbc:mysql://localhost:3306/tongbai?characterEncoding=UTF-8
8.0在设置时多了时区的设置
JDBC的执行步骤如下
1. 关联数据库驱动包(jar包 不同版本数据库使用的驱动包是不一样的)
2. 注册驱动(通过反射进行驱动的注册)
3. 连接数据库获取数据库连接对象(登录-选择数据库)
4. 执行SQL语句
5. 处理结果集
6. 关闭数据库连接对象
关键词:DriverManager(管理JDBC驱动)、Statement(用于SQL的编译及执行)/PreparedStatement(预编译)/CallableStatement(执行存储过程)、ResultSet(结果集)
以添加数据为例, 代码的执行流程是这样的
首先需要导入相应版本的jar包
注册驱动
Class.forName("com.mysql.jdbc.Driver");
获取数据库连接对象---登录 选择数据库的过程
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
需要注意, 第二步操作中的localhost仅仅适用于本地, 如果工程使用的是远程数据库,需要把远程数据库或者云数据库的IP填进去, 默认端口都是3306;
编译及执行SQL
String sql = "insert into test values(1,'王飞','女','17738374938','JAVA开发工程师')";
执行完了返回结果(受影响的行数)
statement = conn.createStatement();
int result = statement.executeUpdate(sql);
System.out.println(result);
最后关闭所有资源,需要注意的关闭顺序是倒着关,刚好与创建相应对象时的顺序相反。