1.The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must...

原因: 使用了Mysql Connector/J 6.x以上的版本,然后就报了时区的错误
解决办法: 在配置url的时候不能简单写成 :
jdbc:mysql://localhost:3306/jsp_text
而是要写成 :
jdbc:mysql://localhost:3306/jsp_text?serverTimezone=UTC

2. java.sql.SQLException: No value specified for parameter 1(多人多义,非唯一)
-->

原因: 本人所用的数据库id并没有设置其主键自增功能,导致不能单传其他两个属性

    String sql_insert="";
PreparedStatement pst=conn.prepareStatement("insert into user(title,content) values(?,?)");
pst.setString(1, request.getParameter("title"));
    pst.setString(2, request.getParameter("content"));

解决办法:在mysql数据库中设置此语句将id更改为自增,或者设置属性时选择“AI”(但是下方的auto increase框不能点)

ALTER TABLE `jsp`.`user`
CHANGE COLUMN `id` `id` int NOT NULL AUTO_INCREMENT ;

3. Mysql错误1452 - Cannot add or update a child row: a foreign key constraint fails 原因及解决方法

原因:设置的外键与另一个表中的唯一索引列(一般是主键)中的值不匹配
办法:删除要成为外键的列,再次创建并默认为NULL

坑点:想了半天,明明外键Spno都是NULL,怎么就一直还报这个错,后来才发现,我往NULL加了引号!!!逐渐失去耐心。。。

正解参考:

insert
into course
values('1', '数据库', NULL, 4);

4.  Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1

原因:数据库的编码格式为latin1 而我要将utf8的中文插入到数据库中。

办法:

查看数据表的编码:

 show create table Student; 

修改表的编码方式:

alter table Student default character set utf8;

(该命令用于将表Student的编码方式改为utf8)

修改字段的编码方式:

 alter table Student change Sname Sname varchar(20) character set utf8;

该命令用于将表Student中Sname字段的编码方式改为utf8

坑点:修改字段时注意Sname Sname(与前面字段名称一致)  verchar(20)(必须是在表中定义该字段时的格式)

正解参考:

alter table student default character set utf8;
alter table sc default character set utf8;
alter table course default character set utf8; /*修改字段*/
alter table student change Sname Sname char(20) character set utf8;
alter table student change Ssex Ssex char(1) character set utf8;

5. Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE tha

原因:mysql在执行删除更新语句时报这种错误,是因为在mysql在safe-updates模式中,如果你where后跟的条件不是主键id,那么就会出现这种错误

解决方法:

1、SET SQL_SAFE_UPDATES = 0;执行该命令更改mysql数据库模式。
2、在where判断条件中跟上主键id    例如:delete from firstmysqldatabase.user where UserName='zhangsan' and ID>=0;

 

6. 怎样解决jsp:include标签在包括html文件时遇到的乱码问题

原因:当jsp在include的时候,被include的内容使用何种编码是由被include页面自身决定的,而决定方式是通过<%@ page lanage="java" pageEncoding="UTF-8" contentType="text/html;UTF-8" %>这种指令来决定的,而html页面中并没有这种指令。

解决方法:

第一种办法:就是不要include html页面,改成include jsp页面

第二种办法:在web.xml中通过配置来告诉web应用,全部html文件输出时都採用UTF-8的编码,配置内容例如以下:

<jsp-config>

<jsp-property-group>

<url-pattern>*.html</url-pattern>

<page-encoding>UTF-8</page-encoding>

</jsp-property-group>

</jsp-config>

7. JavaBean找不到属性值

原因:以为是包路径导错了研究很久,实际是因为JavaBean中对class的属性有规范

在 .class中定义的属性名必须首字母是小写

重点来了,因为老师让我们用名字缩写为前缀,所以忽略了set/ get方法的规范!!!!(谢谢老师让我重新复习)

解决方法:

正解是这样: 例如属性名为zyddd,则正确的set方法名是:setZyddd(即set后面是你定义的属性名且首字母一定要大写)

当jsp文件引用时:

<jsp:useBean id="h" class="test.testbean" scope="page"/>

<jsp:getProperty name="h" property="test"/>

此时javabean映射了getTest方法 返回了Test属性

完成~

8.连接数据库,查询条件为汉字,查询无结果解决办法

开始我直接写好了一个普通查询,一个模糊查询,发现模糊查询数字是可以的,然后查询中文,不出数据,代码也不报错

原因:在mysql数据连接的时候需要指定字符集

解决办法:该问题为编码问题,需要进行参数转码,设置连接为:

  url="jdbc:mysql://localhost:3306/db_pos?useUnicode=true&characterEncoding=utf8"

