springboot学习(一)

在这里插入图片描述

整合JUnit

 名称:@SpringBootTest
 类型:测试类注解
 位置:测试类定义上方
 作用:设置JUnit加载的SpringBoot启动类
 范例:
@SpringBootTest
class Springboot05JUnitApplicationTests {}
在这里插入图片描述

SpringBoot整合MyBatis-Plus

①:手动添加SpringBoot整合MyBatis-Plus的坐标,可以通过mvnrepository获取

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>

由于SpringBoot中未收录MyBatis-Plus的坐标版本,需要指定对应的Version

②:定义数据层接口与映射配置,继承BaseMapper

@Mapper
public interface UserDao extends BaseMapper<User> {
}

 配置数据源与MyBatisPlus对应的基础配置(id生成策略使用数据库自增策略)

spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db?servierTimezone=UTC
username: root
password: root
mybatis-plus:
global-config:
db-config:
table-prefix: tbl_
id-type: auto

 为方便调试可以开启MyBatisPlus的日志

mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

数据层开发————分页功能

 分页操作需要设定分页对象IPage

@Test
void testGetPage(){
IPage page = new Page(1,5);
bookDao.selectPage(page,null);
}

 IPage对象中封装了分页操作中的所有数据
 数据
 当前页码值
 每页数据总量
 最大页码值
 数据总量

分页操作是在MyBatisPlus的常规操作基础上增强得到,内部是动态的拼写SQL语句,因此需要增强对应的功能,

使用MyBatisPlus拦截器实现

@Configuration
public class MpConfig {
@Bean
public MybatisPlusInterceptor mpInterceptor() {
//1.定义Mp拦截器
MybatisPlusInterceptor mpInterceptor = new MybatisPlusInterceptor();
//2.添加具体的拦截器
mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mpInterceptor;
}
}

 使用QueryWrapper对象封装查询条件,推荐使用LambdaQueryWrapper对象,所有查询操作封装成方法调用

@Test
void testGetByCondition(){
IPage page = new Page(1,10);
LambdaQueryWrapper<Book> lqw = new LambdaQueryWrapper<Book>();
lqw.like(Book::getName,"Spring");
bookDao.selectPage(page,lqw);
}
@Test
void testGetByCondition(){
QueryWrapper<Book> qw = new QueryWrapper<Book>();
qw.like("name","Spring");
bookDao.selectList(qw);
}

支持动态拼写查询条件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对异常进行统一处理,出现异常后,返回指定信息
在这里插入图片描述
在这里插入图片描述

日志

在这里插入图片描述

日志级别

 TRACE:运行堆栈信息,使用率低
 DEBUG:程序员调试代码使用
 INFO:记录运维过程数据
 WARN:记录运维过程报警数据
 ERROR:记录错误堆栈信息
 FATAL:灾难信息,合并计入ERROR
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
 使用lombok提供的注解@Slf4j简化开发,减少日志对象的声明操作

@Slf4j
@RestController
@RequestMapping("/books")
public class BookController {
    @GetMapping
 	  public String getById(){
 	   System.out.println("springboot is running...");
  	 	 log.debug("debug info...");
   		 log.info("info info...");
		log.warn("warn info...");
		log.error("error info...");
		return "springboot is running...";
	}
}

在这里插入图片描述

数据校验

开启数据校验有助于系统安全性,J2EE规范中JSR303规范定义了一组有关数据校验相关的API

<dependency>    
<groupId>javax.validation</groupId>   
 <artifactId>validation-api</artifactId></dependency><dependency>    <groupId>org.hibernate.validator</groupId>    <artifactId>hibernate-validator</artifactId></dependency>

在这里插入图片描述
在这里插入图片描述

业务层测试事务回滚

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值