JDBC数据库访问与操作

实验名称 JDBC数据库访问与操作
实验类型 验证性 实验学时 2
实验目的 1.了解JDBC的概念和工作原理。
2.掌握使用JDBC实现简单的数据库管理。
3.掌握常用的JDBC API。
实验设备
Windows计算机、JDK开发包、eclipse软件开发工具。
一、实验原理(要求、任务等)
JDBC(Java DataBase Connection)是Java数据库连接API。JDBC API包含在两个包里:第一个包是java.sql,它包含了JDBC API的核心Java数据对象,这包括为DBMS(数据库管理系统)连接和存储在DBMS里的数据进行交互而提供的Java数据对象;另外一个包含JDBC API的包是javax.sql,它扩展了java.sql,是J2EE/Java EE的一部分。除其他高级JDBC特性外,javax.sql还包含了那些与Java命名与目录接口(JNDI)进行交互的Java数据对象,以及管理连接池的Java数据对象。
借助于JDBC API能够与一个数据库建立连接,基于该连接向数据库发送SQL语句,并获取数据库处理后返回的结果。

二、实验内容和步骤
使用JDBC API对MySQL数据库进行访问控制操作。

  1. JDBC数据库驱动器的加载:java.sql.DriverManager。
    2.数据库连接:java.sql.Connection。
    3.传送执行SQL语句:java.sql.Statement。
    4.获取数据集:java.sql.ResultSet。
    三、实验结果与分析
    详细代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcTest {

  public static void main(String[] args) {
    try {
      Class.forName("com.mysql.jdbc.Driver");  //加载驱动程序 
    } catch (ClassNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    Connection con = null;  //存储连接,为的是变成全局变量在try外面还可以继续使用
    Statement st = null;  //存储发送
    ResultSet rs = null;  //存户结果
    String url = "jdbc:mysql://127.0.0.1:3306/myjdbc";  //本地的数据库地址链接
    String user = "root";  //用户名
    String password = "root";  //用户密码
    try {
      con = DriverManager.getConnection(url, user, password); //使用方法传入信息
      st = con.createStatement();  //利用查询分析器发送一个SQL语句
      
      rs = st.executeQuery("SELECT * FROM students");  //使用executeQuery方法来查询并接收结果
      
      rs.next();  //用来读取一行信息,如果是读取多行信息的话,可以用while循环,
                  //因为这个next()方法如果这行为空将会返回false
      System.out.println("学生的姓名为:" + rs.getString(1));  //获取第一个字符串
      System.out.println("学生的密码为:" + rs.getString(2));  //获取第二个字符串
      System.out.println();
    } catch (SQLException e) {
      System.out.println(e);
    } finally {
      try {
        rs.close();  //倒着关闭
        st.close();
        con.close();
      } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
  }
}

输出结果如下图所示:

代码思路分析:
实验要求是使用JDBC API对MySQL数据库进行访问控制操作。首先我们应该下载一个jar包,再创建一个lib文件夹,把这个jar包复制过来,生成一个小奶瓶。然后开始写代码,Class.forName(“com.mysql.jdbc.Driver”); 这行代码的意思是将JDBC数据库驱动器加载进来,用的是反射,具体还不太了解。然后通过实现jdbc这个接口中的抽象方法来完成java访问数据类型库。getConnection这个方法是用来进行连接的,传入SQL的地址连接、用户名和密码,返回值是一个connect连接对象。然后使用createStatement()方法生成一个Statement对象,这个对象里面有增删改查的方法,本次实验做的是查询操作,用的是executeQuery方法,传入的参数是字符串一个SQL语句,返回一个resultset对象。同时这几步都会抛出异常,而且是同一种异常,所以可以放在一个try里面。用next来读取这个对象的第一行信息,然后getstring()获取到第一个字符串作为姓名,第二个作为学号。接下来,要将这些对象倒着关闭,同时会抛出同样的异常,用try抓住。如果想要读取多行的信息,可以直接用while循环,因为next()这个方法,如果读取为空将会返回一个false。

四、总结与心得体会
思考题
1、谈谈你对jdbc的理解
经过老师的讲解,我觉得jdbc就是一个存放着一些用于java链接数据库的接口的驱动程序,他就是用来模拟我们常见的navicate访问数据库的过程。比如说jdbc里面的connection接口就是用来连接java和MySQL的,statement就是有一些方法可以实现增删改查,Resultset就是用来接收结果的。虽然这些东西看起来很麻烦,但是内部的实现都不用管,我们只需要掌握它的流程,就可以实现java访问MySQL,当然,这里面也有很多的增、删、改、查方法需要去掌握。
总结
本次实验中,我们主要练习java访问数据库的实验流程。我在运行这个代码的时候出现了问题,我没有在mysql里面创建数据库和表,因为我们这个代码用的是查询语句。老师还在讲课的时候把建库建表放在第0位,我还是给忘记了。当然用java也可以创建库和表。然后还有就是我更加深入的了解到了java学习的侧重点,我们不应该把重点放在如何去实现方法内部的事情,有些很困难的代码已经被实现了,我们要做的就是如何去寻找和使用对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值