相关文章推荐
霸气的骆驼  ·  连接MySql报错Unknown ...·  1 月前    · 
近视的充电器  ·  下載 - JDBC Driver for ...·  1 月前    · 
发呆的洋葱  ·  使用JDBC连接与开发PolarDB ...·  2 周前    · 
儒雅的企鹅  ·  在Next.js环境中使用React Router·  1 年前    · 
光明磊落的墨镜  ·  基于多智能体强化学习的协同目标分配 - 专知VIP·  2 年前    · 
含蓄的眼镜  ·  Flink的CEP编程之Pattern ...·  2 年前    · 
Code  ›  java连接mysql8与mysql5.7以下的区别开发者社区
云数据库 jdbc
https://cloud.tencent.com/developer/article/1835035
文雅的海龟
2 年前
作者头像
wo.
0 篇文章

java连接mysql8与mysql5.7以下的区别

前往专栏
腾讯云
备案 控制台
开发者社区
学习
实践
活动
专区
工具
TVP
文章/答案/技术大牛
写文章
社区首页 > 专栏 > 了不得的专栏 > 正文

java连接mysql8与mysql5.7以下的区别

发布 于 2021-06-15 10:48:24
1.6K 0
举报

前言:

手上的 服务器 还在吃灰,决定安装mysql,当做一个云 数据库 好啦。 安装之后就要拿来用了,发现8和之前的版本有大大的区别

java项目中连接mysql8

  1. 首先驱动变了 原来是 com.mysql.jdbc.Driver 换成了 com.mysql.cj.jdbc.Driver
  2. 其次mysql8是不需要建立ssl连接的,你需要显示关闭。还需要设置CST jdbc:mysql://localhost:3306/sql?useSSL=false&serverTimezone=GMT&useUnicode=true&characterEncoding=UTF8

mysql8其他问题

  1. 安装时不能选择默认加密方式,不然会造成Navicat连不上

mysql8下载及jdbc8下载地址

https://dev.mysql.com/downloads/windows/installer/8.0.html https://dev.mysql.com/downloads/connector/

放一个完整的java连接mysql8代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BaseDao {
    //mysql数据库驱动,固定写法。连接Oracle时又与之不同,为:"oracle.jdbc.driver.OracleDriver"  
    public static final String DRIVER = "com.mysql.cj.jdbc.Driver";
    * 如下是连接数据库的URL地址, 
    * 其中,"jdbc:mysql://"   为固定写法 
    * "localhost"是连接本机数据库时的写法,当不是连接本机数据库时,要写数据库所在计算机的IP地址。如:1.1.1.1 
    * "sql"是数据库的名称,一定要根据自己的数据库更改。
    * "useSSL=false&serverTimezone=GMT"为mysql8需要加上的 
    * "?useUnicode=true&characterEncoding=UTF-8" 指定编码格式,无需时可省略, 
    * 即地址直接为:"jdbc:mysql://localhost:3306/shopping" 
    public static final String URL = "jdbc:mysql://localhost:3306/sql?useSSL=false&serverTimezone=GMT&useUnicode=true&characterEncoding=UTF8";
    //数据库的用户名、密码 
    public static final String NAME = "name";
    public static final String PAWD = "pawd";
    //返回数据库连接对象,供外部调用  
    public static Connection getConn() {
        //声明数据库连接对象          
        Connection conn = null;
        try {
            //加载驱动 
            Class.forName(DRIVER);
            //连接数据库 
            conn = DriverManager.getConnection(URL, NAME, PAWD);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        return conn;
    // 关闭资源.一定要关闭资源(写在调用数据库后的finally中)
    // 即使前面抛出异常,程序中断,也会执行关闭资源,而不影响浪费。 
    // 数据库的每一个连接都占据服务器资源。我们写代码的时候感觉不到,   
    // 但是一旦服务器运行个三五天,连接就会不断地增加,最终导致资源不足,  
    // 服务器将自动关机来强行关闭连接。   
    // 而且这里面,全部过程都不要抛出异常,而是要捕捉处理异常,不然也会导致资源浪费。  
    public static void close(Connection conn, PreparedStatement ps, ResultSet rs) {
        try {
            // 这里最好要先判断是否为空,不为空了,才去关闭。   
            // 而且要从小到大的关闭(rs,ps,conn),顺序不能乱 
            if (rs != null) {
                rs.close();
            if (ps != null) {
                ps.close();
            if (conn != null) { //注意:如果后续还要使用connection,则不用关闭 
                conn.close();
 
推荐文章
霸气的骆驼  ·  连接MySql报错Unknown system variable 'language'_dbeaver unknown system variable
1 月前
近视的充电器  ·  下載 - JDBC Driver for SQL Server | Microsoft Learn
1 月前
发呆的洋葱  ·  使用JDBC连接与开发PolarDB PostgreSQL版(兼容Oracle)-云原生数据库 PolarDB-阿里云
2 周前
儒雅的企鹅  ·  在Next.js环境中使用React Router
1 年前
光明磊落的墨镜  ·  基于多智能体强化学习的协同目标分配 - 专知VIP
2 年前
含蓄的眼镜  ·  Flink的CEP编程之Pattern API_wx62be9d88ce294的技术博客_51CTO博客
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号