记录学习,不进行正文展示
目录
1、在springboot中配置日期类型转换器 (可直接引用)
1、在springboot中配置日期类型转换器 (可直接引用)
package com.qinluyu.config;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Component
public class DateConverterConfig implements Converter<String, Date> {
private static final List<String> formarts = new ArrayList<>(4);
static{
formarts.add("yyyy-MM");
formarts.add("yyyy-MM-dd");
formarts.add("yyyy-MM-dd hh:mm");
formarts.add("yyyy-MM-dd hh:mm:ss");
}
@Override public Date convert(String source) {
String value = source.trim();
if ("".equals(value)) {
return null;
}
if(source.matches("^\\d{4}-\\d{1,2}$")){
return parseDate(source, formarts.get(0));
}
else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")){
return parseDate(source, formarts.get(1));
}
else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")){
return parseDate(source, formarts.get(2));
}
else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")){
return parseDate(source, formarts.get(3));
}
else {
throw new IllegalArgumentException("Invalid boolean value '" + source + "'");
}
}
/**
*
* 格式化日期
* @param dateStr String 字符型日期
* @param format String 格式
* @return Date 日期
*/
public Date parseDate(String dateStr, String format) {
Date date=null;
try {
DateFormat dateFormat = new SimpleDateFormat(format);
date = dateFormat.parse(dateStr);
}
catch (Exception e) {
}
return date;
}
}
2、Autowired与Resource
先看结果
区别:
@Autowired 为 Spring 的注解默认是根据 type 进行注入,
@Resource默认按byName自动注入
具体你那个代码为啥用@Resource能行还得看具体原因
3、application.properties
#mybatis 别名扫描
mybatis.type-aliases-package=com.qinluyu.entity
spring.resources.static-locations=classpath:/static/
spring.thymeleaf.prefix=classpath:/templates/
#mapper配置文件
mybatis.mapper-locations=classpath:mybatis/*.xml
#关闭thymeleaf缓存
spring.thymeleaf.cache=false
4、分页测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class BillServiceTest{
@Resource
private BillService billService;
@Test
public void testListPage() {
Bill b = new Bill();
b.setTitle("a");
PageInfo<Bill> page = PageHelper.startPage(2, 10).doSelectPageInfo(() -> {
billService.list(b);
});
page.getList().forEach(bill -> {
System.out.println(bill.getId() + " " + bill.getTitle());
});
System.out.println("总行数=" + page.getTotal());
System.out.println("当前页=" + page.getPageNum());
System.out.println("每页行数=" + page.getPageSize());
System.out.println("总页数=" + page.getPages());
System.out.println("起始行数=" + page.getStartRow());
System.out.println("是第一页=" + page.isIsFirstPage());
System.out.println("是最后页=" + page.isIsLastPage());
System.out.println("还有下一页=" + page.isHasNextPage());
System.out.println("还有上一页=" + page.isHasPreviousPage());
System.out.println("页码列表" + Arrays.toString(page.getNavigatepageNums()));
}
}
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>