• 数据库驱动和JDBC


    数据库驱动

            驱动:声卡、显卡、数据库

     

     

            我们的程序会通过数据库驱动,和数据库打交道!

    JDBC

    • SUN公司为了简化开发人员的(对数据库的统一)操作,提供了一个(java操作数据库的)规范,俗称JDBC
    • 这些规范的实现由具体的厂商去做
    • 对于开发人员来说,我们只需要掌握JDBC接口的操作即可
    • java.sql
    • javax.sql
    • 还需要导入一个数据库驱动包 mysql-connector-java-5.1.47.jar

    第一个JDBC程序 

      创建一个测试数据库

    1. CREATE DATABASE jdbcstudy CHARACTER SET utf8 COLLATE utf8_general_ci;
    2. USER jdbcstudy;
    3. CREATE TABLE users(
    4. `id` INT PRIMARY KEY,
    5. `name` VARCHAR(40),
    6. `password` VARCHAR(40),
    7. `email` VARCHAR(60),
    8. `birthday` DATE
    9. );
    10. INSERT INTO users(`id`,`name`,`password`,`email`,`birthday`)
    11. VALUES(1,'张三','123456','zs@sina.com','1980-12-04'),
    12. (2,'李四','123456','lisi@sina.com','1981-12-04'),
    13. (3,'王五','123456','wangwu@sina.com','1982-12-04');

      IDEA中的操作

            1.创建一个普通项目

            2.导入数据库驱动(jar包)

          

            3.编写测试代码

    1. import java.sql.*;
    2. //我的第一个JDBC程序
    3. public class JdbcFirstDemo {
    4. public static void main(String[] args) throws ClassNotFoundException, SQLException {
    5. //1.加载驱动
    6. Class.forName("com.mysql.jdbc.Driver"); //固定写法,加载驱动
    7. //2.用户信息和url
    8. /*
    9. seUnicode=true(支持中文编码)
    10. characterEncoding=utf8(设置中文字符集为utf-8)
    11. useSSL=true(使用安全的连接)
    12. */
    13. String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
    14. String username = "root";
    15. String password = "123456";
    16. //3.连接成功,数据库对象 Connection 代表数据库
    17. Connection connection = DriverManager.getConnection(url, username, password);
    18. //4.执行SQL的对象 statement执行sql的对象
    19. Statement statement = connection.createStatement();
    20. // 5.执行SQL的对象 去 执行SQL,可能存在结果,查看返回结果
    21. String sql = "SELECT * FROM `users`";
    22. //返回的结果集,结果集中封装了我们全部的查询出来的结果
    23. ResultSet resultSet = statement.executeQuery(sql);
    24. while (resultSet.next()){
    25. System.out.println("id:" + resultSet.getObject("id"));
    26. System.out.println("name:" + resultSet.getObject("name"));
    27. System.out.println("pwd:" + resultSet.getObject("password"));
    28. System.out.println("email:" + resultSet.getObject("email"));
    29. System.out.println("birthday:" + resultSet.getObject("birthday"));
    30. System.out.println("================");
    31. }
    32. //6.释放连接
    33. resultSet.close();
    34. statement.close();
    35. connection.close();
    36. }
    37. }

     

    步骤:

    1. 加载驱动
    2. 连接数据库
    3. 获取执行SQL的对象Statement
    4. 获得返回的结果集
    5. 释放连接

    注意:

            返回结果集时,代码.executeQuery是查询;所有的删除和插入都叫更新.executeUpdate()

  • 相关阅读:
    剑指offer(C++)-JZ31:栈的压入、弹出序列(数据结构-队列 & 栈)
    【2d游戏开发】unity实现UI框架搭建
    最新 | VDA-ISA5.0.4最新版本发布,汽车企业如何增强信息安全?
    如何开通 chatGPT4 会员
    python执行shell并获取结果
    1.了解网页的构成
    C++ 智能指针
    加速鸿蒙生态共建,蚂蚁mPaaS助力鸿蒙原生应用开发创新
    Springboot的自动配置原理
    oslo_rootwrap学习小结
  • 原文地址:https://blog.csdn.net/weixin_48426115/article/details/126263521