Java链接数据库

本文介绍了JavaDatabaseConnectivity(JDBC)的基础概念,包括其作用、API与接口划分,以及如何使用JDBC连接MySQL数据库,包括下载驱动、数据库链接、实体类创建和执行SQL查询的过程。
摘要由CSDN通过智能技术生成

本文介绍的是Java链接数据库中的JDBC操作,JDBC虽然现在用的不多,但面试的时候会问道。需要有相应的了解。下面以链接MySQL为例子。

JDBC

什么jdbc

Java DataBase Connectivity是一种用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成。通过这些类和接口,JDBC把SQL语句发送给不同类型的数据库进行处理并接收处理结果。

jdbc的作用

提供java 操作不同数据库的技术

JDBC两大类

对Java开发人员而言是API,对数据库提供商而言是接口。

面向开发人员:作为API,JDBC为程序开发提供标准的接口。

面向数据库厂商:作为接口,让数据库厂商按标准方法来实现数据库连接与操作(数据库驱动程序)。

JDBC工作流程

JDBC链接数据库

        1.下载jar包

                来到MySQL官网选择

然后点击

选择Java版本的驱动选择其他

然后选择对应的Version版本,我用的5.7的Java版本,所有下载的5.1.48的,两个任意下载

下载完毕后解压

在项目中导入,我新建了一个lib文件夹,将解压的文件放里面。

然后将包导入,在5.1.49文件右击鼠标,

选择

然后一直确定即可完成导入。

2.数据库的链接

新建一个department表

3.创建department的实体类,用于传递数据输出

public class Department {
    private int id;
    private String name;
//    部门
    private int number;
//    人数
    private int count;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getNumber() {
        return number;
    }

    public void setNumber(int number) {
        this.number = number;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    @Override
    public String toString() {
        return "Department{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", number=" + number +
                ", count=" + count +
                '}';
    }
}

4.链接查询数据

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class dome_select {
    public static void main(String[] args)  {
//        1.加载驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
//        2.获取链接
        Connection con = null;
        Statement st = null;
        ResultSet rs = null;

        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
//            获取st对象
            st = con.createStatement();
//            查询数据
            String sql = "select * from department";

            rs = st.executeQuery(sql);

//            定义存储数据的集合
            List<Department> list = new ArrayList<Department>();

            Department department = null;


            while (rs.next()){
                department = new Department();
                department.setId(rs.getInt("id"));
                department.setName(rs.getString("name"));
                department.setNumber(rs.getInt("number"));
                department.setCount(rs.getInt("count"));

                list.add(department);
            }
            System.out.println(list);

        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
//            关闭rs
            if (rs!=null){
                try {
                    rs.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
//                关闭st
            if (st!=null){
                try {
                    st.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
//            关闭con
            if (con!=null){
                try {
                    con.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }

            }
        }


    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值