JDBC的简单使用以及介绍

JDBC(Java DataBase Connectivity)

Java 语言连接数据库

  • 再本模块中,java提供里一组用于连接数据库的类和接口
  • Java 语言开发者,本身没有提供如何具体连接数据库的功能
  • 只是定义了一组java程序连接数据库的访问接口
    1. 连接到数据库
    2. 向数据库发送增,修改,删除这一类的sql
    3. 发送查询sql
  • java语言并没有给实现连接数据库的功能,只提供了接口,需要开发商自己去写如何实现连接的
  • java只需要定义一套接口,就可以连接不同数据库
  • 所有通过这一系列操作,Java开发人员只需要编写一次程序,连接多个数据库

JDBC API:

提供程序员调用的接口与类,继承在java.sql包中

  1. 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 创建lib文件夹,把官方的jar放入
  2. image-20240414151328031

  3. DriverManager类的作用:管理各种不同的JDBC

    • 声明方式

    • //2.注册驱动
             //Class.forName("com.mysql.cj.jdbc.Driver");//反射方式加载驱动类
             DriverManager.registerDriver(new Driver());
      
  4. Connection接口 与特定的数据库的连接

    1. URL = jdbc:mysql://[ip地址]:[端口]/[数据库名]?severTimezone=[地区 Asia/Shanghai] 国内是Asia/Shanghai

    2. USER = [mysql用户名]

    3. PASS = [mysql密码]

    4. Connection connection = DriverManager.getConnection(url, user, pass);

    5.     //3.建立连接
            String url = "jdbc:mysql://127.0.0.1:3306/student2?serverTimezone=Asia/Shanghai";
            String user = "root";
            String password = "root";
            Connection connection = DriverManager.getConnection(url, user, password);
            System.out.println(connection);
      
  5. Satement执行语句
    如下

 public ArrayList<ResidentConnect> search_residentConnect() throws SQLException {
    	DriverManager.registerDriver(new Driver());
        String url = "jdbc:mysql://127.0.0.1:3306/counter?serverTimezone=Asia/Shanghai";
        String user = "root";
        String password = "root";
        //---------------------------------------------------
        Connection connection = DriverManager.getConnection(url, user, password);
//      开始查找
        PreparedStatement pre = connection.prepareStatement("SELECT rc.id,rc.residentId,rc.studentId,rc.adminId,rc.oper_time,s.name AS sname,s.num AS snum,r.num AS rnum\n" +
                "FROM resident_Connect rc\n" +
                "LEFT JOIN student s ON s.id = rc.studentId\n" +
                "LEFT JOIN resident r ON r.id = rc.residentId");
        ResultSet re = pre.executeQuery();
        ArrayList<ResidentConnect>  arrayList = new ArrayList<>();
        while (re.next()){
            ResidentConnect residentConnect = new ResidentConnect();

            residentConnect.setId(re.getString("id"));
            residentConnect.setStudentId(re.getString("studentId"));
            residentConnect.setResidentId(re.getString("residentId"));
            residentConnect.setAdminId(re.getString("adminId"));
            residentConnect.setOper_time(re.getString("oper_time"));
            residentConnect.setSname(re.getString("sname"));
            residentConnect.setSnum(re.getString("snum"));
            residentConnect.setRnum(re.getString("rnum"));
            arrayList.add(residentConnect);
        }
        return arrayList;

    }
posted @ 2024-05-25 16:19  Yang0710  阅读(11)  评论(0编辑  收藏  举报