zoukankan      html  css  js  c++  java
  • JDBC

    JDBC

    一、JDBC理解

    (一)概念

    Java Database Connectivity  Java连接数据库的技术 独立于数据库系统、通用的存取数据的一组接口(API)
    
    这一组接口在jdk中已经定义好。但是这些接口没有实现代码。具体的实现代码是通过各个数据库厂商自己提供。
    

    (二)本质:

    独立于数据库系统、通用的存取数据的一组接口(API)
    

    (三)作用

    1.JDBC为连接不同的数据库 提供了统一路径,为开发者屏蔽了细节问题
    2.开发者只需要面向这一组API(接口)即可,提高开发效率
    3.连接不同的数据库,需要不同的数据库厂商提供不同的驱动即可
    
    没有JDBC 连接数据库
    

    image

     有了JDBC
    

    image

    二、JDBC的快速入门

    (一)涉及的API

    MySQL 驱动下载:https://dev.mysql.com/downloads/connector/j/

    涉及的API(java.sql.* 或 javax.sql.*)
    	1. DriverManager类  管理不同的驱动
    	2. Connection 接口  应用和数据库的连接
    	3. Statement 接口   用于执行sql语句 
    	4. ResultSet 接口   保存查询的结果
    

    (二)使用

    整体步骤:
    1.注册驱动
    2.获取数据库连接
    3.创建执行对象
    4.执行sql代码
    5.释放资源
    
    
    ① 注册驱动(加载驱动)  下载驱动包
    

    image

    ② 获取连接对象        url/用户名/密码
    

    image

    ③ 创建命令对象   
    

    image

    ④ 执行sql命令 返回结果
    	1. int update = statement.executeUpdate(sql); // 执行增 删 改
    	2. ResultSet rs = statement.executeQuery(sql);  // 执行查询
    
    
    ⑤ 处理结果
    

    image

    ⑥ 释放资源
    

    image

    完整代码
    
    package com.offcn.test;
    
    import com.mysql.jdbc.Driver;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class TestJdbc {
    
        /**
         * 整体步骤:
         * 1.注册驱动
         * 2.获取数据库连接 数据库连接地址   数据库登录名  数据库登录密码
         * 3.创建执行对象
         * 4.执行sql代码
         * 5.释放资源
         * @param args
         */
        public static void main(String[] args) throws SQLException {
            //add();
            //delete();
        }
    	
        //删除
        public static void delete() throws SQLException {
            DriverManager.registerDriver(new Driver());
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/day10", "root", "root");
            Statement statement = connection.createStatement();
            statement.executeUpdate("delete from user where id = 1");
            statement.close();
            connection.close();
        }
    	
        //增加
        public static void add() throws SQLException {
            DriverManager.registerDriver(new Driver());
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/day10", "root", "root");
            Statement statement = connection.createStatement();
            statement.executeUpdate("insert into user values(null,'张三','123',20,'男')");
            statement.close();
            connection.close();
        }
        
        public static void select() throws SQLException {
            DriverManager.registerDriver(new Driver());
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/day10", "root", "root");
            Statement statement = connection.createStatement();
            //ResultSet resultSet = statement.executeQuery("select * from user where id = 2");
            ResultSet resultSet = statement.executeQuery("select * from user");
            //解析结果集
            while(resultSet.next()){
                //提取光标所在上的数据
                int id = resultSet.getInt("id");
                int age = resultSet.getInt("age");
                String name = resultSet.getString("name");
                String password = resultSet.getString("password");
                String sex = resultSet.getString("sex");
                System.out.println(id+"	"+age+"	"+name+"	"+password+"	"+sex);
            }
            //先开后关 后开先关
            resultSet.close();
            statement.close();
            connection.close();
        }
    }
    
    
  • 相关阅读:
    教你认识Git
    jmeter跨线程组传递token
    win10企业版激活步骤
    jmeter录制浏览器Https请求
    win10程序无法正常启动0xc0000142
    PPT页面切换动画
    PPT页面动画制作
    查询一门成绩高于另一门课程的学生信息
    MongoDB固定集合-capped collection
    CoronaSDK场景管理库:Composer library (中)
  • 原文地址:https://www.cnblogs.com/conglingkaishi/p/15232235.html
Copyright © 2011-2022 走看看