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

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.lryc.cn/news/145189.html

相关文章:

  • 【100天精通python】Day47:python网络编程_Web编程基础
  • DockerCompose介绍与使用
  • Windows Qt 5.12.10下载与安装
  • RustDesk最新版本编译与打包
  • Gin 框架入门实战系列(一)
  • 【测试】pywinauto的简单使用(安装、常用对象、元素控件、鼠标操作、键盘操作)
  • Java基础十八(正则表达式 + 日期时间)
  • Linux C 多进程编程(面试考点)
  • c++一级
  • Code Lab - 34
  • 后端返回文件流,前端怎么导出、下载(8种方法可实现)
  • 什么是 ThreadLocal?
  • CANOCO5.0实现冗余分析(RDA)最详细步骤
  • 【tkinter 专栏】掷骰子游戏
  • 19 NAT穿透|python高级
  • 2023常见前端面试题
  • 登录校验-JWT令牌-生成和校验
  • GIT 常用指令
  • 多目标优化
  • odoo的优势
  • Spring Boot(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot 前后端分离)【三】
  • Kali 软件管理
  • 加油站【贪心算法】
  • java八股文面试[多线程]——死锁、活锁、饥饿
  • 设计模式——装饰器模式
  • ①matlab的命令掌握
  • MySQL----索引
  • 秒杀系统的业务流程以及优化方案(实现异步秒杀)
  • Java实现根据商品ID获取1688商品详情跨境属性数据,1688商品重量数据接口,1688API接口封装方法
  • 前端面试的性能优化部分(14)每天10个小知识点