严重: Servlet.service() for servlet jsp threw exception,大神求解啊

严重: Servlet.service() for servlet jsp threw exception,大神求解啊,第1张

HQL拼写有问题

org.hibernate.hql.ast.QuerySyntaxException: expecting IDENT, found '2' near line 1, column 50 [from com.online.doc.domain.DocInfo where STATUS=:2]

HQL映射出现了错误

STATUS=:2

这里的问题,2你再检查一下,如果是数据,不用带冒号(:),如果是变量,设置一个新的名称,例如STATUS=:status

然后在Query里面进行设置

具体类型不知,估计这两个足够了,建设Query q = ......

q.setString("status","2")

q.setInt("status",2)

看看你的类型是什么吧

MySQL 服务没有启动,一般是在异常的情况下 MySQL 无法启动导致的,比如无可用的磁盘空间,my.ini 里 MySQL 的 basedir 路径设置错误等;

解决方法,一、在C:\WINDOWS\my.ini 删除该文件, 修改里面的文件路径(如果没有该文件,则新建一个),至少包含basedir,datadir这两个基本的配置(或者直接复制mysql安装文件的mysql server目录下的my.ini文件,修改basedir,datadir这两个基本的配置)。

[mysqld]

# set basedir to installation path, e.g., c:/mysql

# 设置为MYSQL的安装目录

basedir=D:/www/WebServer/MySQL

# set datadir to location of data directory,

# e.g., c:/mysql/data

# 设置为MYSQL的数据目录

datadir=D:/www/WebServer/MySQL/data

另外,要注意:

[WinMySQLadmin]

Server=D:/www/WebServer/MySQL/bin/mysqld-nt.exe

user=root

password=xxxxxxxx

#以上是设置WinMySQLadmin的配置

[Client]

user=root

password=xxxxxxxx

如果还是不行的话:MySQL Server Instance Config Wizard,在进行安装下mysql服务。。。。。。。。。。。。。

1.停止mysql服务:

右键点击“我的电脑”图标,出现右键菜单后左键点击“管理”。d出“电脑管理”对话框后,左键点击“服务与程序”,接着点击“服务”,最后找到mysql服务并将其关闭。

2.进入控制面板,点击卸载程序,进入卸载程序对话框后卸载mysql。

3.组合键W+R进入运行,输入“regedit”,查看下面  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 的键值,将mysql键值(mysql、mysqladmin)删掉 。

4.重启系统。

5.再次安装mysql程序。

flask中向mysql中数据 *** 作会出现字符集的问题,比如创建数据模型:db.create_all()时,控制台会出现warring 1366 的字符集警告,是这样的:

这个异常是mysql问题,而非python的问题,这是因为mysql的字段类型是utf-xxx, 而在mysql中这些utf-8数据类型只能存储最多三个字节的字符,而存不了包含四个字节的字符。

解决方法:

修改mysql数据表的字段类型为utf8mb4,只有在mysql5.5之后可以支持。

在flask配置中设置字符集:

SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/test?charset=utf8"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7458963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存