1. 在JDBC使用的时候有时候会出现java.sql.SQLException: The server time zone value ‘???ú±ê×??±??’ is unrecognized or represents…的错误,具体错误如下:
注: 出现这个的原因是因为 mysql返回的时间总是有问题,比实际时间要早8小时。

解决办法:1.在url后面加useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false2.url="jdbc:mysql://localhost:3306/library?serverTimezone=UTC"

注: 还有一种可能就是:在xml配置文件中,url中的&符号需要转义成 &

"jdbc:mysql://localhost:3306/how2java?useSSL=false&serverTimezone=GMT%2B8&allowMultiQueries=true"
package edu.gdut.imis.library.common;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.ArrayList;
import java.util.List;import edu.gdut.imis.library.entity.BookModel;public class DBConnector {public static Connection getConn() throws SQLException {String url="jdbc:mysql://localhost:3306/library?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";String user="root";String password="123456";try {Class.forName("com.mysql.cj.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();}Connection conn=DriverManager.getConnection(url, user, password);return conn;}public List<BookModel> findAll() {Connection conn=null;Statement stmt=null;List<BookModel>list=new ArrayList<BookModel>();BookModel bm=null;try {conn =this.getConn();String sql="SELECT* FROM book";stmt=conn.createStatement();ResultSet rs=stmt.executeQuery(sql);while(rs.next()) {bm=new BookModel();bm.setIsbn(rs.getString(1));bm.setName(rs.getString(2));bm.setAuthor(rs.getString(3));bm.setPrice(rs.getFloat(4));list.add(bm);}} catch (SQLException e) {System.out.println("数据库加载失败!");e.printStackTrace();}finally {try {stmt.close();conn.close();} catch (SQLException e) {System.out.println("数据库加载失败!2");e.printStackTrace();}}return list;}
public static void main(String[]args) {DBConnector db=new DBConnector();System.out.println("book表");List<BookModel>list=db.findAll();String isbn=list.get(0).getIsbn();System.out.println(isbn);if(list.size()==0)System.out.println("没有数据");System.out.println("youshuju");
}}

注:当在mybatis中解决时差问题用:

<property name="url" value="jdbc:mysql://localhost:3306/how2java?useSSL=false&amp;serverTimezone=GMT%2B8"/>

2.出现Unknown column ‘xxx’ in 'where clause’问题
这是因为该列的值为中文时,筛选条件要加单引号‘’

String sql="SELECT* FROM product WHERE code="+codename+" OR name="+codename+";";
即code是整型的数字,不用单引号;而name是字符串类型的,必须要包含在单引号内,修改如下:
String sql="SELECT* FROM product WHERE code="+codename+" OR name='"+codename+"';";

3.Tomcat出现“Servlet execution threw an exception threw NamingException”
可能是没有找到配置文件
在Tomcat: apache-tomcat-9.0.16\conf\Catalina\localhost在这个文件夹下面新建配置xml文件

JDBC连接MySQL数据库出现的错误及解决方法整理相关推荐

  1. navicat for mysql 1045错误,navicat连接mysql时出现1045错误的解决方法

    navicat连接mysql时出现1045错误的解决方法 navicat for MySQL 连接本地数据库出现1045错误 如下图: 查了很多资料,意思是说mysql没有授权远程连接,也就是权限不够 ...

  2. mysql数据库报1205错误的解决方法

    mysql数据库报1205错误的解决方法 解决办法 解决办法 查看数据库的进程表 show full processlist; 查看事物表 select* from information_schem ...

  3. nodejs连接mysql报connect ECONNREFUSED错误的解决方法

    通过AMH面板安装的mysql,用nodejs连接mysql时候结果报[connect ECONNREFUSED]连接错误. 解决方法:添加socketPath 有些mysql 安装的时候不是mysq ...

  4. 使用navicat连接mysql出现提示10038错误的解决方法

    可能是mysql没有启动,以管理员身份运行cmd,输入net start mysql 启动mysql,然后再去使用navicat连接mysql

  5. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  6. java mysql教程基于_java基于jdbc连接mysql数据库功能实例详解

    本文实例讲述了java基于jdbc连接mysql数据库的方法.分享给大家供大家参考,具体如下: 一.JDBC简介 Java 数据库连接,(Java Database Connectivity,简称JD ...

  7. 在java中使用JDBC连接mysql数据库时的服务器时区值无法识别或表示多个时区的问题解决方案

    项目场景: 在java中使用JDBC连接mysql数据库时,报以下的错:Exception in thread "main" java.sql.SQLException: The ...

  8. JDBC连接MySQL数据库,访问数据库信息完成登录功能——保姆级详细教程(附所有java和jsp源代码)

    目录 前言 JDBC的介绍 通过JDBC连接MySQL数据库 导入mysql驱动 连接数据库 连接数据库 判断连接是否成功 使用数据库实现登录 获取前端表单的用户输入 判断用户名和密码为空 查询表 判 ...

  9. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  10. JAVA-数据库之JDBC连接MySQL数据库

    相关资料: <21天学通Java Web开发> JDBC连接MySQL数据库 1.如果需要通过JDBC来连接MySQL数据库,还必须先在MySQL数据库服务器中创建数据库和表. Conne ...

最新文章

  1. C语言如何编写游戏界面,「分享」C语言如何编写图形界面
  2. 使用 Termux 查看连接到手机热点的ip地址
  3. java 字符转化字符串_【转载】java字符串的各种编码转换
  4. joomla建站-双语CMS系统开发的实现
  5. idea中git提交代码更改作者名字(亲测)
  6. 设计模式之单例模式(C++代码实现)
  7. bootstrap获取弹框数据_Bootstrap模态弹出框的实例教程
  8. 前端页面:一直报Cannot set property 'height' of undefined
  9. android sharedpre,android 数据存储一SharedPrenference存储简单数据
  10. Android之使用枚举利弊及替代方案
  11. 博弈论 斯坦福game theory stanford week 2.1_
  12. php设计模式实战之--观察者模式
  13. Windows+Python3.7下自动生成requirements.txt文件
  14. 我,开了五年快递站,现在还没回本
  15. 大唐凌烟阁开国廿四将
  16. 一种无法用言语表达的爱——父爱
  17. 警告:Named Route ‘Main‘ has a default child route. When navigating to this named route
  18. nginx与react配合二级路由
  19. python 采用to_csv保存数据不覆盖原有数据到文件中
  20. 有一种努力叫:靠自己

热门文章

  1. 数字信号处理考试要点
  2. 用python做youtube自动化下载器 代码
  3. 怎么从零开始自己做网站?
  4. 智能家居设计原理c语言,基于STM32的小型智能家居系统设计
  5. 如何改变证件照大小?三步搞定
  6. iqooneo5桌面原子组件教程分享
  7. kasp技术原理_KASP基因分型
  8. 双击桌面计算机打不开硬盘,双击硬盘盘符打不开只能右键打开的解决方法 -电脑资料...
  9. oracle分区详解
  10. C++读取图片二进制数据并保存