Java学习Day29:Mysql 第三章:三年之约!

1.连接数据库

这段代码是用于在Java中通过JDBC(Java Database Connectivity)连接到MySQL数据库,并执行一个SQL查询的示例。下面是对每一行代码的详细解释:

  1. 加载MySQL JDBC驱动

    Class.forName("com.mysql.cj.jdbc.Driver");

    这行代码通过Class.forName()方法动态加载MySQL JDBC驱动类。这是旧版本的JDBC连接数据库时常用的方式,用于确保JDBC驱动被JVM(Java虚拟机)加载。不过,从JDBC 4.0开始,如果JDBC驱动被打包为JAR文件并放在应用的classpath中,那么驱动会自动被加载,因此这行代码在现代应用中可能不是必需的。不过,在一些旧的系统或特定配置下,仍然可能需要显式加载驱动。

  2. 建立数据库连接

    Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/eldenringdb?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false", "root", "123456");

    这行代码通过DriverManager.getConnection()方法建立到MySQL数据库的连接。它接受三个参数:

    • 第一个参数是数据库的URL,格式为jdbc:mysql://主机名:端口/数据库名?参数=值&...。这里,jdbc:mysql://127.0.0.1:3306/eldenringdb指定了数据库的位置(本地主机,端口3306,数据库名为eldenringdb),后面的?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false是连接参数,用于设置时区、字符编码、是否使用Unicode以及是否使用SSL连接
    • 第二个和第三个参数分别是数据库的用户名和密码,这里分别是root123456
  3. 准备SQL语句

    String sql = "SELECT * FROM bosses";

    这行代码定义了一个SQL查询语句,用于从bosses表中检索所有记录。

  4. 创建PreparedStatement

    PreparedStatement ps = con.prepareStatement(sql);

    这行代码通过Connection对象prepareStatement()方法创建一个PreparedStatement对象PreparedStatement不仅允许你预编译SQL语句,还可以提高性能(尤其是当SQL语句被多次执行时),并且可以防止SQL注入攻击。不过,在这个例子中,由于sql变量是一个静态的SQL查询,并没有使用PreparedStatement的参数化查询功能。

  5. 执行查询并获取结果集

    ResultSet rs = ps.executeQuery();

    这行代码尝试执行前面定义的SQL查询,并返回一个ResultSet对象。

    当使用PreparedStatement时,应该调用executeQuery()方法时不带任何参数(因为SQL语句已经在prepareStatement()中定义了)。正确的调用应该是ResultSetrs=ps.executeQuery();

    ResultSet对象包含了查询结果的所有行。你可以通过遍历ResultSet对象来访问每一行的数据。

    综上所述,最后一行代码应该修改为ResultSet rs = ps.executeQuery();以正确地从PreparedStatement执行查询并获取结果集。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值