写在前头!

接入数据库之前请先问自己下面四个问题:

1,你要接入的数据库类型,是mysql还是oracle?

2,你的数据库账号,密码,版本. mysql是不是8.0之上的版本?

3,数据库是否已经创建了数据库,数据表?

4,你的数据库是否能用第三方软件链接?

(别一脸懵逼啥都不知道来跟我说连不上.报异常了.然后一问,数据库是别人装的,账号密码不知道.数据库是什么版本不知道.是否建有库,建有表也不知道? 我也一脸懵逼.还有给我的代码sql语句是oracle的语句,然后要接入mysql.)确认好后,看看一些常见的异常,解决了就没什么问题了。

一:数据库驱动异常:

很多同学都是从各位学姐学长那里拿到的祖传代码,然后自己电脑上装的是最新8.0的mysql,一跑就报异常了.Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver

解决办法:1,下载8.0的jar包驱动.然后导入项目.下载地址:

https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.12

2,将jdbcDriver是com.mysql.jdbc.Driver的改成com.mysql.cj.jdbc.Driver

二,账号密码不对:

Access denied for user ''@'localhost' (using password: YSE)

解决办法:输入正确的账号密码!三,没有数据库:unkown database "student"

解决办法:去建数据库,名称要一致,以及对应的表。做完这三步.连上数据库没问题了.此外Mysql8.0还有会有两个告警

1,SSL连接告警

2,时区告警

解决的办法就是在url上加上两个参数(useSSl=false&serverTimezone=UTC)即可.例如:

jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&characterEncoding=UTF8

最后贴一个连接工具类吧:需要导入dbcp2依赖包,下载地址:https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2/2.1.1

