一个很奇怪的问题

一个很奇怪的问题

我的程序写到添加分类和分类列表展示了,运行时添加分类功能和页面分类列表展示也都正常,没有任何报错,但数据库中始终没有存入数据,程序重启后所有添加都清零,不知什么原因。是不是实体类中createName和updateName的类型不正确呢,我用的是java.util.Date型。请老师分析一下,谢谢!

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,如果程序逻辑复杂,需要判断后提交,这时需要使用手动提交事务,如果判断成功则提交事务,判断失败则回滚事务。这里要获取sqlSession对象,调用commit方法。

建议同学继续向后学习,在第四阶段,将会讲到事务管理,如:

http://img1.sycdn.imooc.com//climg/5dfc324c097641e302950252.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

好帮手慕阿满 2019-12-19 12:46:15

同学你好,如果这里不加true,需要在service层手动的开启事务,执行结束后,手动的提交事务。比起在这里设置为true会比较复杂,建议同学在这里设置为true,自动提交事务即可。

祝:学习愉快~

  • 提问者 慕沐8221787 #1
    如果程序逻辑复杂,需要判断后再决定是否提交,那怎么办?另外,手动提交事务是不是一定要获取SqlSession对象,通过该对象调用commit方法?
    2019-12-19 20:43:51
好帮手慕阿满 2019-12-18 18:01:52

同学你好,同学数据库中没有数据,但是分类列表显示正常是吗?可能同学添加的分类信息没有添加到数据库中。问一下同学添加分类的代码是怎么写,有调用添加分类信息到数据库的方法吗?建议同学将添加分类的代码和项目结构截图贴一下。

另外如果没有添加到数据库中,重启项目之后数据会清零的。

祝:学习愉快~

  • 提问者 慕沐8221787 #1
    找到原因了,这句代码(return sqlSessionFactory.openSession(true).getMapper(tClass); }),其中的true忘了。又有了一个新的问题,如果这里不加true,还有什么其他办法提交事务吗?
    2019-12-18 20:44:52
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师