JDBC01

JDBC基本介绍

基本介绍

JDBC01

 

 

 JDBC01

 

 

 好处

直接访问数据库:

JDBC01

 

使用jdbc访问数据库——面向接口编程 

 

JDBC01

 

 

  

 JDBC模拟

/**
 * @author 紫英
 * @version 1.0
 * @discription 模拟JDBC
 */
public interface JDBCInterface {

    //连接方法
    public Object getConnection();

    //    crud方法
    public void crud();

    //    关闭连接
    public void close();
}


==================================
/**
 * @author 紫英
 * @version 1.0
 * @discription mysql实现jdbc接口
 */
public class MysqlJdbcImpl implements JDBCInterface {
    @Override
    public Object getConnection() {
        System.out.println("mysql 链接");
        return null;
    }

    @Override
    public void crud() {

        System.out.println("mysql增删改查");

    }

    @Override
    public void close() {
        System.out.println("mysql增删改查");

    }
}

=================================
/**
 * @author 紫英
 * @version 1.0
 * @discription oracle实现jdbc接口
 */
public class OracleJdbcImpl implements JDBCInterface{
    @Override
    public Object getConnection() {
        System.out.println("oracle 链接");
        return null;
    }

    @Override
    public void crud() {
        System.out.println("oracle crud");
    }

    @Override
    public void close() {
        System.out.println("oracle close");
    }
}

===============================
/**
 * @author 紫英
 * @version 1.0
 * @discription 测试类
 */
public class JdbcTest {

    public static void main(String[] args) {
        JDBCInterface jdbcInterface = new MysqlJdbcImpl();
//        接口的多态
        jdbcInterface.getConnection();
        jdbcInterface.crud();
        jdbcInterface.close();
        jdbcInterface = new OracleJdbcImpl();
        jdbcInterface.getConnection();
        jdbcInterface.crud();
        jdbcInterface.close();
        
    }

}
JDBC01

 

JDBC API

JDBC01

  • java.sql接口

JDBC01

 

 

  •  javax.sql接口

JDBC01

 

 

 程序编写步骤

JDBC01

 

 

 JDBC快速入门案例

1.先将mysql的jar包添加到项目中

在项目下创建一个文件夹比如 lib,将 mysql.jar 拷贝到该目录下,点击 add to project ..加入到项目中  JDBC01JDBC01

 

 2.代码实现

package com.recorder.jdbc;

import com.mysql.jdbc.Driver;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
 * @author 紫英
 * @version 1.0
 * @discription Jdbc快速入门案例
 */
public class Jdbc01 {
    public static void main(String[] args) throws SQLException {
        //1. 注册驱动,创建 driver 对象
        Driver driver = new Driver();//new com.mysql.jdbc.Driver.v

        //2. 得到连接
        // (1) jdbc:mysql:表示协议,通过 jdbc 的方式连接 mysql(写死的)// (2) localhost 主机,也可以是 ip 地址
        // (3) 3306 表示 mysql 监听的端口
        // (4) db01 连接到 mysql dbms 的哪个数据库
        // (5) mysql 的连接本质就是前面学过的 socket 连接
        String url = "jdbc:mysql://localhost:3306/db01";//要链接的数据库地址
        //将 用户名和密码放入到 Properties 对象
        Properties properties = new Properties();
        //user 和 password 是规定好,后面的值根据实际情况写
        properties.setProperty("user","root");
        properties.setProperty("password","123456");
        Connection connect = driver.connect(url, properties); //连接数据库
JDBC01
//3. 执行 sql
        //statement 用于执行静态 SQL 语句并返回其生成的结果的对象
        Statement statement = connect.createStatement();
        String sql = "insert into Dog values(null,'大黄')";
        // 如果是 dml 语句,返回的就是影响行数
        int i = statement.executeUpdate(sql);
        System.out.println(i > 0 ? "添加成功" : "添加失败");
        //4. 关闭连接资源
        statement.close();
        connect.close();


    }
}
JDBC01

获取数据库连接 5 种方式 

第一种

缺点:静态加载,灵活性差,依赖性强

 

 

第二种方法

优点:使用反射加载Driver类,动态加载,更加灵活减少依赖性,还可以读取配置文件中的数据

 

第三种方法

使用DriverManager替代driver进行统一管理,扩展性更好,无需创建properties对象,更加灵活

 

第四种方法(使用最多)

 

JDBC01

 

 

第五种方式(第四种的改进,推荐使用)

JDBC01

 

 

 

ResultSet

 

 

Statement

 

SQL注入

JDBC01

 

 

 

PreparedStatement

 JDBC01

 

 JDBCAPI梳理

JDBC01

JDBC01

 

 

 JDBC01

 

 

上一篇:java实现 TCP通信


下一篇:MYSQL查询近一周数据并且为空得数据自动赋值为0