JDBC学习总结

本文介绍了JDBC的基本概念,演示了如何使用JDBC连接MySQL数据库并执行SQL查询语句。包括加载驱动、建立连接、预编译SQL语句及处理查询结果等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JDBC学习总结

一.JDBC介绍

    jdbc是SUN公司和简化和统一对数据库的操作定义的一套接口,接口由数据库厂商实现,开发人员只需要学习jdbc接口,通过jdbc加载驱动就可以操作数据库了。

这里写图片描述


二.编写JDBC程序

2.1、在mysql中创建一个库,并创建user表和插入表的数据。

 1 create table t_users(
 2     id int primary key,
 3     name varchar(32),
 4     password varchar(32),
 5  ); 
 6 insert into t_users(id,name,password)     values(1,'zhansan','123456');
 7 insert into t_users(id,name,password) values(2,'lisi','123456');
 8 insert into t_users(id,name,password) values(3,'wangwu','123456');

2.2、新建一个Java工程,并导入数据驱动。

2.3、编写程序从t_user表中读取数据

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class JdbcFirstDemo {
    public static void main(String[] args) throws Exception {
        // 连接数据库的url
        String url = "jdbc:mysql:///test";
        // 用户名
        String user = "root";
        // 密码
        String password = "";
        // 1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        // 2.创建连接
        Connection conn = DriverManager.getConnection(url, user, password);
        // 3.sql
        String sql = "select * from t_user where id = ? ";
        // 4.获取PreparedStatement对象
        PreparedStatement ps = conn.prepareStatement(sql);
        // 5.设置参数
        ps.setInt(1, 1);
        // 6.执行sql
        ResultSet rs = ps.executeQuery();
        // 7.处理结果集
        while (rs.next()) {
            String name = rs.getString(2);
            String pwd = rs.getString("password");
            System.out.println("name is " + name + "\n" + "password is " + pwd);
        }
        // 8.关闭连接,释放资源
        rs.close();
        ps.close();
        conn.close();
    }
}

运行结果如下:
这里写图片描述

2.4、数据库URL讲解

URL用于标识数据库的位置,通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为:
这里写图片描述

常用数据库URL地址的写法:

  • Oracle写法:jdbc:oracle:thin:@localhost:1521:sid
  • SqlServer写法:jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sid
  • MySql写法:jdbc:mysql://localhost:3306/sid

2.5、Connection类讲解

     Jdbc程序中的Connection,它用于代表数据库的链接,客户端与数据库所有交互都是通过connection对象完成的,这个对象的常用方法:
  • createStatement():创建向数据库发送sql的statement对象。
  • prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。
  • setAutoCommit(boolean autoCommit):设置事务是否自动提交。
  • commit() :在连接上提交事务
  • rollback() :在连接上回滚事务。

2.6、PreparedStatement类讲解

      PreparedStatement执行动态的sql语句达到预编译的目的,可以防止程序sql攻击,推荐使用,这个对象的常用方法:
  • executeQuery() : 执行查询语句,返回结果集
  • execute() : 执行任意一条sql语句,返回的是boolean
  • setString(int parameterIndex,String x) : 设置sql语句中的参数值,参数值从1开始

2.7、ResultSet类讲解

     Jdbc程序中的ResultSet用于代表Sql语句的执行结果。 ResultSet既然用于封装执行结果的,所以该对象提供的都是用于获取数据的get方法:

  获取任意类型的数据
    getObject(int index)
    getObject(string columnName)
  获取指定类型的数据,例如:
    getString(int index)
    getString(String columnName)
 注:index也是从第一列开始

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值