java连接数据库

什么是JDBC

JDBC(Java DataBase Connectivity)是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。

为什么要使用JDBC

  • 程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的。
  • 使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库 。

博主为大家提供了mysql5.7和8.0的jar包
链接:https://pan.baidu.com/s/1uao3_Nuj5ZDRMmEid4FuVg
提取码:ob9q

JDBC的核心API

接口或类作用
DriverManager类管理和注册数据库驱动 ,得到数据库连接对象
Connection接口一个连接对象,可用于创建 Statement 和 PreparedStatement 对象
Statement接口一个 SQL 语句对象,用于将 SQL 语句发送给数据库服务器。
PreparedStatemen接口一个 SQL 语句对象,是 Statement 的子接口
ResultSet接口用于封装数据库查询的结果集,返回给客户端 Java 程序

导入jar包

创建一个libs文件夹与src文件及同级,将下载的jar包放入libs文件夹,然后鼠标右键libs文件夹选择Add as Library
在这里插入图片描述

程序测试

import java.sql.*;

public class mysql_demo {
    public static void main(String[] args) {
        connect_sql();
    }
    public static void connect_sql()
    {
        // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
        // final String driver = "com.mysql.jdbc.Driver";
        // final String db_url = "jdbc:mysql://localhost:3306/RUNOOB";
        // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
        final String driver = "com.mysql.cj.jdbc.Driver";
        //连接数据库class_db
        final String db_url= "jdbc:mysql://localhost:3306/class_db?useSSL=false&serverTimezone=UTC";
        // 数据库的用户名与密码
        final String username = "";
        final String password = "";
        Connection conn = null;
        Statement stmt = null;
        try{
            // 注册驱动
            Class.forName(driver);
            // 获取数据库连接对象
            conn = DriverManager.getConnection(db_url,username,password);
            // 获取执行sql的对象 Statement
            stmt = conn.createStatement();

            //修改数据
            String sql = "update student set name=? where id=?";
            PreparedStatement pst = conn.prepareStatement(sql);
            // 设置参数
            pst.setString(1,"小红");
            pst.setInt(2,20);
            //受影响的行数
            int count = pst.executeUpdate();
            //删除数据
            //String sql = "delete from student where id=?";
            //PreparedStatement pst = conn.prepareStatement(sql);
            // 设置参数
            //pst.setInt(1,21);
            //pst.executeUpdate();
            //插入数据
            //String sql="insert into student(name, sex, age)values(?, ?, ?)";
            //PreparedStatement query =conn.prepareStatement(sql);
            // 设置参数
            //query.setString(1, "小李");
            //query.setString(2, "female");
            //query.setString(3, "20");
            //query.executeUpdate();

            //查询数据
            String sql1 = "SELECT * FROM student LIMIT 5";
            ResultSet rs = stmt.executeQuery(sql1);
            // 展开结果集数据库
            while(rs.next()){
                // 通过字段检索
                int id  = rs.getInt("id");
                String name = rs.getString("name");
                String sex = rs.getString("sex");
                int age = rs.getInt("age");
                // 输出数据
                System.out.print("id: " + id + ", ");
                System.out.print("name: " + name+ ", ");
                System.out.print("sex: " + sex+ ", ");
                System.out.print("age: " + age);
                System.out.print("\n");
            }
            //释放资源
            rs.close();
            stmt.close();
            conn.close();
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            // 释放资源
            try{
                if(stmt!=null) stmt.close();
            }catch(SQLException e){
                e.printStackTrace();
            }
            try{
                if(conn!=null) conn.close();
            }catch(SQLException e2){
                e2.printStackTrace();
            }
        }
    }
}

JDBC控制事务

使用Connection对象来管理事务:
	开启事务:setAutoCommit(boolean autoCommit) :调用该方法设置参数为false,即开启事务
	在执行sql之前开启事务
	提交事务:commit() 
	当所有sql都执行完提交事务
	回滚事务:rollback() 
	在catch中回滚事务

以上就是java对mysql数据库的增删改查了,我们总结一下步骤:

  1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
    1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下
    2.右键–>Add As Library
  2. 注册驱动
  3. 获取数据库连接对象 Connection
  4. 定义sql
  5. 获取执行sql语句的对象 Statement
  6. 执行sql,接受返回结果
  7. 处理结果
  8. 释放资源

今天的分享就到这里了,欢迎关注。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值