JDBC 连接的八个步骤(代码具体说明)

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

public class ConnectDB
{
    // 第一步:导入要使用的接口
    // jdbc核心包sql包
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        // 第二:声明要使用的接口
        // 连接接口
        Connection connection = null;
        // 预编译命令对象
        PreparedStatement preparedStatement = null;
        // 结果集对象
        ResultSet set = null;
        // 数据库产品实现了Java连接的实现类,也叫驱动
        // 第三步:加载驱动.先导入jar包,
        // 然后将连接的MySQ的类加载到内存中
        // 驱动连接是一个类,该类在产生对象之前就需要分配到内存中
        // forname方法要告诉JVM要用的是哪一个类(string,且要是完整的路径)
        //
        try
        {
            // 无法保证含有字符串的操作的准确性,所以需要添加try
            Class.forName("com.mysql.jdbc.Driver");
            // 第四步:完成连接(本质就是在实例化connection连接)
            // 利用drivemanager(驱动管理类)提供的连接手段
            // 协议-地址-端口号(连接的必要条件)双斜杠前面的是协议,后面的是地址
            // 端口可以省略,因为有默认的端口
            // 连接字符串
            // jdbc:mysql:java和mysql连接的协议
            // 地址:127.0.0.1/localhost
            // 端口号:3306
            // 连接的数据库名称
            // ?userSSl是否使用信任连接
            String url = "jdbc:mysql://127.0.0.1:3306/scor?useSSL=false";
            String user = "root";
            String password = "12345";
            try
            {

                connection = DriverManager.getConnection(url, user, password);
                System.out.println("连接成功");
                // 5:实例化命令对象
                // 定义一个要执行(预编译)的sql命令
                // 预编译:在实例化的时候就先要准备sql语句命令
                String sql = "insert into user values('admin','123',2)";
                preparedStatement = connection.prepareStatement(sql);
                // 第六步:执行SQL命令execute执行
                // execute(),执行大多数DDL,设置编码set names 'utf8'
                // executeupdate()执行DML 增,删,改
                // executeQuery()执行DQL,专门针对查询
                int lines = preparedStatement.executeUpdate();// 返回影响的行数
                // 利用返回值判断是否成功执行
                if (lines > 0)
                {
                    System.out.println("添加成功");
                }
            } catch (SQLException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } catch (ClassNotFoundException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally
        {
            // 8:关闭连接,回收资源
            // 回收的顺序和实例化的顺序恰恰相反
            if (preparedStatement != null)
                try
                {
                    preparedStatement.close();
                } catch (SQLException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            if (connection != null)
            {
                try
                {
                    connection.close();
                } catch (SQLException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }

    }

}
 

你可能感兴趣的:(JDBC 连接的八个步骤(代码具体说明))