package Tools;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;import javax.sql.DataSource;import org.apache.commons.dbcp2.BasicDataSourceFactory;public class ConnectionTools {  private static Connection conn;  private ConnectionTools() {  }  /**   * 利用内部类枚举实现单例   */  public enum GetConnection {    INSTANCE;    private ConnectionTools connectionTools;    public ConnectionTools getInstance() {      if (connectionTools == null) {        connectionTools = new ConnectionTools();      }      return connectionTools;    }  }  public static DataSource dataSource;  /**   * 获取连接   *   * @return   * @throws Exception   */  public Connection getConnection() throws Exception {    if (conn == null) {      Properties pro = new Properties();      // -- 给Properties对象加载要读取的配置文件 只有SRC下的内容才会被编译.      pro.load(ConnectionTools.class.getClassLoader().getResourceAsStream("database.properties"));      String driverClassName = pro.getProperty("driverClassName");      String url = pro.getProperty("url");      String username = pro.getProperty("username");      String password = pro.getProperty("password");      System.out.println("driverClassName:" + driverClassName + "url:" + url + "username:" + username          + "password:" + password);      // -- 通过工厂中的静态方法获取DataSource对象      dataSource = BasicDataSourceFactory.createDataSource(pro);      // -- 通过DataSource对象获取连接      conn = dataSource.getConnection();    }    return conn;  }  /**   * 关闭结果集   *   * @param rSet   */  public void closeResultSet(ResultSet rSet) {    try {      if (rSet != null && !rSet.isClosed()) {        rSet.close();      }    } catch (SQLException e) {      e.printStackTrace();    }  }  /**   * 关闭预处理   *   * @param statement   */  public void closePreparedStatement(PreparedStatement statement) {    try {      if (statement != null && !statement.isClosed()) {        statement.close();      }    } catch (SQLException e) {      e.printStackTrace();    }  }  /**   * 关闭连接   *   * @param conn   */  public void closeConnection(Connection conn) {    try {      if (conn != null && !conn.isClosed()) {        conn.close();      }    } catch (SQLException e) {      e.printStackTrace();    }  }}

database.properties 文件

driverClassName=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTCusername=rootpassword=rootinitialSize=5

java入门简单小项目_JAVA入门_java项目接入Mysql8.0相关推荐

  1. java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结

    详解java微信小程序开发中加密解密算法 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让 ...

  2. Java制作简单小画板

    Java制作简单画板,包括两个类,一个主要画板类Drawpad,一个画板监听器DrawListener类. 1.Drawpad类,包括画板,画板功能设计,保存图片等 package Java课程设计; ...

  3. Java入门简单小游戏有哪些?

    适合新手练习的小游戏有超级玛丽.愤怒的小鸟.飞机大战.五子棋.彩虹雨.聊天室.华容道.坦克大战.扫雷等.还有贪吃蛇,由Java开发出来的一款经典小游戏,java小白入门可以用这款游戏开发练手锻炼自己的 ...

  4. java课设小迷宫含代码_Java小项目之迷宫游戏的实现方法

    项目要求: 一个网格迷宫由n行n列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示),你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格.任何时候都不能在有 ...

  5. 一、零基础入门微信小程序开发之创建项目工程同时完成引导页开发

    前言 创建这个系列博客的原因是因为最近在加深微信小程序的学习,按照我之前的学习习惯是不喜欢记录的,加上自己有拖延症就更不太愿意做这件事情了,同时我要给学生上课,但总是缺少教材所以就开了这个系列的博客, ...

  6. 迅速学java——100条小知识点快速入门

    1.首先java是一种高级语言是一个面向对象的编程语言同时最重要的是它的可移植性. 2.java语言的产生及发展历史,由James Gosling领导的小组在Sun公司开发,发展主要用于开发可嵌入家电 ...

  7. java写的小游戏打砖块_java实现打砖块小游戏

    本文实例为大家分享了java实现打砖块小游戏的具体代码,供大家参考,具体内容如下 源码共包含两个文件 文件1:play_zhuankuai.java import java.awt.*; import ...

  8. python入门简单小程序

    name=input("Name:") age=input("Age:") hometown=input("Hometown:")info= ...

  9. java一个简单小算法,求随机帽子价格去重排序

    度度熊想去商场买一顶帽子,商场里有 N 顶帽子,有些帽子的价格可能相同.度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少? 输入描述: 首先输入一个正整数 N(N <= 50),接下 ...

  10. Java实现简单井字棋(OX游戏)V2.0

    简介 还是承接着上次的OX游戏,这次老师提的要求奇奇怪怪的,说实话真的挺费解的,但多读几遍以后要抓住几个关键点,"左上角"."绘制".看刚好学了paint嘛,所 ...

最新文章

  1. python将输出结果写入csv,在Python中将彩色输出写入CSV文件
  2. hbase原理与实践_HBase 性能调优第一弹:内存篇
  3. php定义一个名为Vehicles,php的扩展和嵌入--c++类的扩展开发
  4. 在24小时内学完所有的数学是种什么体验?我们做了这个大胆的尝试……
  5. 100个灯泡python编程_算法题:一个圆环上有100个灯泡,灯泡有打...
  6. centos 卸载docker_五分钟安装docker并启动第一个docker容器
  7. paip.c#.net未能找到任何资源
  8. BZOJ2525: [Poi2011]Dynamite
  9. 世界robocode机器人的四大运动方式分析
  10. 详解使用SSH远程连接Ubuntu服务器系统
  11. 微信永久封禁:从入门到精通
  12. html花瓣特效代码,网页上漂浮的花瓣
  13. java实现银行卡卡号 Luhm 校验算法
  14. 证明:在N维欧式空间中,两两互成钝角的非零向量不多于N+1个
  15. RTX 30系列性能≥2倍图灵GPU!AI算力前瞻,性价比超泰坦
  16. 3D建模软件大总结,你都知道哪些?
  17. 复旦大学计算机科学与技术分数,2015年复旦大学计算机科学与技术考研复试分数线是320分...
  18. java8—streamAPI(四)
  19. [渝粤教育] 天水师范学院 无机及分析化学 参考 资料
  20. 笔记本wifi模块消失问题解决方法(win10,当你使用校园网客户端时)

热门文章

  1. selenium-js
  2. Python return语句 函数返回值
  3. 不常用,但热门的IOS第三方库(转)
  4. C语言练习:第二大整数
  5. 【ASP.NET Web API教程】6.1 媒体格式化器
  6. ms sqlserver对象、所属用户、所属架构、登陆用户、同义词
  7. easyui刷新当前选项卡tabs
  8. mysql中order by的原理
  9. CSS控制显示超出部分,用省略号显示
  10. web3.eth.estimateGas