第一步:注册驱动(告诉Java程序,即将要连接那个品牌的数据库)
第二步:获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完后一定要关闭)
第三步:获取数据库操作对象(专门执行sql语句的对象)
第四步:执行SQL语句(DQL DML ...)
第五步:处理查询结果集(只有第四步执行select语句时,才会执行第五步)
第六步:释放资源(使用完资源后一定要关闭资源。Java和数据库属于进程间通信,开启后一定要关闭)
package com.xzh.jdbc;

import javax.xml.transform.Result;
import java.sql.*;

public class Test {

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet res = null;
        try {
            // 第一步:注册驱动(告诉Java程序,即将要连接那个品牌的数据库)
            Class.forName("com.mysql.jdbc.Driver");

            // 第二步:获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完后一定要关闭)
            String url = "jdbc:mysql://localhost:3306/xzh";
            String user = "root";
            String password = "333";
            conn = DriverManager.getConnection(url, user, password);

            // 第三步:获取数据库操作对象(专门执行sql语句的对象)
            stmt = conn.createStatement();

            // 第四步:执行SQL语句(DQL DML ...)
            String sql = "select empno as a,ename from emp";
            res = stmt.executeQuery(sql);// 专门执行DQL语句

            // 专门执行DML语句的(insert delete update)
            // 返回值是“影响数据库中的记录条数”
            //int c =stmt.executeUpdate(sql);

            // 第五步:处理查询结果集(只有第四步执行select语句时,才会执行第五步)
            while (res.next()) {
                String empno = res.getString("a");
                String ename = res.getString("ename");
                System.out.println(empno + "," + ename);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }catch (ClassNotFoundException e){
            e.printStackTrace();
        }finally {
            // 第六步:释放资源(使用完资源后一定要关闭资源。Java和数据库属于进程间通信,开启后一定要关闭)
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