何隆昌mybatis-plusmapper接⼝和xml⽂件路径配置
@Component
public interface DictMapper extends BaseMapper {
@Select("select max(order_num) from dict")
@ResultType(Integer.class)
Integer maxOrderNum();
@Select("select * from dict d de ='${code}'")
@ResultType(Dict.class)
Dict findByCode(@Param("code") String code);
}
直接引⽤mapper接⼝会标红
这个⼀共有 7 种解决⽅案
解决办法:
(1)在注解上加上:@Autowired(required = false)
(2)使⽤ @Resource 替换 @Autowired
(3)在 MyBatis 接⼝上加上 @Repository 注解,或者@Component注解
(4)使⽤ Lombok,@RequireArgsContructor
(5)降低 Autowired 检测的级别,将 Severity 的级别由之前的 error 改成 warning 或其它可以忽略的级别。
(6)安装 MyBatis 插件
(7)构造器注⼊
IntelliJ Idea 解决 Could not autowire. No beans of ‘xxxx’ type found 的错误提⽰
如果只要⽤mapper⽂件(⾃动⽣成sql),就是不⽤到l⽂件写sql的话
就只要在启动类上加⼀个注解就能运⾏了
@MapperScan("redis.mapper")//⾥⾯写的是java以下,到mapper⽂件的路径
如果要⽤到xml⽂件的话,就必须再加两个配置
⼀,在l⽂件⾥添加,这个是全局的,⼀般写在⽗⼯程⾥就⾏
<build>
......................................................
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
⼆ #配置mapper xml⽂件的路径
这个是⼦模块的xml是在哪个包下,每个⼦模块xml的路径不同的话,就在各⾃的配置⽂件⾥写不同的路径
mybatis-plus.mapper-locations=classpath:mapper/xml/*.xml
yml写法项⽬/mapper
mybatis-plus:
mapper-locations: classpath:*/mapper/xml/*.xml
resource和autowired注解的区别<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN""/dtd/mybatis-3-mapper.dtd"> <mapper namespace="manager.mapper.MenuMapper">
<select id="getList" resultType="ity.Menu">
SELECT *
FROM
base_menu
</select>
</mapper>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论