mybataisplus 错误:org.springframework.beans.factory.UnsatisfiedDependencyException

    技术2023-07-05  112

    今天在练习mybatisplus的时候,进行测试的时候突然报错; 项目结构 最开始的时候我并没有写xml文件,而是直接利用mybatisplus进行数据库操作,能够正常操作

    @Test void testSelectByBatchId() { // 参数是一个 Wapper,条件构造器,这里我们先不用 null // 查询所有用户 List<User> users = userMapper.selectList(null); users.forEach(System.out::println); }

    后来我在项目中加上了xml文件相对数据库进行操作,结果就报错了,错误如上标题所示,我在网上反反复复找了一上午,都没解决,看着自己的代码好像也没错啊,到底咋回事??? 后来请别人帮我修改了一下。我先贴上我的代码再说吧 pojo对象

    @Data @AllArgsConstructor @NoArgsConstructor public class User { // 对应数据库中的主键(uuid、自增id、雪花算法、redis、zookeeper) /* AUTO(0), 对应的数据库一定要是自增的,否则会报错 NONE(1), 未设置主键 INPUT(2), 手动输入 ID_WORKER(3), 默认的全局唯一id UUID(4), 全局唯一id uuid ID_WORKER_STR(5); ID_WORKER 字符串表示法 */ @TableId(type= IdType.AUTO) // @TableField("id") private Long id; private String name; private Integer age; private String email; // 在对数据库库进行插入的时候,自动对数据库中的值cretetime进行自动填充 @TableField(fill= FieldFill.INSERT) private Date createTime; @TableField(fill=FieldFill.UPDATE) private Date updateTime; // 乐观锁 Version @Version private Integer version; // 逻辑删除 @TableLogic private Integer deleted; }

    mapper接口

    @Repository public interface UserMapper extends BaseMapper<User> { public List<User> findAll(); }

    xml文件 他在xml文件中进行了修改,将select中的返回值改成了resultMap,就是我注释掉的那一部分,没注释的是我之前写的,然后就能正常启动了。诡异的是,我后面把修改的又换成我之前的代码了,竟然又能够成功运行了!!!!要是有哪位大佬知道怎么回事,请给我讲一讲。

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.mapper.UserMapper" > <resultMap id="UserMap" type="com.pojo.User"> <id column="id" property="id"/> <result column="name" property="name"/> <result column="age" property="age"/> <result column="email" property="email"/> <result column="create_time" property="creatTime"/> <result column="update_time" property="updateTime"/> <result column="version" property="version"/> <result column="deleted" property="deleted"/> </resultMap> <!--<select id="findAll" resultMap="UserMap"> select * from user </select>--> <select id="findAll" resultType="com.pojo.User"> select * from user </select> </mapper>

    测试类

    @SpringBootTest public class XMLTest { @Autowired private UserMapper userMapper; @Test void testfindAll(){ List<User> all = userMapper.findAll(); all.forEach(System.out::println); } }

    希望能够帮到你!!!

    Processed: 0.017, SQL: 9