Java用JDBC链接mysql

一、什么是JDBC:

       是Java平台上的标准数据库访问技术。它提供了一套API(应用程序编程接口),允许Java应用程序与各种类型的数据库进行交互,包括关系型数据库(如MySQL、Oracle、SQL Server等)和非关系型数据库(NoSQL)。JDBC为开发者提供了一个统一的接口、使得他们能够编写一次数据库代码,而无需针对不同数据库做特别修改就能在多种数据库系统上运行。

二、JDBC包括什么:

1. DriverManager:这是一个类,用于加载JDBC驱动程序并建立与数据库的连接。它提供了获取数据库连接的方法,如`getConnection()`。

2. Connection:这是一个接口,代表与数据库的连接。通过这个接口,你可以创建`Statement`、`PreparedStatement`或`CallableStatement`对象,这些对象用于执行SQL语句。

3. Statement:这是一个接口,用于发送SQL语句到数据库并接收结果。它有几种类型,包括:
   - `Statement`:用于执行简单的SQL语句。
   - `PreparedStatement`:用于执行预编译的SQL语句,可以防止SQL注入并提高性能。
   - `CallableStatement`:用于执行存储过程或函数调用。

4. ResultSet:这是一个接口,用于表示从数据库检索出来的结果集。你可以遍历这个结果集来获取查询结果的每一行数据。

5. SQLException:这是一个异常类,用于表示任何与数据库相关的错误。

 三、应用实例:

 1、查:

 public void cha() throws ClassNotFoundException, SQLException {
        //加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //获取链接
        Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/lianxi?useSSL=false&serverTimezone=UTC", "root", "123456");
       // System.out.println(root);
        //实现功能
       // String sql="select * from courses ";
        //创建将sql语句应用到数据库的对象
       // Statement statement = root.createStatement();
        //执行语句得到结果
        ResultSet resultSet = root.createStatement().executeQuery("select * from courses ");
       //通过next指向结果
        while(resultSet.next()){
            System.out.println(resultSet.getString("cno")+resultSet.getString("cname")+resultSet.getInt("tno"));
        }
        //关闭资源
        root.createStatement().close();
        root.close();
    }

核心代码讲解:

结果输出:

2、删:

  public void shanchu() throws ClassNotFoundException, SQLException {
        //加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //获取链接
        Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/lianxi?useSSL=false&serverTimezone=UTC", "root", "123456");
        //实现功能
        //执行语句得到结果
        int resultSet = root.createStatement().executeUpdate("DELETE FROM courses WHERE tno=555;");
        //通过next指向结果
        System.out.println(resultSet);//如果删除成功就显示为1
        //关闭资源
        root.createStatement().close();
        root.close();
    }
executeUpdate()是在除查找外用到的方法;

 

输出结果: 

这是删除失败的,成功的话为1

3、改 :

 public void update() throws ClassNotFoundException, SQLException {
        //加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //获取链接
        Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/lianxi?useSSL=false&serverTimezone=UTC", "root", "123456");
        //实现功能
        //执行语句得到结果
        int resultSet = root.createStatement().executeUpdate("UPDATE courses SET cno='7-654', cname='计算机编程',tno=452 WHERE cno='-647' ;");
        //通过next指向结果
        System.out.println(resultSet);
        //关闭资源
        root.createStatement().close();
        root.close();

输出结果: 

如果失败就为0

4、增: 

 public void insert() throws ClassNotFoundException, SQLException {
        //加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //获取链接
        Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/lianxi?useSSL=false&serverTimezone=UTC", "root", "123456");
       int resultSet = root.createStatement().executeUpdate("insert into courses value ('5-111','计算机',555)");
        //通过next指向结果
        System.out.println(resultSet);
        //关闭资源
        root.createStatement().close();
        root.close();
    }

结果输出: 

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值