Springboot+Mybatis

Springboot

引言

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域标题(rapid application development)成为领导者。

Springboot=Spring+SpringMVC

特点

① 创建独立的spring Application

② 内嵌tomcat 无需war包部署

③ 摒弃xml形式的开发

④ 简化maven配置

⑤ 以jar包形式运行

⑥ 自动配置Spring

注意:入口类必须存放在当前主包下和子包平级

环境搭建

  1. 导入依赖

<parent>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-parentartifactId>
    <version>2.1.5.RELEASEversion>
 parent>

  <dependency>
      <groupId>org.springframework.bootgroupId>
      <artifactId>spring-boot-starter-webartifactId>
 dependency>


<dependency>
  <groupId>org.projectlombokgroupId>
  <artifactId>lombokartifactId>
  <version>1.18.8version>
dependency>


<dependency>
  <groupId>mysqlgroupId>
  <artifactId>mysql-connector-javaartifactId>
  <version>5.1.38version>
dependency>

<dependency>
  <groupId>com.alibabagroupId>
  <artifactId>druidartifactId>
  <version>1.0.31version>
dependency>

<dependency>
  <groupId>org.mybatis.spring.bootgroupId>
  <artifactId>mybatis-spring-boot-starterartifactId>
  <version>1.3.3version>
dependency>


<dependency>
  <groupId>org.apache.tomcat.embedgroupId>
  <artifactId>tomcat-embed-jasperartifactId>
dependency>
<dependency>
  <groupId>org.springframework.bootgroupId>
  <artifactId>spring-boot-starter-tomcatartifactId>
dependency>

<dependency>
  <groupId>jstlgroupId>
  <artifactId>jstlartifactId>
  <version>1.2version>
dependency>
  1. 创建入口类
//表示当前项目为Springboot应用 
@SpringBootApplication
//指定dao包的位置 否则启动报错
@MapperScan(basePackages = "com.yt.dao")
public class UserModelApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserModelApplication.class,args);
    }
}

Tip:如果单纯为了测试Springboot启动是否正常并且没有涉及数据库操作时 避免报错 可以在@SpringBootApplication注解里添加以下代码:

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})

  1. 构建application.yml文件
server:
  port: 9090
  servlet:
    context-path: /UserModel
#数据源
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/project
    username: root
    password: 123
  #日期转换
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
#配置mapper
mybatis:
  mapper-locations: classpath:com/yt/mapper/*Mapper.xml #指定mapper文件的位置
  type-aliases-package: com.yt.entity #指定别名包
#打印日志的级别
logging:
  level:
    root: info
    com.yt.dao: debug

注意:层级之间有Tab键间隔

  • 默认配置文件没有内容
  • 默认springboot端口号为8989
  • 默认没有项目名

日志相关参数

   %m   输出代码中指定的消息
  %p   输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 
  %r   输出自应用启动到输出该log信息耗费的毫秒数 
  %c   输出所属的类目,通常就是所在类的全名 
  %t   输出产生该日志事件的线程名 
  %n   输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” 
  %d   输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日  22 : 10 : 28 , 921  
  %l   输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 )
使用Springboot的自动配置控制日志
logging.level.root=debug  #设置父日志级别
logging.level.com.baizhi.conf=debug  #设置指定包的日志级别
logging.file= 文件名|路径 建议使用 / 代表项目所在磁盘的根目录 此配置使logging.path失效
logging.path=路径+文件名
logging.pattern.console= [%p] [%d{yyyy-MM-dd HH:mm:ss}] %c %m %n  控制台的日志格式(yml需加单引号),
logging.pattern.file= 同上  文件的日志格式

Springboot额外补充

Springboot测试

  1. 引入依赖

<dependency>
  <groupId>org.springframework.bootgroupId>
  <artifactId>spring-boot-starter-testartifactId>
dependency>
  1. 构建测试类
@SpringBootTest(classes = Application.class)  //声明当前类为springboot的测试类 并且指定入口类
@RunWith(SpringRunner.class)    // 在容器环境下启动测试
public class TestDao {
    
    @Autowired
    UserDao userDao;
    
    @Test
    public void testUserDao() {
        List<User> users = userDao.queryAll();
        for (User user : users) {
            System.out.println(user);
        }
    }
}

Springboot中的日期格式

日期格式的返回

第一种:属性上加注解

@JsonFormat(pattern = "YYYY-MM-dd")

第二种:采用配置文件完成自动配置

spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

日期格式的接收 Springboot默认可以转换这种格式 1999/7/17

@DateTimeFormat(pattern = "YYYY-MM-dd")

全局配置文件

spring:
  mvc:
    date-format: yyyy-MM-dd HH:mm:ss

你可能感兴趣的:(spring,boot,mybatis)