idea上利用JDBC连接MySQL数据库(8.1.0版)

1.了解jdbc概念

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种 关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建 更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

2.java数据库连接

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何 来访问数据库的[应用程序接口](,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

3. JDBC API访问与执行流程

JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。

执行流程: 连接数据源,如:数据库。

为数据库传递查询和更新指令。

处理数据库响应并返回的结果。 

pom.xml 中配置

 常用操作步骤

1. 加载驱动

//mysql 旧版本驱动名称,连接mysql 5.1 5.5 5.6
class.forName("com.mysql.jdbc.Driver")
//新版mysql jdbc驱动 兼容旧的mysql数据库 在某此情况可以省略
class.forName("com.mysql.cj.jdbc.Driver")

2.建立数据库连接

//localhost主机 3306端口 null数据库 root账号 密码是默认的,所以没有写
//Connection conn = DriverManager.getConnection("jdbc:mysql:?
user=root");
//url user password
//Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/dbshop?
useUnicode=true&characterEncoding=utf8","root","");
String url = "jdbc:mysql://localhost:3306/dbshop";
//url = "jdbc:mysql://localhost:3305/mysql";
String user = "root";
String password = "";
Connection conn = DriverManager.getConnection(url,user,password);
System.out.println(conn);System.out.println(conn.getMetaData().getDatabaseProductVersion());

3. 执行相关的语句

4. 关闭连接

public class MyDemo {public static void main(String[] args) throws
ClassNotFoundException, SQLException {
//1. 加载jdbc for mysql 驱动类
// com.mysql.jdbc.Driver 旧的mysql 5.6 5.5 5.1 5.0
// com.mysql.cj.jdbc.Driver 新的mysql5.7 8.0Class.forName("com.mysql.cj.jdbc.Driver");
//2. 建立数据库连接 localhost:3306/hbcf user root password nieps
//Connection conn =DriverManager.getConnection("jdbc:mysql:/hbcf?user=root&password=nieps");
//jdbc:mysql://127.0.0.1:3306/hbcf?useUnicode=true&characterEncoding=utf8
//Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3308/wxdb?user=root");Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3308/wxdb?                user=root&password=&useUnicode=true&characterEncoding=utf8");
//3. 执行相关的sql语句 select * from cf_user;Statement st = conn.createStatement();ResultSet rs = st.executeQuery("select * from cf_user");while(rs.next()){System.out.println(rs.getString("name"));}rs.close();st.close();//4. 关闭数据库连接conn.close();}    
}
public class MyTest {public static void main(String[] args) throws
ClassNotFoundException, SQLException {Class.forName("com.mysql.cj.jdbc.Driver");Connection c =
DriverManager.getConnection("jdbc:mysql://localhost:3308/wxdb?
user=root");Statement st = c.createStatement();ResultSet rss = c.createStatement().executeQuery("selectversion()");rss.next();System.out.println(rss.getString(1));System.out.println("--------------------------");ResultSet rs = st.executeQuery("select * from cf_user");while (rs.next()) {System.out.println(rs.getString("name"));}rs = st.executeQuery("show tables");while(rs.next()){System.out.println(rs.getString(1));}}
}
public class MyDemo {@Test @DisplayName("连接ubuntu mysql5.6.51")public void m5() {
//01 docker pull mysql:5.6.51
//02 docker run -itd -p 49153:3306 --name m5 -e MYSQL_ROOT_PASSWORD=root-e TZ=Asia/Shanghai mysql:5.6.51
//03 docker run -it --rm mysql:5.6.51 mysql -h192.168.21.68 -uroot -p -
P49153String driver = "com.mysql.jdbc.Driver";String url = "jdbc:mysql://192.168.21.68:49153?serverTimezone=PRC";String user = "root";String password = "root";try{Class.forName(driver);Connection conn = DriverManager.getConnection(url,user,password);
//String version = conn.getMetaData().getDatabaseProductVersion();
//System.out.println(version);Statement st = conn.createStatement();ResultSet rs = st.executeQuery("select now()");if(rs.next()){System.out.println(rs.getDate(1)); //java LocalDate mysql dateSystem.out.println(rs.getTime(1)); //java LocalTime mysql timeSystem.out.println(rs.getTimestamp(1)); //java LocalDateTimemysql datetime}}catch(Exception e){e.printStackTrace();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/88283.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gradle项目如何开启debug?

一、打开Idea的终端,输入命令gradle build --debug 开启构建DeBug模式 二、点击编辑配置,并填写自己debug的名称 三、编辑好debug配置后,点击以下debug按钮,就可以开始调试代码了。

Linux 查看当前文件夹下的文件大小

1.直接查看: ll 或者 ls -la #查看文件大小,以kb为单位 ll#查看文件大小,包含隐藏的文件,以kb为单位 ls -la2.以 M 或者 G 为单位查看,根据文件实际大小进行合适的单位展示 du -sh *

【前车之鉴】: 2023最新教程-将java程序打包到maven私服的正确打开方式,详细流程介绍不怕你掌握不了

文章目录 为什么看这篇整体流程1. 注册账号【首次需要】2. 工单申请【新项目必须】3. 项目配置【新项目必须】4. 授权认证【新项目必须】5. 一键发布 最后也很重要 为什么看这篇 一是当前网络上一些博客有遗漏部分,这里做补充,二是网上思路没错&#xff…

Android View动画之LayoutAnimation的使用

接前篇 Android View动画整理 ,本篇介绍 LayoutAnimation 的使用。 参考《安卓开发艺术探索》。 View 动画作用于 View 。 LayoutAnimation 则作用于 ViewGroup , 为 ViewGoup 指定一个动画,ViewGoup 的子 View 出场时就具体动画效果。 简言…

13.IIC驱动框架简介

目录 IIC物理总线 linux设备框架图 i2c_adapter结构体 i2c_algorithm结构体 i2c_client结构体 i2c_driver结构体 I2C总线驱动分析 i2c总线注册:i2c_init i2c总线定义:i2c_bus_type i2c设备和i2c驱动匹配规则:i2c_device_match i2…

UDP 多播(组播)

前言(了解分类的IP地址) 1.组播(多播) 单播地址标识单个IP接口,广播地址标识某个子网的所有IP接口,多播地址标识一组IP接口。单播和广播是寻址方案的两个极端(要么单个要么全部)&am…

StringBuilder类分享(1)

一、StringBuilder说明 StringBuilder是一个可变的字符序列。这个类提供了一个与StringBuffer兼容的API,但不保证同步,即StringBuilder不是线程安全的,而StringBuffer是线程安全的。显然,StringBuilder要运行的更快一点。 这个类…

服务器中了mkp勒索病毒该怎么办?勒索病毒解密,数据恢复

mkp勒索病毒算的上是一种比较常见的勒索病毒类型了。它的感染数量上也常年排在前几名的位置。所以接下来就由云天数据恢复中心的技术工程师来对mkp勒索病毒做一个分析,以及中招以后应该怎么办。 一,中了mkp勒索病毒的表现 桌面以及多个文件夹当中都有一封…

LeetCode(力扣)530. 二叉搜索树的最小绝对差Python

LeetCode530. 二叉搜索树的最小绝对差 题目链接代码 题目链接 https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 代码 递归 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # …

无涯教程-机器学习 - 数据可视化

在上一章中,无涯教程讨论了数据对于机器学习算法的重要性,以了解具有统计信息的数据,还有另一种称为可视化的方式来理解数据。 借助数据可视化,可以看到数据的属性保持什么样的关联,这是查看要素是否与输出相对应的最…

Docker拉取RocketMQ及可视化界面

本文介绍Docker拉取RocketMQ及可视化界面操作步骤 Linux下安装Docker请参考:Linux安装Docker 文章目录 安装namesrv创建挂载目录授权相关权限拉取镜像运行容器查看运行情况 安装Broker创建挂载目录及配置文件目录授权相关权限创建配置文件运行容器查看运行情况 安装…

基于 vue2 发布 npm包

背景:组件化开发需要,走了一遍发布npm包的过程,采用很简单的模式实现包的发布流程,记录如下。 项目参考:基于vue的时间播放器组件,并发布到npm_timeplay.js_xmy_wh的博客-CSDN博客 1、项目初始化 首先&a…