SSM Mybatis将新增数据写入数据库时出现的500状态码:Error updating database.的可能...
关于maven下ssm整合的项目推荐这篇博客:https://www.cnblogs.com/yiye/p/5969157.html
今日在ssm下的将新增数据写回数据库时遇到不少的问题,现作记录
如果只是简单地使用Mybatis的话,具体的流程如下:
创建配置文件——>根据配置文件来生成会话工厂——>通过工厂来生成会话——>通过会话操作数据库!
具体可以参考这里:http://how2j.cn/k/mybatis/mybatis-crud/1088.html#nowhere
我理解就是如下图的三个步骤
好了,说了上面的废话其实是想说,在ssm中,操作数据库也是要配置sessionFactory的,只是不再像上图那样,而是在mybatis的配置文件(或者spring的相关配置文件)中完成,如下图:
如果没整合过的,可以先看:https://www.cnblogs.com/yiye/p/5969157.html
回归问题上来,在插入数据库时出现500的状态码错误!!!
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',,,)' at line 1 ### The error may involve com.example.edu.mapper.UserMapper.insert-Inline ### The error occurred while setting parameters ### SQL: insert into t_user (username,password,birthday,gender) values (,,,) ### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',,,)' at line 1 根据提示,是说SQL语法错误?然后,我发现自己瞎了,参考的视频是这样的(注意红色框内)
没错,我以为红色框内的字段是用单引号引起来的,然后我的SQL语句中就都用单引号引起来了!!!谁知道ta用的是 ` 这个点????? 所以最后的SQL语句应该是
<insert id="insert" parameterType="User" useGeneratedKeys="true" keyProperty="id">insert into t_user (`username`,`password`,`birthday`,`gender`) values (#{username},#{password},#{birthday},#{gender})</insert>
或者是(去掉那个点)
<insert id="insert" parameterType="User" useGeneratedKeys="true" keyProperty="id">insert into t_user (username,password,birthday,gender) values (#{username},#{password},#{birthday},#{gender})</insert>
然后还遇到了一个这样的问题
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'Karen' in 'field list' ### The error may involve com.example.edu.mapper.UserMapper.insert-Inline ### The error occurred while setting parameters ### SQL: insert into t_user (username,password,birthday,gender) values (Karen,kl,19990912,female) ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'Karen' in 'field list'
原因是我的sql语句中的#全用了 $,就是下面这样的,是错的,是错的!
<insert id="insert" parameterType="User" useGeneratedKeys="true" keyProperty="id">insert into t_user (username,password,birthday,gender) values (${username},${password},${birthday},${gender})</insert>
引入了一个 关于 # 和 $ 的区别好吧我不知道什么鬼,看这篇博客吧:https://www.cnblogs.com/kangyun/p/5881531.html 后续:这也是我第一次玩ssm,刚开始有以为也要想单一使用mybatis那样,要创建具体的会话工厂来操作数据库,要commit和close,后来才知道在xml中直接配置就行了,果然niubi上面那个#和$的错误其实是看了一篇错的博客导致的,不过,也是因为那篇博客才让我去关注到这个问题,虽然现在还不是很理解
转载于:https://www.cnblogs.com/Guhongying/p/10692749.html
SSM Mybatis将新增数据写入数据库时出现的500状态码:Error updating database.的可能...相关推荐
- 【mysql基础知识】解决java写入数据库时中文乱码的问题
一.保证编程工具的编码格式正常 我用的IDEA,根据之前写的一篇博文(https://blog.csdn.net/qq_42152399/article/details/80995244),将IDEA ...
- uni-app利用uniCloud获取微信步数并将数据写入数据库
uni-app利用uniCloud获取微信步数并将数据写入数据库 本项目依赖了uni-id 只是毕业设计,想法不完善,没有对用户授权失败做处理,如果编写的时候需要注意 第一步:调用wx.login() ...
- 将json文件里面的数据写入数据库
{"title_": "需要电脑/招视频剪辑学徒>18岁", "area_": " 不限区域", "vi ...
- 将数据写入数据库:打开数据库,建库建表,通过php访问后台服务器(连接服务器(三种),选择数据库,设置字符集:防止数据乱码),通过php对数据库进行:增,删,改,查,操作
前端表单设计以后,需要把数据写入数据库 将数据写入数据库: 如果涉及php.sql,wamp服务器必须打开 wamp里面有一个专门,图形化的移动窗口: ...
- python将EXCEL数据导入数据库时日期型数据变成数字并加.0的问题一行代码解决方案方案
[问题描述]:python将EXCEL数据导入数据库时日期变成文本型数据并显示为数字格式 [解决方案] 数据源: codes: #!/usr/bin/python3 -- coding: utf-8 ...
- 根据现有的API接口将获取JSON数据写入数据库
根据现有的API接口将获取JSON数据写入数据库 利用API将获取数据存入数据库 获取API的URl 的原则 例如网址API的网址为:https://wuliang.art/ncov/doc.html ...
- 运行mybatis时显示报错:Error updating database. Cause: java.sql.SQLException: Error setting driver on
在运行mybatis测试类的时候,结果报错; Error updating database. Cause: java.sql.SQLException: Error setting driver o ...
- 设置maxJsonLength,解决ajax通过POST方式调用.net的webService时,数据过长时服务器返回500错误的问题
设置maxJsonLength,解决ajax通过POST方式调用.net的webService时,数据过长时服务器返回500错误的问题 参考文章: (1)设置maxJsonLength,解决ajax通 ...
- layui表格展示数据时:返回的数据不符合规范,正确的成功状态码应为:code: 0
1.今天,用django和layui结合,处理表格展示数据时,有数据的表格能正常显示列表,无数据的表格却提示了:返回的数据不符合规范,正确的成功状态码应为:"code": 0,于是 ...
最新文章
- 企业OKR实施失败一定要小心这三大杀手
- tomcat通过conf-Catalina-localhost目录发布项目详解
- ButterKnife--View注入框架
- 从docker 中抓取jvm heap 信息, 并且分析
- 可以获取python整数类型帮助的是什么-下列选项中可以获取Python整数类型帮助的是...
- java 覆盖和隐藏_Java覆盖和隐藏2
- hashmap为什么用红黑树_全网最全,面试常问的HashMap知识点
- 从 Spark Streaming 到 Apache Flink : 实时数据流在爱奇艺的演进
- 运用贪心思想解决跳跃游戏
- 传输层的TCP和UDP
- 数据库 数据库SQL语句五
- 201671030111 李蓉 实验十四 团队项目评审课程学习总结
- python之slice,range
- 【优化选址】基于matlab禁忌搜索算法求解基站选址优化问题【含Matlab源码 440期】
- Java基本数据类型自动转换规则
- 一步一步理解欧拉公式
- 哈工大硕士生用 Python 实现了 11 种经典数据降维算法,源代码库已开放
- 基于 Transformer 模型的电影评论情感分类
- Python爬虫实现无api版本各国汇率实时兑换(美元、英镑等)
- Linux:库函数:libc: glibc
热门文章
- 阿尔及利亚COC认证申请办理
- vue-resource使用 (vue仿百度搜索)
- 英语常用俚语和习惯用语索引
- future java fork_将Java Future转换为CompletableFuture
- Android 无法识别真机
- javacv和FFmpeg实现视频播放器的制作,和视音同步操作;
- 【Rust 日报】2021-07-04 如何在面试中确定 Rust 程序员水平?
- 如何设置谷歌浏览器默认搜索引擎为百度
- 微信小程序如何本地测试太阳码(二维码)分享功能(参数接收调试)
- 删前看 | 震惊!淘宝双十一的惊人内幕!