JDBC编程六步

JDBC编程六步(需要背会)
第一步:注册驱动(作用:告诉Java程序,即将要连接的是哪个品牌的数据库)

第二步:获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭通道。)

第三步:获取数据库操作对象(专门执行sql语句的对象)

第四步:执行SQL语句(DQL DML…)

第五步:处理查询结果集(只有当第四步执行的是select语句的时候,才有这第五步处理查询结果集。)

第六步:释放资源(使用完资源之后一定要关闭资源。Java和数据库属于进程间的通信,开启之后一定要关闭。)

在这里插入图片描述
父类接口:
在这里插入图片描述
子类实现类接口:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第二步:获取连接接口 Connection
在这里插入图片描述
在这里插入图片描述
第三步:获取数据库操作对象接口 Statement;获取预编译数据库操作对象接口 PreparedStatement

在这里插入图片描述
在这里插入图片描述
第四步:执行SQL语句方法 executeUpdate(增删改) / executeQuery(查)
在这里插入图片描述
第五步:查询结果集接口(select语句时) ResultSet–>方法:executeQuery
在这里插入图片描述

package com.jdbc;
import java.sql.*;
/**
 *JDBC编程六步:注册驱动,获取连接,获取数据库操作对象,执行sql,处理查询结果集,释放资源
 */
public class JDBCTest01 {
    public static void main(String[] args) {
        Connection conn=null;
        Statement stmt=null;
        try{
            //1.注册驱动
            //多态。Driver是父类接口,无法实例化,只能子类com.mysal.jdbc.Driver()调用实现类,这个com.mysal.jdbc.Driver()来自于mysql-connection-java-8.0.18。
            Driver driver = new com.mysql.cj.jdbc.Driver();
            //Drive driver=new oracle.cj.jdbc.driver.OracleDriver();//oracle的驱动
            DriverManager.registerDriver(driver);

            //2.获取连接
            /**
                url:统一资源定位符(网络中某个资源的绝对路径)
                https://www.baidu.com/这就是URL
                URL包括的几部分:协议、IP、PORT、资源名

                http://182.61.200.7:80/index.html
                    http:// 通信协议
                    182.61.200.7 服务器IP地址
                    80 服务器软件上的端口
                    index.html 是服务器上某个资源名

                jdbc:mysql://localhost:3306/bjpowernode
                    jdbc:mysql:// 协议
                    localhost 本机IP地址
                    3306 mysql数据库端口号
                    bjpowernode 具体的数据库实例名

                oracle的URL: jdbc:oracle:thin:@localhost:1521:orcl
            * */
            String url="jdbc:mysql://localhost:3306/bjpowernode?serverTimezone=GMT%2B8";
            String user="root";
            String password="jh7851192";
            conn=DriverManager.getConnection(url,user,password);
            System.out.println("数据库连接对象="+conn);

            //3.获取数据库操作对象(Statement专门执行SQL语句)
            stmt= conn.createStatement();

            //4.执行sql
            String sql= "insert into dept(deptno,dname,loc) values(111,'人事部','上海')";
            //以下专门执行DML语句的(insert delete update)
            //返回值是“影响数据库中的记录条数”
            int count=stmt.executeUpdate(sql);
            System.out.println(count==1?"保存成功":"保存失败");

            //5.处理查询结果集

        }catch(SQLException e){
            e.printStackTrace();//打印异常语句
        }finally {

            //6.释放资源
            /*
            为了保证资源一定释放,在finally语句块中关闭资源,
            并且要遵循从小到大依次关闭
            分别对其try ... catch
            * */
            try{
                if(stmt !=null){
                    stmt.close();
                }
            }catch(Exception e){
                e.printStackTrace();
            }
        try{
            if(conn !=null){
                conn.close();
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    }
}

结果:
String sql= “insert into dept(deptno,dname,loc) values(111,‘人事部’,‘上海’)”;
在这里插入图片描述

发布了42 篇原创文章 · 获赞 8 · 访问量 2447

猜你喜欢

转载自blog.csdn.net/JH39456194/article/details/103335887