关于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.的可能...相关推荐

  1. 【mysql基础知识】解决java写入数据库时中文乱码的问题

    一.保证编程工具的编码格式正常 我用的IDEA,根据之前写的一篇博文(https://blog.csdn.net/qq_42152399/article/details/80995244),将IDEA ...

  2. uni-app利用uniCloud获取微信步数并将数据写入数据库

    uni-app利用uniCloud获取微信步数并将数据写入数据库 本项目依赖了uni-id 只是毕业设计,想法不完善,没有对用户授权失败做处理,如果编写的时候需要注意 第一步:调用wx.login() ...

  3. 将json文件里面的数据写入数据库

    {"title_": "需要电脑/招视频剪辑学徒>18岁", "area_": " 不限区域", "vi ...

  4. 将数据写入数据库:打开数据库,建库建表,通过php访问后台服务器(连接服务器(三种),选择数据库,设置字符集:防止数据乱码),通过php对数据库进行:增,删,改,查,操作

    前端表单设计以后,需要把数据写入数据库 将数据写入数据库:         如果涉及php.sql,wamp服务器必须打开         wamp里面有一个专门,图形化的移动窗口:          ...

  5. python将EXCEL数据导入数据库时日期型数据变成数字并加.0的问题一行代码解决方案方案

    [问题描述]:python将EXCEL数据导入数据库时日期变成文本型数据并显示为数字格式 [解决方案] 数据源: codes: #!/usr/bin/python3 -- coding: utf-8 ...

  6. 根据现有的API接口将获取JSON数据写入数据库

    根据现有的API接口将获取JSON数据写入数据库 利用API将获取数据存入数据库 获取API的URl 的原则 例如网址API的网址为:https://wuliang.art/ncov/doc.html ...

  7. 运行mybatis时显示报错:Error updating database. Cause: java.sql.SQLException: Error setting driver on

    在运行mybatis测试类的时候,结果报错; Error updating database. Cause: java.sql.SQLException: Error setting driver o ...

  8. 设置maxJsonLength,解决ajax通过POST方式调用.net的webService时,数据过长时服务器返回500错误的问题

    设置maxJsonLength,解决ajax通过POST方式调用.net的webService时,数据过长时服务器返回500错误的问题 参考文章: (1)设置maxJsonLength,解决ajax通 ...

  9. layui表格展示数据时:返回的数据不符合规范,正确的成功状态码应为:code: 0

    1.今天,用django和layui结合,处理表格展示数据时,有数据的表格能正常显示列表,无数据的表格却提示了:返回的数据不符合规范,正确的成功状态码应为:"code": 0,于是 ...

最新文章

  1. 企业OKR实施失败一定要小心这三大杀手
  2. tomcat通过conf-Catalina-localhost目录发布项目详解
  3. ButterKnife--View注入框架
  4. 从docker 中抓取jvm heap 信息, 并且分析
  5. 可以获取python整数类型帮助的是什么-下列选项中可以获取Python整数类型帮助的是...
  6. java 覆盖和隐藏_Java覆盖和隐藏2
  7. hashmap为什么用红黑树_全网最全,面试常问的HashMap知识点
  8. 从 Spark Streaming 到 Apache Flink : 实时数据流在爱奇艺的演进
  9. 运用贪心思想解决跳跃游戏
  10. 传输层的TCP和UDP
  11. 数据库 数据库SQL语句五
  12. 201671030111 李蓉 实验十四 团队项目评审课程学习总结
  13. python之slice,range
  14. 【优化选址】基于matlab禁忌搜索算法求解基站选址优化问题【含Matlab源码 440期】
  15. Java基本数据类型自动转换规则
  16. 一步一步理解欧拉公式
  17. 哈工大硕士生用 Python 实现了 11 种经典数据降维算法,源代码库已开放
  18. 基于 Transformer 模型的电影评论情感分类
  19. Python爬虫实现无api版本各国汇率实时兑换(美元、英镑等)
  20. Linux:库函数:libc: glibc

热门文章

  1. 阿尔及利亚COC认证申请办理
  2. vue-resource使用 (vue仿百度搜索)
  3. 英语常用俚语和习惯用语索引
  4. future java fork_将Java Future转换为CompletableFuture
  5. Android 无法识别真机
  6. javacv和FFmpeg实现视频播放器的制作,和视音同步操作;
  7. 【Rust 日报】2021-07-04 如何在面试中确定 Rust 程序员水平?
  8. 如何设置谷歌浏览器默认搜索引擎为百度
  9. 微信小程序如何本地测试太阳码(二维码)分享功能(参数接收调试)
  10. 删前看 | 震惊!淘宝双十一的惊人内幕!