zoukankan      html  css  js  c++  java
  • JDBC

    JDBC

    什么是JDBC

    程序是无法直接访问数据库的,需要安装数据库驱动,数据库驱动的实现是由数据库厂商来实现的。这样的话,每种数据库都有对应驱动,mysql由mysql的驱动,redis有redis的驱动,Java程序需要对每一个数据库定制一套连接方式。为了提高开发的效率,可以在Java与数据库驱动直接添加一层,使程序可以通过同一套代码来操作数据库,这一层就叫做JDBC(Java Database Connectivity),它是SUN公司指定的一套接口,开发时只要调用相关接口即可,显著提高了开发的效率。

    配置数据库驱动

    • 在对应的数据库厂商网站获取对应的jar包

    https://dev.mysql.com/downloads/connector/j/5.1.html

    • 将jar包放在lib目录下

    • 将lib设置为库文件

    image-20201104112049296

    JDBC程序

    1. 加载驱动
    2. 设置用户信息和url
    3. 连接数据库,获取数据库对象Connection
    4. 获取执行SQL的对象Statement
    5. 通过Statement执行SQL,返回结果集
    6. 释放连接
    package JDBC;
    
    import java.sql.*;
    
    public class Demo01 {
    
        public static void main(String[] args) throws ClassNotFoundException, SQLException {
    
            //1、加载驱动
            //DriverManager.registerDriver(new com.mysql.jdbc.Driver())
            Class.forName("com.mysql.jdbc.Driver");
    
            //2、用户信息和url
            String url = "jdbc:mysql://localhost:3306/school?useUnicode=true&characterEncoding=utf8&useSSL=false";
            String username = "root";
            String password = "123";
    
            //3、连接成功,返回数据库对象
            Connection connection = DriverManager.getConnection(url,username,password);
    
            //4、执行SQL对象
            Statement statement = connection.createStatement();
            //5、执行SQL的对象去执行SQL,可能存在结果,查看返回结果
            String sql = "Select * from student";
            ResultSet resultSet = statement.executeQuery(sql);
            while(resultSet.next()){
                System.out.println("studentno=" + resultSet.getObject("studentno"));
                System.out.println("loginpwd=" + resultSet.getObject("loginpwd") );
                System.out.println("studentname=" + resultSet.getObject("studentname") );
                System.out.println("sex=" + resultSet.getObject("sex"));
                System.out.println("phone=" + resultSet.getObject("phone"));
                System.out.println("address=" + resultSet.getObject("address"));
            }
            //6、释放连接
            resultSet.close();
            statement.close();
            connection.close();
        }
    }
    

    结果

    studentno=1000
    loginpwd=123456
    studentname=张伟
    sex=false
    phone=13800001234
    address=北京朝阳
    ======================================
    studentno=1001
    loginpwd=123456
    studentname=赵强
    sex=true
    phone=13800002222
    address=广东深圳
    ======================================
    
  • 相关阅读:
    python
    【转载】【CPU】关于x86、x86_64/x64、amd64和arm64/aarch64
    【百思不得其解1】诡异的速度差异
    LeakCanary 与 鹅场Matrix ResourceCanary对比分析
    android 插件化框架VitualAPK
    android高级篇收录
    滴滴Booster移动APP质量优化框架 学习之旅 三
    滴滴Booster移动APP质量优化框架 学习之旅 二
    滴滴Booster移动APP质量优化框架 学习之旅
    不一样视角的Glide剖析
  • 原文地址:https://www.cnblogs.com/happysml/p/13926317.html
Copyright © 2011-2022 走看看