虽然N年前就会连接数据库,不管vb、delphi,还是java。
但为了N年后改行了,又想拿回这些技术,所以还是有必要做个简单的例子的。
所有的JDBC应用程序都具有下面的基本流程:
(1)加载驱动类
(2)建立到数据库的连接
(3)创建语句对象(Statement或PreparedStatment)
(4)利用语句对象执行SQL语句得到结果
(5)处理结果
(6)关闭结果集、从数据库断开连接

例子一:

package ccp330.jdbc.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestOne {


    public static void main(String[] args) {
        // 在此之前应该加入驱动包到项目里
        // 定义数据库驱动程序串
        String DBdriver = "com.mysql.jdbc.Driver";
        // 定义数据库的连接IP地址、端口以及数据库名
        String DBip = "127.0.0.1";
        String DBport = "3300";
        String DBname = "mysql";
        // 定义数据库连接地址
        String DBurl = "jdbc:mysql://" + DBip + ":" + DBport + "/" + DBname;
        // 数据库用户名和密码
        String user = "root";
        String password = "";
        // 定义数据库连接对象
        Connection conn = null;
        // 定义语句对象,用于操作数据库
        Statement stmt = null;
        // 定义接收的结果集
        ResultSet rs = null;
        // 定义要执行的SQL语句
        String sql_createTable = null;
        String sql_insert1 = null;
        String sql_insert2 = null;
        String sql_insert3 = null;
        String sql_select = null;
        String sql_drop = null;

        try {
            // 加载驱动程序
            Class.forName(DBdriver);
            // 连接数据库
            conn = DriverManager.getConnection(DBurl, user, password);
            // 通过Connection对象实例化Statement对象
            stmt = conn.createStatement();
            // 给SQL语句赋值
            sql_createTable = "create table admin(name varchar(25), password varchar(25))";
            sql_insert1 = "insert into admin(name, password) values('ccp330','ccp330')";
            sql_insert2 = "insert into admin(name, password) values('古城','古城')";
            sql_insert3 = "insert into admin(name, password) values('123','123')";
            sql_select = "select * from admin";
            sql_drop = "drop table admin";
            // 进行SQL语句中的建表和插入语句
            stmt.execute("drop table if exists admin");
            stmt.execute(sql_createTable);
            stmt.executeUpdate(sql_insert1);
            stmt.executeUpdate(sql_insert2);
            stmt.executeUpdate(sql_insert3);
            // 用ResultSet来接收查询到的结果集
            rs = stmt.executeQuery(sql_select);
            while (rs.next()) {
                System.out.println("name : " + rs.getString(1)
                        + "  password : " + rs.getString(2));
            }
            stmt.execute(sql_drop);

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {

            try {
                if (rs != null) {
                    rs.close();
                }
                if( stmt != null) {
                    stmt.close();
                }
                if( conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }

        }

    }

}