当前位置: 首页 > 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) 等等。 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Spring Boot Interceptor(拦截器使用及原理)
  • FltSendMessage 超时时间相关问题
  • 华为HCIP认证H12-831新增变题
  • 基于Netty实现安全认证的WebSocket(wss)服务端
  • 知识分享:隔多久查询一次网贷大数据信用报告比较好?
  • qt for android 重新编译Qt6Android.jar
  • 大整数运算详解升级版
  • 速盾:负载均衡能防ddos攻击吗?
  • 学 Java 具体能干什么?
  • 我的创作纪念日——我与CSDN一起走过的128天
  • 选择排序与堆排序
  • Rust开源Web框架Salvo源码编译
  • Vue中引入组件需要哪三步
  • PostgreSQL的扩展(extensions)-常用的扩展之pg_store_plans
  • Windows系统使用Docker部署Focalboard团队协作工具详细流程
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 2017 年终总结 —— 在路上
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • iOS编译提示和导航提示
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • MYSQL 的 IF 函数
  • SpiderData 2019年2月13日 DApp数据排行榜
  • 百度小程序遇到的问题
  • 工作手记之html2canvas使用概述
  • 简单数学运算程序(不定期更新)
  • 双管齐下,VMware的容器新战略
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 正则表达式
  • 06-01 点餐小程序前台界面搭建
  • ​LeetCode解法汇总518. 零钱兑换 II
  • !!java web学习笔记(一到五)
  • # centos7下FFmpeg环境部署记录
  • (第二周)效能测试
  • (二)WCF的Binding模型
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (力扣)循环队列的实现与详解(C语言)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (三十五)大数据实战——Superset可视化平台搭建
  • (一)Docker基本介绍
  • (一)基于IDEA的JAVA基础12
  • (转)人的集合论——移山之道
  • .net core Redis 使用有序集合实现延迟队列
  • .NET Framework .NET Core与 .NET 的区别
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET 常见的偏门问题
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET轻量级ORM组件Dapper葵花宝典
  • .NET上SQLite的连接
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [20160902]rm -rf的惨案.txt