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

java —— 连接 MySQL 操作

MySQL 是独立于 java 之外的数据库,二者之间建立连接需要提前引入 mysql-connector-java 的 jar 包。

一、引入方法:

① 在项目中新建一个 Folder(即文件夹),该文件夹通常命名为 lib,意思是存放项目所依赖的第三方库或外部的 jar 文件。

② 将 mysql-connector-java 的 jar 包复制进 lib 文件夹,然后右键 Build Path → Add to Build Path,该操作的意义是将该 jar 包加入到项目的依赖路径里。

③ 查看项目列表中是否出现包含该 jar 包的 Referenced Libraries(引用库),如出现则添加成功。

二、编写步骤

① 为方便随时调用 java 与 MySQL 的连接,通常在其他类中单独编写一个连接方法,如:

import java.sql.Connection;
import java.sql.DriverManager;public class GetConnection {private static Connection conn=null;    //声明一个空连接private static String address="jdbc:mysql://主机名:3306/数据库名?useSSL=false&serverTimezone=UTC";private static String dataBaseName="root";private static String dataPassWord="MySQL的密码";//声明地址、账号、密码public static Connection getconnection(){try {if(conn==null){Class.forName("com.mysql.cj.jdbc.Driver");  //加载JDBC(java database connectivity)驱动conn=DriverManager.getConnection(address,dataBaseName,dataPassWord);	//建立连接}} catch (Exception e) {e.printStackTrace();}return conn;	}
}

本案例中,连接方法 getconnection() 用 static 修饰,所以在调用的时候直接用 GetConnection.getconnection() 即可,返回的 conn 即为 java 与 MySQL 的连接。

 ② 调用连接的方法:

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;public class Test {public static void main(String[] args) {Connection conn=GetConnection.getconnection();Statement stm=null;                 //声明一个空的statement对象try {stm=conn.createStatement();     //将声明的statement对象与conn连接建立联系String sq1="需要执行的sql语句";stm.execute(sq1);               //使用statement对象执行sql语句} catch (SQLException e) {e.printStackTrace();}finally{try {stm.close();                //关闭statement接口conn.close();               //关闭conn连接} catch (SQLException e) {e.printStackTrace();}}}}

Statement 是 java 连接 MySQL 的一个接口,通过声明 Statement 对象可以将其与返回的 conn 连接建立联系,然后便可以通过该 Statement 对象执行静态的 mysql 语句。

Statement 基本的操作指令有 .execute(语句1).executeQuery(语句2) .executeUpdate(语句3) 等等。 

http://www.lryc.cn/news/358212.html

相关文章:

  • 从 0 开始实现一个博客系统 (SSM 项目)
  • C++标准模板(STL)- C 内存管理库 - 分配并清零内存 (std::calloc)
  • 嵌入式开发面试问题总结(持续更新)
  • 意外发现openGauss兼容Oracle的几个条件表达式
  • 使用Keepalived提高吞吐量和负载均衡ip_hash.
  • 网络故障与排除(一)
  • C++之运算符重载
  • 使用springdoc-openapi-starter-webmvc-ui后访问swagger-ui/index.html 报错404
  • 深入理解计算机系统 家庭作业4.52
  • 深度学习:手撕 RNN(2)-RNN 的常见模型架构
  • 【Linux进程篇】Linux进程管理——进程创建与终止
  • Python爬虫实战(实战篇)—17获取【CSDN某一专栏】数据转为Markdown列表放入文章中
  • Go语言-big.Int
  • getContentView(mBinding.getRoot()); 会导致内存泄露吗?里面有SurfaceView ViewBinding
  • 基于transformers框架实践Bert系列6-完形填空
  • cesium绘制编辑区域
  • 数据库攻防之MySQL
  • 八国多语言微盘微交易所系统源码 单控点控 K线完好
  • 爪哇,我初学乍道
  • 【MySQL精通之路】全文搜索(5)-限制
  • 动态规划part03 Day43
  • Activity->Activity生命周期和启动模式
  • 浅谈网络安全态势感知
  • cesium本地文档-天空盒-arcgis切片404-服务查询
  • OpenMv图片预处理
  • Springboot 实战运用
  • kafka的安装与简单使用
  • 【服务器部署篇】Linux下Node.js的安装和配置
  • 【OrangePi AIpro】香橙派 AIpro 为AI而生
  • AES算法