首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我执行了dao层的mybatis update方法,但数据库没有更新

在这个问题中,你执行了DAO层的MyBatis的update方法,但是数据库没有更新。这可能是由于以下几个原因导致的:

  1. 数据库连接问题:首先,你需要确保你的数据库连接是正确的,并且没有任何错误。你可以检查数据库连接的配置文件,确保数据库的URL、用户名和密码是正确的。另外,你还可以尝试重新启动数据库服务,以确保连接正常。
  2. SQL语句问题:你需要仔细检查你的SQL语句是否正确。确保你的update语句中的表名、列名和条件都是正确的。你可以尝试在数据库客户端中手动执行这个SQL语句,看看是否能够成功更新数据。
  3. 事务管理问题:如果你的代码中使用了事务管理,那么可能是事务没有正确提交导致的。你需要确保在执行完update方法后,调用了事务的提交操作,以确保更新操作被持久化到数据库中。
  4. 数据库权限问题:如果你的数据库用户没有足够的权限执行更新操作,那么数据库将不会更新数据。你可以检查数据库用户的权限,确保它具有执行更新操作的权限。

总结起来,当你执行DAO层的MyBatis的update方法时,但数据库没有更新,你需要检查数据库连接、SQL语句、事务管理和数据库权限等方面的问题,以找出导致数据库没有更新的原因。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Mybatis】Mybatis 魔法世界探秘:从配置起航,开启数据持久化的奇幻入门之旅

