Mybatis配置insert时,插入数据失败
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,错误代码如下:@Test public void testInsertOne(){ SqlSession sqlSession = MyBatisUtils.getSession(
千家信息网最后更新 2025年01月24日Mybatis配置insert时,插入数据失败
错误代码如下:
@Test public void testInsertOne(){ SqlSession sqlSession = MyBatisUtils.getSession(); UserInfo userInfo = new UserInfo(); userInfo.setNickname("sunny"); userInfo.setPhoneNum("18936896033"); sqlSession.insert("insertUser", userInfo); LOG.log(Level.INFO, "userId:"+userInfo.getId()); sqlSession.close(); }
原因是会话没有被提交而是被回滚了,修改代码如下:
@Test public void testInsertOne(){ SqlSession sqlSession = MyBatisUtils.getSession(); UserInfo userInfo = new UserInfo(); userInfo.setNickname("sunny"); userInfo.setPhoneNum("18936896033"); sqlSession.insert("insertUser", userInfo); sqlSession.commit(); //注意提交事物 LOG.log(Level.INFO, "userId:"+userInfo.getId()); sqlSession.close(); }
源码解读:首先看看openSession的几种方式:
SqlSession openSession()SqlSession openSession(boolean autoCommit)SqlSession openSession(Connection connection)SqlSession openSession(TransactionIsolationLevel level)SqlSession openSession(ExecutorType execType,TransactionIsolationLevel level)SqlSession openSession(ExecutorType execType)SqlSession openSession(ExecutorType execType, boolean autoCommit)SqlSession openSession(ExecutorType execType, Connection connection)
从地一个和第二个就可看出区别:
openSession()会创建一个事物,但是不会自动提交
openSession(true)会创建一个事物,并自动提交
openSession(Connection connection),不使用数据元配置,而是自定义的一个链接
openSession(TransactionIsolationLevel level)事物的隔离级别:
(NONE,READ_UNCOMMITTED,READ_COMMITTED,REPEA TABLE_READ,SERIALIZA BLE)
openSession(ExecutorType execType):
ExecutorType.SIMPLE: 这个执行器类型不做特殊的事情。它为每个语句的执行创建一个新的预处理语句。
ExecutorType.REUSE: 这个执行器类型会复用预处理语句。
ExecutorType.BATCH: 这个执行器会批量执行所有更新语句,如果 SELECT 在它们中间执行还会标定它们是 必须的,来保证一个简单并易于理解的行为。
事物
语句
执行器
代码
会创
类型
而是
预处理
数据
特殊
事情
会标
元配
原因
方式
源码
级别
行为
链接
错误
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
倩趣网络技术
网络安全云服务
服务器是否开启硬盘的缓存
日照港公安局网络安全
充电桩网络数据库
网络安全转债股有哪些
我国最新网络技术
大话3服务器名
ap认证软件开发前景
信息网络安全检查工作总结
企业用的数据库
轻量应用服务器音频
数据库会自动保存回车吗
配件数据库
新兴的软件开发
dn服务器异常怎么解决
教师网络安全讲话
网络安全饮食
pgadmin数据库教程
乐学帮网络技术有限公司电话
家长网络安全宣传课件
计算机软件开发规范2007
网络安全宣传知识竞赛标题
微信朋友圈自动转发软件开发
数据库系统概论第三章上机
网络技术专业职业英语对话
软件开发如何物联网创业
棋牌软件开发学校
网络安全产品市场推广计划
服务器光纤口都不亮