• 数据库驱动和JDBC


    数据库驱动

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

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


    JDBC(重点)

    概念:

            SUN公司为了简化开发人员的(对数据库的统一)操作,提供了一个(java操作数据库的)规范,俗称JDBC

    • 这些规范的实现由具体的厂商去做~
    • 对于开发人员来说,我们只需要掌握JDBC接口的操作即可!
    • java.sql
    • javax.sql
    • 还需要导入一个数据库驱动包 mysql-connector-java-5.5.jar

     


    第一个jdbc程序

    创建测试数据库

    1. CREATE DATABASE `jdbcStudy` CHARACTER SET utf8 COLLATE utf8_general_ci;
    2. USE `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','zhangsan','123456','zs@sina.com','1980-12-04'),
    12. ('2','lisi','123456','lisi@sina.com','1981-12-04'),
    13. ('3','wangwu','123456','wangwu@sina.com','1979-12-04')
    14. SELECT * FROM `users`

    (1)创建一个普通项目

    (2)导入数据库驱动(jar包),导入的MySQL需要添加library才可以使用

     (3)编写测试代码

    1. package com.gt.lesson01;
    2. import java.sql.*;
    3. //我的第一个JDBC程序
    4. public class JdbcFirstDemo {
    5. public static void main(String[] args) throws ClassNotFoundException, SQLException {
    6. //1.加载驱动
    7. // DriverManager.registerDriver(new com.mysql.jdbc.Driver());
    8. Class.forName("com.mysql.jdbc.Driver");//固定写法,加载驱动
    9. //2.用户信息和url
    10. //useUnicode=true 支持中文编码
    11. //&charactEncoding=utf8 设定它的中文字符集
    12. //&useSSL=true 使用安全连接
    13. String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&charactEncoding=utf8&useSSL=true";
    14. String username = "root";
    15. String password = "123456";
    16. //3.连接成功,数据库对象 Connection代表数据库
    17. Connection connection = DriverManager.getConnection(url, username, password);
    18. // connection.rollback();
    19. // connection.commit();
    20. // connection.setAutoCommit();
    21. //4.执行SQL的对象
    22. Statement statement = connection.createStatement();
    23. // statement.executeQuery();//查询操作返回ResultSet
    24. // statement.execute();//执行任何SQL
    25. // statement.executeUpdate();//更新、插入、删除。都是用这个,返回一个受影响的行数
    26. //5.执行SQL的对象去执行sql,可能存在结果,查看返回结果
    27. String sql = "SELECT * FROM `users`";
    28. ResultSet resultSet = statement.executeQuery(sql);//返回的结果集,结果集中封装了我们全部的查询出来的结果
    29. // resultSet.getObject();//在不知道列类型的情况下使用
    30. //
    31. // //如果知道列的类型就使用指定的类型
    32. // resultSet.getString();
    33. // resultSet.getInt();
    34. // resultSet.getFloat();
    35. // resultSet.getDate();
    36. // resultSet.beforeFirst();//移动到最前面
    37. // resultSet.afterLast();//移动到最后面
    38. // resultSet.next();//移动到下一个数据
    39. // resultSet.previous();//移动到前一行
    40. // resultSet.absolute(row);//移动到最前面
    41. while (resultSet.next()) {
    42. System.out.println("id=" + resultSet.getObject("id"));
    43. System.out.println("name=" + resultSet.getObject("NAME"));
    44. System.out.println("pwd=" + resultSet.getObject("PASSWORD"));
    45. System.out.println("email=" + resultSet.getObject("email"));
    46. System.out.println("birth=" + resultSet.getObject("birthday"));
    47. System.out.println("===========================================");
    48. }
    49. //6.释放连接
    50. resultSet.close();
    51. statement.close();
    52. connection.close();
    53. }
    54. }

    步骤总结: 

    1. 加载驱动
    2. 用户信息和URL
    3. 连接成功,数据库对象Connection代表数据库
    4. 执行SQL的对象Statement执行的sql对象
    5. 执行SQL的对象去执行SQL,可能存在结果,查看返回结果
    6. 释放连接

     

  • 相关阅读:
    Django+Vue中文件的上传和下载
    C++ 串联所有单词的子串
    认识NIO
    流媒体技术基础-流媒体服务与框架
    ROS从入门到精通5-3:插件库与开发+实例分析
    前端 Git 使用约定
    蓝桥等考Python组别六级003
    数据结构(一)——线性链表的原理以及应用
    数据结构:时间复杂度汇总
    Taurus.MVC 性能压力测试(ap 压测 和 linux 下wrk 压测):.NET 版本
  • 原文地址:https://blog.csdn.net/qq_46423017/article/details/126219796