JDBC-概述

JDBC(Java DataBase Connectivity Java)是Java语言操作数据库。
JDBC本质:sun公司定义一套关系型数据库的规则,即接口。各
个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以
使用这套编程,真正执行的代码是驱动jar包中的实现类。

理解与代码

导包文件:https://pan.baidu.com/s/1u27PEpasQrOyhrn8ue1VAA
理解
 * 1、Driver,注册驱动
 * 2、URL,USER,PASSWORD获取连接
 * 3、SQL
 * 4、执行SQL
 * 5、返回结果集
 * 6、关闭资源

代码
package com.llhc.utils;

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

/**
 * 1、Driver,注册驱动
 * 2、URL,USER,PASSWORD获取连接
 * 3、SQL
 * 4、执行SQL
 * 5、返回结果集
 * 6、关闭资源
 * @author 朱君
 *
 */
public  class JdbcUtils {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1、告诉JVM查找并加载Driver指定类到内存中,也就是将Mysql的Driver注册到DriverManager
        Class.forName("com.mysql.jdbc.Driver");
        //2、获取连接
        Connection c=DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","root");
        //3、写SQL
        String sql = "select * from admin";
        //4、执行SQL,Statement用来执行SQL
        Statement s=c.createStatement();
        //5、返回结果集
        ResultSet rs =s.executeQuery(sql);
        while(rs.next()){
            int id=rs.getInt("id");
            String user=rs.getString("username");
            System.out.println(id+user);
        }
        //6、关闭资源
        c.close();
        s.close();
    }
}

小问题(SQL注入)

一些sql特殊关键字参与字符串拼接,造成数据库安全问题(密码:a' or 'a' = 'a)

解决方案:
    首先,用 ?作为占位符,select * from user where name= ?。
    其次,给 ?赋值,setXxx(参数1,参数2)

你可能感兴趣的:(JDBC-概述)