JavaJDBC

本文详细介绍了Java JDBC的使用,包括JDBC概述、JDBC搭建步骤、PreparedStatement与Statement的区别以及结果集处理。JDBC作为一套标准接口,允许开发者通过统一的方式连接和操作不同数据库,而具体的实现由数据库供应商提供。在实践中,PreparedStatement因其参数占位符特性,不仅提高了代码可读性,还能防止SQL注入,是推荐的SQL执行方式。
摘要由CSDN通过智能技术生成

目录

1. JDBC概述

2. JDBC搭建

3. PreparedStatement和Statement

4. 结果集处理


1. JDBC概述

java程序连接数据库 (MySQL、SQL server、Oracle....),JDBC是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

问题:不同的数据库实现方式有所不同,那么java要连接不同的数据库,需要写不同实现细节(很麻烦,对于语言开发者来说不太友好)

解决(怎么来解决java程序连接不同的数据库问题呢):

  1. java语言开发者 制定出了一套标准的访问数据库接口 (程序对数据库的操作一般有 (新增,修改,删除 DML), 查询 ( save update delete query) )
  2. 由不同的数据库开发商来具体实现,实现java提供的标准对数据库操作的接口中的方法(save update delete query)
  3. 作为程序开发者,只需要学习标准接口的功能即可

JDBC API

供程序员调用的接口与类,集成在 java.sql 包中:

DriverManager 类:管理各种不同的JDBC驱动

Connection 接口 :实际返回的mysql 的实现类对象

Statement 接口 :执行sql

PreparedStatement 接口 :执行sql

ResultSet 接口 :接收查询结果

mysql 开发商将连接 mysql 具体的实现功能封装到 mysql-connector-java-8.0.16.jar文件中 我们连接 mysql 时,只需要将此包导入到项目中即可
 

2. JDBC搭建

  1. 导入mysql驱动包(实现了java标准接口的实现类)

  2. 注册驱动

  3. 建立与mysql的连接通道

  4. 向mysql发送sql句

  5. 接收返回结果

  6. 关闭与数据库的连接

import java.sql.*;
​
public class Demo1 {
    public static void main(String[] args) {
        /*try {
            DriverManager.registerDriver(new Driver());
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }*/
        //1.注册JDBC驱动
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");//以java反射机制来创建此类方法
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        String url = "jdbc:mysql://127.0.0.1:3306/school?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai";
        Connection conn = null;
        try {
            //建立与MySQL连接
            //Connection 接口 实际返回的mysql 的实现类对象
            conn = DriverManager.getConnection(url,"root","123456");
            //发送sql
            Statement st = conn.createStatement();
            //更新 st.executeUpdate();
            st.executeUpdate("insert into course values(6,'张三','物理',60)");
            //查询 st.executeQuery();
            //关闭与数据库的链接通道
            st.close();
            conn.close();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值