JDBC快速入门(二) JDBC各个类详解以及代码规范

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: JDBC快速入门(二) JDBC各个类详解以及代码规范

JDBC常用的类有

1.DriverManager

2.Connection

3.Statement

4.ResultSet

5.PreparedStatement

1.DriverManager

DriverManager类的主要作用就是连接数据库,该类中有一个方法就是

static Connection getConnection(String url,String username,String password)

该方法为静态方法,可以直接通过类名调用也就是DriverManager.getConnection()

三个参数是

url:指定数据库链接的路径(“jdbc:mysql://localhost:3306/test”)

格式为:“jdbc:mysql:// ip(或者域名) : 端口号 / 数据库名称”

username:名称(“root”)

password:密码(“123456”)

小细节 :如果你连接的是本机的MySQL并且端口默认为3306,那么数据库连接路径可以简写为jdbc:mysql:///数据库名称


2.Connection

功能:

1.获取执行sql的对象

在Connection类中有两个方法,分别是

Statement createStatement();
PreparedStatement prepareStatement(String sql);

2.管理事务

Connection也封装了三个方法分别是

开启事务

setAutoCommit(boolean autoCommit)
//设置为false就是开启事务

提交事务

Commit();

回滚事务

rollback();

3.Statement

用于执行静态sql语句并返回其生成的结果的对象

1.执行sql

boolean execute(String sql);
//该语句可以执行任意sql语句,了解即可,用的不多

如果返回的是true,那么返回的就是ResultSet结果集,如果返回的是false,那么就是更新计数或者没有结果

int executeUpdate(String sql);

执行的是DML语句或者DDL语句,也就是增删改语句或者(create,alter ,drop)等语句

返回值是影响的行数,可以通过这个返回值来判断DML语句是否执行成功,若返回值>0就是执行成功,反之就是失败

Resultset executeQuery(String sql);

执行DQL语句比如select语句,下面我们用案例来演示区别

练习

student 添加一条记录

student 修改记录

student 删除一条记录


附上代码

package com.byzhang.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
//这次的代码我们不用抛出异常的形式,而是采用try catch的方式来捕捉异常,会更规范
public class JdbcDemo2 {
    public static void main(String[] args) throws SQLException {
        Statement stmt = null;
        Connection conn = null;
        try{
            //1.注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.定义sql
            String sql = "insert into student values(4,99)";
            //3.获取Connection对象
            conn = DriverManager.getConnection("jdbc:mysql:///test?useSSL=false","root","123456");
            //4.获取执行sql的Statement对象
            stmt = conn.createStatement();
            //5.执行sql
            int cnt = stmt.executeUpdate(sql);
            //6.处理结果
            if(cnt > 0){
                System.out.println("添加成功!!");
            }else{
                System.out.println("添加失败!!");
            }
        }catch (ClassNotFoundException | SQLException e){
            e.printStackTrace();
        }finally {
            //这里因为stmt是由conn产生的,所以先关闭stmt 再关闭conn
            //避免空指针异常,先判断他是不是null
            if(stmt != null){
                try{
                    stmt.close();
                }catch (SQLException e){
                    e.printStackTrace();
                }
            }
            if(conn != null){
                try{
                    conn.close();
                }catch (SQLException e){
                    e.printStackTrace();
                }
            }
        }
    }
}

update和delete的实现过程是一样的

不过在执行DDL语句的时候不管成功与否都是返回0

4.ResultSet

结果集对象,封装查询结果

next();
//游标向下移动一行
getXxx(参数);
//获取数据,其中Xxx代表数据类型
getInt(1);//表示得到第一列的值,也就是id
getInt("id");//这样表示得到id的值,返回值是int
getString(2);
getString("name");
getDouble(3);
getDouble("score");
//等等很多这样的写法

这是ResultSet以及executeQuery的操作,不同的地方用红框框了起来

5.PreparedStatement

用于执行预编译的sql语句,我们将在后续介绍其用法

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Java 关系型数据库 MySQL
JDBC连接数据库工具类
JDBC连接数据库工具类
125 0
|
SQL Java 数据库连接
联表查询 && 索引 && 事务 && JDBC使用 &&CPU工作原理 && 线程概念 && Thread类的用法
联表查询 && 索引 && 事务 && JDBC使用 &&CPU工作原理 && 线程概念 && Thread类的用法
218 0
|
SQL Java 关系型数据库
【前端学java】JDBC快速入门
【8月更文挑战第12天】JDBC快速入门
138 2
【前端学java】JDBC快速入门
|
Java 数据库连接 数据库
JDBC快速入门(四)
JDBC快速入门(四)
138 0
|
Java 数据库连接 API
后端开发之用Mybatis简化JDBC的开发快速入门2024及数据库连接池技术和lombok工具详解
后端开发之用Mybatis简化JDBC的开发快速入门2024及数据库连接池技术和lombok工具详解
190 3
|
Java 关系型数据库 MySQL
JDBC简介以及快速入门
JDBC简介以及快速入门
125 0
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
|
SQL Java 关系型数据库
JDBC快速入门
JDBC快速入门
134 0
|
SQL Java 关系型数据库
jdbc(insert,update,,create,以及各个类详解)
jdbc(insert,update,,create,以及各个类详解)
|
SQL Java 关系型数据库
JDBC(常用类与接口、实现数据库的增删查改)
1.Connection接口常用方法、2.DriverMange类、3.Statement接口,4.实现表的数据更新(增、改、删),5.实现数据查找(ResultSet接口),6.PreparedStatement 数据更新
285 0
JDBC(常用类与接口、实现数据库的增删查改)