IV 03 Lombok-SLF4j-@Mapper和@MapperScan-Mybatis基础依赖项
1.实体类
-
测试mapper插入数据库时,用的是entity 写增删改查的顺序是先实体类–>mapper–>xml–>编写mapper测试
2.Lombok
加依赖
<!-- Lombok的依赖项,主要用于简化POJO类的编写 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> <scope>provided</scope> </dependency>
加注解 在POJO类上添加Lombok框架的@Data注解,可以在编译期生成:
-
规范的Setter & Getter 规范的hashCode()与equals() 包含各属性与值的toString()
注意 当使用了Lombok后,由于源代码中并没有Setter & Getter方法,所以,当编写代码时,IntelliJ IDEA不会提示相关方法,并且,即使强行输入调用这些方法的代码,还会报错,但是,并不影响项目的运行!为了解决此问题,推荐安装Lombok插件!
3.SLF4j日志
spring-boot-starter依赖内置了SLF4J 显示级别在Spring Boot项目中,日志的默认显示级别是info
-
trace debug info:一般信息 warn:警告信息 error:错误信息
配置级别
-
在Spring Boot项目中,当添加了Lombok依赖项后,可以在任何类上添加@Slf4j注解,则Lombok会在编译期声明一个名为log的日志对象变量,此变量可以调用相关方法来输出日志! 日志的显示级别 logging.level.cn.tedu.csmall=info
示例
@Slf4j @SpringBootTest public class Slf4jTests { @Test void testLog() { log.info("输出了一条日志……"); } }
4.classpath默认路径是resources文件夹
例如:# 配置Mybatis的XML文件的位置 mybatis.mapper-locations=classpath:mapper/*.xml
5.Mybatis框架能@Mapper和@MapperScan注解
Mybatis框架能明确这个接口是数据访问接口,需要添加注解
- 【不推荐】在接口上添加@Mapper注解 每个数据访问接口上都需要此注解
- 【推荐】在配置类上添加@MapperScan注解,并配置数据访问接口所在的包 在根包(含子孙包)下的任何添加了@Configuration注解的类都是配置类 只需要一次配置,各数据访问接口不必添加@Mapper注解
@Mapper
@Mapper public interface NewsMapper { @Insert("insert into news values(null,#{title},#{author},#{content},#{url},0,#{created})") void insert(News news); @Select("select id,title,author,content,url,view_count viewCount,created from news") List<News> select(); }
@MapperScan
6.Mybatis基础依赖项
1.Mybatis框架的基础依赖项的artifactId是:mybatis。 2.Mybatis框架虽然可以不依赖于Spring等其它框架,但是,直接使用比较麻烦,需要自行编写大量的配置,所以,通常结合Spring一起使用,需要添加的依赖项的artifactId是:mybatis-spring。 3.在Spring Boot项目中,直接添加mybatis-spring-boot-starter将包含以上依赖项,和其它必要的、常用的依赖项。