第一个JDBC程序

suaxi
2020-11-07 / 0 评论 / 114 阅读 / 正在检测是否收录...
创建测试数据库
CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci;

USE jdbcStudy;

CREATE TABLE users(
    id INT PRIMARY KEY,
    name VARCHAR(40),
    passwd VARCHAR(40),
    email VARCHAR(40),
    birthday DATE
);

INSERT INTO users(id,name,passwd,email,birthday)
VALUES(1,'aa','12345','aa@qq.com','1991-01-01'),
(2,'bb','12345','bb@qq.com','1992-01-01'),
(3,'cc','12345','cc@qq.com','1993-01-01');

1、创建一个普通项目

2、导入数据库驱动

3、编写测试代码

package com.sw.kuangshen;

import java.sql.*;

/**
 * @Author suaxi
 * @Date 2020/11/7 10:58
 */
public class jdbcStudyDemo {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");

        //2.用户信息和url
        //useUnicode=true&characterEncoding=utf8&useSSL=true
        //支持中文编码     设置字符集为utf-8        使用安全的连接
        String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
        String username = "root";
        String password = "123456";

        //3.连接成功,数据库对象
        Connection connection = DriverManager.getConnection(url, username, password);

        //4.执行SQL的对象 Statement
        Statement statement = connection.createStatement();

        //5.执行SQL的对象去执行SQL语句
        String sql = "select * from users";
        ResultSet resultSet = statement.executeQuery(sql); //返回的结果集,结果集里封装了查询出来的所有结果、
        while (resultSet.next()){
            System.out.println("id="+resultSet.getObject("id"));
            System.out.println("name="+resultSet.getObject("name"));
            System.out.println("pwd="+resultSet.getObject("passwd"));
            System.out.println("email="+resultSet.getObject("email"));
            System.out.println("birth="+resultSet.getObject("birthday"));
            System.out.println("=========================");
        }

        //6.释放连接(先开放的资源后释放)
        resultSet.close();
        statement.close();
        connection.close();
    }
}

步骤总结:

1、加载驱动

2、连接数据库DriverManager

3、获取执行SQL的对象 Statement

4、获得返回的结果集

5、释放连接

DriverManager
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Class.forName("com.mysql.jdbc.Driver"); //固定写法,加载驱动

Connection connection = DriverManager.getConnection(url, username, password);
//connection 代表数据库
//数据库设置自动提交
//事务提交
//事务回滚
connection.rollback();
connection.commit();
connection.setAutoCommit();
URL
String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true";

//mysql默认3306
//协议://主机地址:端口号/数据库名?参数1&参数2&参数3

//oracle默认1521
//jdbc:oracle:thin:@localhost:1521:sid
Statement 执行SQL的对象 PrepareStatement执行SQL的对象
String sql = "select * from users"; //编写SQL

statement.executeQuery(); //查询操作返回resultSet
statement.execute(); //执行任何SQL(其中包含一个判断是什么类型SQL的过程)
statement.executeUpdate(); //更新、插入、删除都是用用这个,返回一个受影响的行数
ResultSet 查询结果集:封装了所有的查询结果
获得指定的数据类型
resultSet.getObject(); //在不知道类型的情况下使用
//如果知道列的类型就使用指定的类型
resultSet.getString();
resultSet.getInt();
resultSet.getFloat();
resultSet.getDate();
...
遍历,指针
resultSet.beforeFirst(); //移动到最前面
resultSet.afterLast(); //移动到最后面
resultSet.next(); //移动到下一个数据
resultSet.previous(); //移动到前一行
resultSet.absolute(row); //移动到指定行
释放资源
//释放连接(先开放的资源后释放)
resultSet.close();
statement.close();
connection.close();
0

评论 (0)

取消