当前位置: 首页 > news >正文

JDBC(Java DataBase Connectivity)Java数据库连接

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;}
http://www.lryc.cn/news/352552.html

相关文章:

  • 1.Redis之初识Redis分布式系统
  • 基于SpringBoot的网盘系统设计与实现
  • 【C++初阶】vector
  • elasticsearch 和 RediSerch
  • 删除MySQL中所有表的外键
  • webstorm新建vue项目相关问题
  • 2024年高考考务人员网上培训参考答案
  • JavaEE之线程(9) _定时器的实现代码
  • 纯前端实现将页面数据下载word文档中【包括图片,echarts图,表格,和对话 内容】
  • JavaSE——类和对象(二)~~封装
  • 头歌OpenGauss数据库-I.复杂查询第9关:交换性别
  • 冷干机使用中的注意事项
  • OpenFeign微服务调用组件使用
  • 文心智能体,零代码构建情感表达大师智能体
  • es6
  • 「贪心算法」柠檬水找零
  • ssm139选课排课系统的设计与开发+vue
  • Python使用virtualenv创建虚拟环境
  • LuatOS-Air二次开发学习
  • 【Linux】关于获取进程退出状态中的core dump标志补充
  • Vitis HLS 学习笔记--抽象并行编程模型-控制驱动与数据驱动
  • Python爬取B站视频:封装一下
  • Android Low Storage机制之DeviceStorageMonitorService
  • 1105: 交换二叉树的孩子结点
  • TensorFlow.js
  • 131. 面试中关于架构设计都需要了解哪些内容?
  • Nodejs+Websocket+uniapp完成聊天
  • 神经网络学习
  • CentOS部署NFS
  • JWT使用方法