9. jsp中session.getAttribute()取值为空

经过测试session中的值是可以保存的,这种问题一般就检查下取值的时候是否对象不匹配导致的。

解决办法:

看看有没有调用这句:session.removeAttribute("sessionid");如果调用了就是取消掉了所赋的值,所以会null

response.sendRedirect("forward.jsp");
因为用的是重定向,
重定向是不共享session中的数据的,所以在下一个页面是获取不到session中的东西的。

而 request.getRequestDispatcher("forward.jsp").forward(request, response);
是转向,
转向是共享session中的数据,因此这种方式是可以获取到session中的数据的。

jdbc+mysql常见报错总结的更多相关文章

  1. Mysql常见报错解决方法

    一:登录报错 ERROR 1045 (28000): Access denied for user 'mysql'@'localhost' (using password: NO) mysql日志文件 ...

  2. MySQL常见报错汇总

    1>.ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it canno ...

  3. Mysql 常见报错和疑问汇总

    1.初始化数据库的时候报错 error while loading shared libraries: libstdc++.so.5: cannot open shared object file:  ...

  4. Django 连接 MySQL 数据库及常见报错解决

    目录 Django 连接 MySQL数据库及常见报错解决 终端或者数据库管理工具连接 MySQL ,并新建项目所需数据库 安装访问 MySQL 的 Python 模块 Django 相关配置 可能会遇 ...

  5. web报表工具FineReport使用中遇到的常见报错及解决办法(二)

    web报表工具FineReport使用中遇到的常见报错及解决办法(二) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘 ...

  6. java常见报错及解决

    Java常见报错信息: Java 常见异常种类 Java Exception: 1.Error  2.Runtime Exception 运行时异常 3.Exception  4.throw 用户自定 ...

  7. HDFS集群常见报错汇总

    HDFS集群常见报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DataXceiver error processing WRITE_BLOCK operation 报 ...

  8. 03:git常见报错解决方法

    1.1 git常见报错解决方法 1.warning: LF will be replaced by CRLF in .idea/workspace.xml. 参考博客:https://www.cnbl ...

  9. JavaScript 调试常见报错以及原因

    JavaScript 调试常见报错以及原因 测试环境 chrome 版本 66.0.3359.170(正式版本) (64 位) TypeError 类型错误 不是操作符所接受的数据类型. //---- ...

随机推荐

  1. tcmalloc安装

    环境是centos 6 (64位) yum list libunwind-devel  (epel 源) wget https://gperftools.googlecode.com/files/gp ...

  2. SpringBoot注解分析

    Spring boot 简介:是spring社区发布的一个开源项目,旨在帮助开发者更快更简单的构建项目,使用习惯优于配置,的理念让你的项目快速的跑起来,使用springboot可以不用,或者很少的配置 ...

  3. java遇到的error解决

    解决Cannot change version of project facet Dynamic web module to 2.5 maven 不能设置为web3.0人解决方法 http://www ...

  4. 还不会K8S吗?先从kubeadm开始吧

    目录 1. 准备工作 1.1 机器准备 1.2 系统配置 1.2.1 主机名及域名解析 1.2.2 免密登录 1.2.3 配置yum源 1.2.4 安装必要依赖包 1.2.5 关闭防火墙.SELinu ...

  5. python 串口 透传

    python正常情况通过串口 serial  传输数据的时候,都是以字符串的形式发送的 str = ‘abcd’ ser.write(str.encode())#直接发送str报错,需要发送byte类 ...

  6. ECharts使用教程

    引入 ECharts ECharts 3 开始不再强制使用 AMD 的方式按需引入,代码里也不再内置 AMD 加载器.因此引入方式简单了很多,只需要像普通的 JavaScript 库一样用 scrip ...

  7. getcomputedstyle和style的区别

    1.只读与可写getComputedStyle方法是只读的,只能获取样式,不能设置:而element.style能读能写,能屈能伸.2.获取的对象范围getComputedStyle方法获取的是最终应 ...

  8. Java线程的启动与中止

    一.线程与进程的关系 关于进程与线程,百度百科上是这样描述的: 进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础. 在当 ...

  9. 用pandas处理数据遇到的坑

    1.使用pandas.read_csv(filePath)方法来读取csv文件时,可能会出现这种错误:ParserError:Error tokenizing data.C error:Expecte ...

  10. 是时候扔掉cmder, 换上Windows Terminal

    作为一个Windows的长期用户,一直没有给款好用的终端,知道遇到了 cmder,它拯救一个习惯用Windows敲shell命令的人. 不用跟我安利macOS真香!公司上班一直用macOS,一方面确实 ...