所以就有了一种更高效的方法,工具mybatis; ️2.Mybatis使用 2.1什么是Mybatis • MyBatis是⼀款优秀的 持久层 框架,⽤于简化JDBC的开发。...2013年11⽉迁移到Github • 持久层:指的就是持久化操作的层, 通常指数据访问层(dao), 是⽤来操作数据库的 如下图所示: 简单来说MyBatis 是更简单完成程序和数据库交互的框架,也就是更简单的操作和读取数据库...反编译的文件,这里就可以看到我们@Data对于我们申明的变量的方法的重写; 2.3Mybatis编程 1.数据库创建 首先创建一个数据库,对数据进行操作; USE mybatis_test; -- 创建表...: 解释: 就是说我们这里在数据库中“mybatis_test”没有找到这个错误,不存在的表; 4.方法名重复 具体的错误代码实例如下所示: @Select("select username,password...在 MyBatis 里,每一个 select、insert、update、delete 等操作在底层都会被当作一个映射语句来管理,并且会有一个唯一的标识,对应就是mapper的方法名; ️3.总结

11810
  • 你还在用传统的 JDBC 持久化访问吗

    前言 这里我会采用mybatis3.2做数据库的持久化,很多小伙伴或许还停留在老师的教导下,仍然停留在使用传统的JDBC持久化访问数据层。今天,我们来聊聊面向接口编程和怎么充分利用注解的优势!...那么,mybatis+springmvc开发框架就此兴起… 闲聊结束,我先说说原理吧: 使用mybatis定义接口完成sql语句的映射,该接口还可以直接作为DAO的组件使用。 桥接模式知道吗?...这个公共常量类根据数据库表的结构定义得,也就是说在数据库里面我一共创建了6个表,每个表和此类是一一对应的。至于这里的session对象,是为了后期编写控制层所铺垫的,与本次所讲内容无影响噢。...实体类的基本准则就是遵循javabean规则,也就是常说的公有的类、私有的成员变量以及自带一个无参的构造方法。当然,这里我用了setter和getter方法对其进行了简单的封装。...的持久化DAO接口只需要通过SqlSession的getMapper方法获得对应的接口实例,从而达到调用接口方法完成数据库的操作,而在spring容器里,只负责生成和管理DAO的组件。

    62820

    快速学习-Mybatis 缓存

    第2章 Mybatis 缓存 像大多数的持久化框架一样,Mybatis 也提供了缓存策略,通过缓存策略来减少数据库的查询次数,从而提高性能。 Mybatis 中缓存分为一级缓存,二级缓存。 ?...我们可以发现,虽然在上面的代码中我们查询了两次,但最后只执行了一次数据库操作,这就是 Mybatis 提供给我们的一级缓存在起作用了。...因为一级缓存的存在,导致第二次查询 id 为 41 的记录时,并没有发出 sql 语句从数据库中查询数据,而是从一级缓存中查询。...(user1 == user2); } 当执行sqlSession.close()后,再次获取sqlSession并查询id = 41的User对象时,又重新执行了sql语句,从数据库进行了查询操作。...,并且在执行第一次查询后,我们关闭了一级缓存,再去执行第二次查询时,我们发现并没有对数据库发出 sql 语句,所以此时的数据就只能是来自于我们所说的二级缓存。

    36620

    SpringBoot (六) :如何优雅的使用 mybatis

    mybatis初期使用比较麻烦,需要各种配置文件、实体类、dao层映射关联、还有一大推其它配置。...当然mybatis也发现了这种弊端,初期开发了generator可以根据表结果自动生产实体类、配置文件和dao层代码,可以减轻一部分开发量;后期也进行了大量的优化可以使用注解了,自动管理dao层和配置文件等...其实就是myBatis看spring boot这么火热也开发出一套解决方案来凑凑热闹,但这一凑确实解决了很多问题,使用起来确实顺畅了许多。...@Insert 插入数据库使用,直接传入实体类会自动解析属性到对应的值 @Update 负责修改,也可以直接传入对象 @delete 负责删除 了解更多属性参考这里。...极简xml版本 极简xml版本保持映射文件的老传统,优化主要体现在不需要实现dao的是实现层,系统会自动根据方法名在映射文件中找对应的sql。

    41120

    springboot(六):如何优雅的使用mybatis

    mybatis初期使用比较麻烦,需要各种配置文件、实体类、dao层映射关联、还有一大推其它配置。...当然mybatis也发现了这种弊端,初期开发了generator可以根据表结果自动生产实体类、配置文件和dao层代码,可以减轻一部分开发量;后期也进行了大量的优化可以使用注解了,自动管理dao层和配置文件等...,这里就不贴了 极简xml版本 极简xml版本保持映射文件的老传统,优化主要体现在不需要实现dao的是实现层,系统会自动根据方法名在映射文件中找对应的sql. 1、配置 pom文件和上个版本一样,只是...搬到了这里的xml中了 3、编写Dao层的代码 public interface UserMapper { List getAll(); UserEntity getOne...(Long id); } 对比上一步这里全部只剩了接口方法 4、使用 使用和上个版本没有任何区别,大家就看代码吧 xml配置版本:https://github.com/ityouknow/spring-boot-starter

    1.4K120

    MyBatis:基本应用

    一般包括以下三层: 持久层:主要完成与数据库相关的操作,即对数据库的增删改查。因为数据库访问的对象一般称为 Data Access Object(简称 DAO),所以有人把持久层叫做 DAO 层。...SQL,但使用框架就不需要这么麻烦了,直接调用方法就可以。...MyBatis 采用 ORM 思想解决了实体和数据库映射的问题,对 JDBC 进行了封装,屏蔽了 JDBC API 底层访问细节,使我们不用与 JDBC API 打交道就可以完成对数据库的持久化操作。...常用的有如下两个: openSession() - 会默认开启一个事务,但事务不会自动提交,也就意味着需要手动提交该事务,更新操作数据才会持久化到数据库中 openSession(boolean autoCommit...,代理对象的方法体同上边 Dao 接口实现类方法。

    1.3K30

    MyBatis从入门到精通(五)—MyBatis插件原理探究和自定义插件实现

    Mybatis对持久层的操作就是借助于四⼤核⼼对象。...MyBatis所允许拦截的⽅法如下: 执⾏器Executor (update、query、commit、rollback等⽅法); SQL语法构建器StatementHandler(prepare、parameterize...这样,插件逻辑即可在 Executor相关⽅法被调⽤前执⾏。 以上就是MyBatis插件机制的基本原理。...法 关于插件的执⾏逻辑就分析结束 pageHelper分页插件 MyBatis可以使⽤第三⽅的插件来对功能进⾏扩展,分⻚助⼿PageHelper是将分⻚的复杂操作进⾏封装,使⽤简单的⽅式即可获得分⻚的相关数据...); //保存实体,null的属性不会保存,会使⽤数据库默认值 int i = userMapper.insertSelective(user); // update

    1.1K30

    【ssm个人博客项目实战04】mybatis实现博客类别的增删改查分页

    以及mapper文件 这里有两种方法可以完成 1、手写 2、通过mybatis generator自动生成 前期我还是觉得手写比较这样我们对表结构更加了解在这里我使用手写的方式 ---- 1、...#{name}获取参数中的值 在这个dao接口声明了博客类别的增删改查 分页 查询总记录等方法 但是这里只是方法的声明并没有具体的实现,所以我们还需要新建mapper文件对接口中的方法进行实现。...因为我们整合spring与mybatis的时候设置mapper扫描路径就这个路径不知道大家还有没有映像! ? mapper扫描路径 的方法就实现了 我们可以新建测试类来测试一下 这里我主要测试分页方法 4、测试dao接口 package ssm.blog.dao; import org.apache.ibatis.annotations.Param...层的功能已经实现

    50850

    SpringBoot 笔记

    @SpringBootApplication //扫描dao层 让mybatis框架接管到层 @MapperScan("com.qf.music.dao") public class MusicApplication...层和mapper⽂件进⾏关联 mybatis.mapper-locations=classpath:mapper/*.xml # 数据库连接池配置 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource...⼀些逻辑操作,并动态拼接成完整的SQL之后再执 ⾏,以达到SQL复⽤、简化编程 的效果。...test 中并不由SQL解析,而是框架 其它 SpringMVC 默认的方式是转发 转发: 表示 一次请求 重定向: 重新发起一次请求 AJAX 请求登录后,响应 Set-Cookie ,但浏览器仍然没有设置...当我导航到我的域中的另一个网页时,不发送Cookie。 (注意:我没有做任何跨域的ajax请求;请求与文档在同一个域中。)

    1.8K10

    如何细粒度地控制你的MyBatis二级缓存(mybatis-enhanced-cache插件实现)

    插件的使用实例 1.一个关于MyBatis的二级缓存的实际问题 网友chanfish 给我抛出的问题 现有AMapper.xml中定义了对数据库表 ATable 的CRUD操作,BMapper定义了对数据库表...执行BMapper中对BTable的更新操作(update、delete、insert)后,BTable的数据更新; 3....: 对于某些表执行了更新(update、delete、insert)操作后,如何去清空跟这些表有关联的查询语句所造成的缓存; 当前的MyBatis的缓存机制不能很好地处理这一问题,下面我们将从当前的...最理想的解决方案就是:           对于某些表执行了更新(update、delete、insert)操作后,如何去清空跟这些表有关联的查询语句所造成的缓存; 这样,就是以很细的粒度管理MyBatis...基于这个思路,我写了一个对应的mybatis-enhanced-cache 缓存插件,可以很好地支持上述的功能。

    63050

    SpringBoot教程(十) | SpringBoot集成JdbcTemplate

    今天我们先来搞个简单点的,先来个JdbcTemplate, 这个是Spring基于Jdbc而封装的一个持久层框架,致力于轻量、便捷地操作数据库。...service层中一般用来处理业务逻辑,一般把有事务的代码放到这一层,一般是根据业务模块进行划分,名字可以不与实体名或者表名开发,他里边一般是对多个Dao层操作的封装。...想要彻底搞懂Service层也能需要更多项目的历练。这里以演示为主,也没有特别复杂的业务,我们就直接起名UserService.里面就直接把Dao层中的方法全部拿过来。...注意别忘了传header, 因为咱们的拦截器里要求必须传header 返回成功,查看数据库中数据: 数据保存成功。 我们再试试getById方法 其他的方法就不在演示了。 3....后边我们会继续介绍比较主流的DAO层框架Mybatis和JPA的用法。希望本篇文章对大家有所帮助。 另: 配套项目代码已托管中gitCode: gitcode.net/lsqingfeng/…

    51230

    手把手教你整合最优雅SSM框架:SpringMVC + Spring + MyBatis

    – – – spring 这里当然是存放spring相关的配置文件,有dao service web三层。 – – – sql 其实这个可以没有,但是为了项目完整性还是加上吧。...我先新建好几个必要的包,并为大家讲解一下每个包的作用,顺便理清一下后台的思路~ 包名 名称 作用 dao 数据访问层(接口) 与数据打交道,可以是数据库操作,也可以是文件读写操作,甚至是...为什么没有daoImpl,因为我们用的是mybatis,所以可以直接在配置文件中实现接口的每个方法。...entity 实体类 一般与数据库的表相对应,封装dao层取出来的数据为一个对象,也就是我们常说的pojo,一般只在dao层与service层之间传输。...dao层写完了,接下来test对应的package写我们测试方法吧。

    40510

    Spring Boot(六):如何优雅的使用 Mybatis

    Mybatis 初期使用比较麻烦,需要各种配置文件、实体类、Dao 层映射关联、还有一大推其它配置。...当然 Mybatis 也发现了这种弊端,初期开发了generator可以根据表结果自动生产实体类、配置文件和 Dao 层代码,可以减轻一部分开发量;后期也进行了大量的优化可以使用注解了,自动管理 Dao...Mybatis 看 Spring Boot 这么火热也开发出一套解决方案来凑凑热闹,但这一凑确实解决了很多问题,使用起来确实顺畅了许多。...,这里就不贴了 极简 xml 版本 极简 xml 版本保持映射文件的老传统,接口层只需要定义空方法,系统会自动根据方法名在映射文件中找对应的 Sql . 1、配置 pom 文件和上个版本一样,只是 application.properties...void delete(Long id); } 对比上一步,这里只需要定义接口方法 4、使用 使用和上个版本没有任何区别,大家就看文章对应的示例代码吧 如何选择 两种模式各有特点,注解版适合简单快速的模式

    58130

    java架构之路-(源码)mybatis基本使用

    我们今天先来简单了解一下我们持久层框架,mybatis的使用。...再就是我们的typehandlers,可以指定类型转换的。我们也可以继承BaseTypeHandler来重写父类的方法来自定义类型转换。 来一个我自己的简单配置。 的insert,update,delete都差不多,我这里就放在一起说了。 id 命名空间中的唯一标识符,可被用来代表这条语句。...useGeneratedKeys (仅对 insert 和 update 有用)这会令 MyBatis 使用 JDBC 的 getGeneratedKeys 方法来取出由数据库内部生成的主键(比如:像...但尽力不要用拼接的方式来做,后面我将动态sql会说具体怎么来实现。${}容易被sql注入。所以我们尽力还用占位符的方式来处理我们的SQL。

    52820

    Mybatis执行流程浅析(附深度文章推荐&面试题集锦)

    那如果去参考Mybatis,我们来看看它的几个环节是如何设计的: [图片] 其实大致思路一样,需要一个数据结构去存储全部的变量,通过接口代理的方式调用Sqlsession里面内置的方法,不同的是真正的执行者又加了一层...Dao 接口里的方法,参数不同时,方法能重载吗?...【面试官之你说我听】-MyBatis常见面试题(作者:Ccww) 数据库链接中断如何处理 数据库的访问底层是通过tcp实现的,当链接中断是程序是无法得知,导致程序一直会停顿一段时间在这,最终会导致用户体验不好...如果存在并发操作,那么同时进行了第一步,然后大家都发现没有记录,然后都插入了数据从而造成数据的重复 分布式环境中通过Redis分布式锁解决即可,多线程环节下用普通的Lock锁解决即可 事务执行过程中宕机的应对处理方式...的创建SqlSession的方法传递ExecutorType类型参数 最后 Myabtis也有其缺点,重复代码实在太多,在这里推荐我的另一篇文章,SpringBoot & Mybatis代码生成器,解决百分之

    54840

    SpringBoot集成mybatis配置

    的灵活性特点更为适合其 作为技术选型的优势; mybatis初期使用比较麻烦,需要各种配置文件、实体类、dao层映射关联、还有一大推其它配置。...当然mybatis也发现了这种弊端,初期开发了可以根据表结果自动生产实体类、配置文件和dao层代码,可以减轻一部分开发量;后期也进行了大量的优化可以使用注解了,自动管理dao层和配置文件等,发展到最顶端就是今天要讲的这种模式了...,优化主要体现在不需要实现dao的实现层【只需要定义接口类和方法】,系统会自动根据方法名在映射文件中找对应的sql【由namespace和名称坐标确定】。...搬到了这里的xml中了 3、编写Dao层的代码【定义接口】 public interface UserMapper { List getAll(); UserEntity...user_sex、nick_name两个属性在数据库加了下划线和实体类属性名不一致,另外user_sex使用了枚 4、使用 上面三步就基本完成了相关dao层开发,使用的时候当作普通的类注入进入就可以了

    2.5K10

    从零开始做网站2-springboot整合mybatis

    的配置 #指定实体类位置,在mapper中就不用写全路径 mybatis.type-aliases-package: com.zjlovelt.entity #映射mapper的位置,和dao层接口对应...这个主要检查的是namespace中的名字和其dao层的接口类是否对应。 检查dao层的方法名和Mapper.xml中的方法名是否一致。...查看mybatis的xml路径配置是否正确 3、项目结构问题 springboot项目在启动时会依据启动类所在包逐级向下扫描,如果你的dao层,service层和controller层在一个模块中,一定要把他们放到启动类所在目录或者他的子目录下...改变理由:之所以选war是因为对war最熟悉,之前工作基本都是这个,对tomcat也很了解,而且war包后面部署好修改代码可以局部更新某一个文件,但是jar就不行了,不过还是选择用jar是因为做这个项目毕竟是为了学习...spring boot目录有点小区别,首先是这个ServletInitializer类没有 具体区别可以参考: https://www.jianshu.com/p/cb5cb5937686 最后,开发计划更新

    25130
    领券