第一个JDBC程序

第一个JDBC程序

创建测试数据库

复制代码
CREATE DATABASE `jdbcStudy` CHARACTER SET utf8 COLLATE utf8_general_ci;

USE `jdbcStudy`;

CREATE TABLE `users`(
 `id` INT PRIMARY KEY,
 `NAME` VARCHAR(40),
 `PASSWORD` VARCHAR(40),
 `email` VARCHAR(60),
 birthday DATE
);

 INSERT INTO `users`(`id`,`NAME`,`PASSWORD`,`email`,`birthday`)
VALUES(1,'zhangsan','123456','zs@sina.com','1980-12-04'),
(2,'lisi','123456','lisi@sina.com','1981-12-04'),
(3,'wangwu','123456','wangwu@sina.com','1979-12-04')
复制代码

1、创建一个普通项目

2、导入数据库驱动

3、编写测试代码

复制代码
package com.hua.lessons;

import java.sql.*;

//我的第一个jdbc程序
public class jdbcFirstDemo {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1、加载驱动
        Class.forName("com.mysql.jdbc.Driver");//固定写法,加载驱动
        //2、用户信息和url
        //useUnicode=true&characterEncoding=utf8&useSSL=true
        String url = "jdbc:mysql://localhost:3306/jdbcStudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
        String useName = "root";
        String password = "123456";
        //3、连接成功,数据库对象  Connection代表数据库
        Connection connection = DriverManager.getConnection(url, useName, password);
        //4、执行SQL的对象 Statement 执行sql的对象
        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("PASSWORD"));
            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.deregisterDriver(new com.mysql.jdbc.Driver());
 Class.forName("com.mysql.jdbc.Driver");//固定写法,加载驱动
 Connection connection = DriverManager.getConnection(url, useName, password);        
        
//connection 代表数据库
// 数据库设置自动提交
//事务提交
//事务回滚
 connection.setAutoCommit();
 connection.commit();
 connection.rollback();
复制代码

URL

String url = "jdbc:mysql://localhost:3306/jdbcStudy?useUnicode=true&characterEncoding=utf8&useSSL=true";

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

//oralce -- 1521
//jdbc:oracle:thin:@localhost:1521:sid

Statement 执行SQL的对象 PrepareStatement 执行SQl的对象

String sql = "select * from users";//编写SQL

statement.executeQuery(); //查询操作返回 ResultSet
statement.execute();  //执行任何SQL
statement.executeUpdate();// 更新、插入、删除。都是用这个,返回一个受影响的行数

ResultSet 查询的结果集:封装了所有的查询结果

获得指定的数据类型

  resultSet.getObject();//在不知道列类型的情况下使用
 //如果知道列类型就使用指定的类型
 resultSet.getInt();
 resultSet.getString();
 resultSet.getFloat();
 resultSet.getDouble();
 resultSet.getDate();

遍历,指针

 resultSet.beforeFirst(); //移动到最前面
 resultSet.afterLast();   //移动到最后面
 resultSet.next(); //移动到下一个数据
 resultSet.previous(); //移动到前一个数据
 resultSet.absolute(row); //移动到指定行

释放资源

//6、释放连接
resultSet.close();
statement.close();
connection.close();//耗资源,用完关掉!
posted @   少时凌云志  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示