第一个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();//耗资源,用完关掉!

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/289577.html

(0)
上一篇 2022年9月15日 09:18
下一篇 2022年9月15日 09:18

相关推荐

发表回复

登录后才能评论