一、SpringBoot整合Mybatis
1、idea创建SpringBoot工程
1.1、使用Spring Initializr创建:如下图

1.2、配置项目的组名和包名(修改完成点击next)

1.3、 添加依赖
- 添加开发工具包
- 添加web依赖
- 添加Mybatis
- 最后点击next再点击finish
- 删除不需要的文件以及文件夹如下图
- 最后的文件目录如下
1.4 不要着急启动项目(安装数据库驱动以及配置)
1.4.1 在pom.xml中添加jdbc和mybatis的starter(记得刷新maven)

配置信息如下:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>1.4.2 在resource文件夹下面新建一个application.yaml配置文件并配置数据库连接信息

1.4.3 此时启动工程(运行)(不会报错)
- 找到如下工程入口运行
- 出现如下图,表示启动成功
2、整合Mybatis
2.1、测试数据准备
在你的数据库(本文数据库名称为test)下运行如下sql文件创建一个test_table表并插入数据
create table `test_table`(
`test_id` int not null auto_increment,
`test_name` varchar(32) not null,
`test_date` timestamp not null,
primary key(`test_id`)
);
insert into test_table values(null, "测试", now());运行完成之后:数据库的table_test表中存在如下数据

2.2、创建Bean(使用lombok)

代码如下
package com.wechat.sell.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class TestsBean {
private Integer testId;
private String testName;
private Date testDate;
}2.3、创建mapper接口

代码如下:
package com.wechat.sell.mapper;
import com.wechat.sell.bean.TestsBean;
public interface TestsMapper {
//根据id获取数据
public TestsBean getBean(int id);
}2.4 创建service

代码如下
package com.wechat.sell.service;
import com.wechat.sell.bean.TestsBean;
import com.wechat.sell.mapper.TestsMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class TestsService {
@Autowired
TestsMapper testsMapper;
public TestsBean getBean(int id){
return testsMapper.getBean(id);
}
}2.5、controller编写

代码如下
package com.wechat.sell.controller;
import com.wechat.sell.bean.TestsBean;
import com.wechat.sell.service.TestsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class TestsController {
@Autowired
TestsService testsService;
@ResponseBody
@GetMapping("/test")
public TestsBean test(@RequestParam("id")Integer id){
return testsService.getBean(id);
}
}2.6、Mybatis配置文件设置
2.6.1 在resource下创建mybatis文件夹,并且在mybatis文件夹下面创建mapper文件夹(注意一定要先创建一个mybatis文件夹然后再创建mapper文件夹,不能直接创建一个mybatis.mapper文件夹,会出错)

2.6.2 在上步中的mapper文件夹下,创建一个与TestsMapper同名的.xml文件(小鸟插件安装)

内容如下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wechat.sell.mapper.TestsMapper">
<select id="getBean" resultType="com.wechat.sell.bean.TestsBean">
select * from `test_table` where test_id = #{id}
</select>
</mapper>2.6.3 在application.yaml文件中配置mybatis

配置代码如下
mybatis:
# config-location: classpath:mybatis/mybatis-config.xml
mapper-locations: classpath:mybatis/mapper/*.xml
configuration: # 指定mybatis全局配置文件中的相关配置项
map-underscore-to-camel-case: true测试:重启工程,并且在网页中输入http://localhost:8080/test?id=1
出现下图表示整合成功

3、日志文件配置
3.1、直接在resource文件夹下创建一个logback-spring.xml文件

3.2 文件内容如下
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<!--配置控制台输出-->
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d - %msg%n
</pattern>
</layout>
</appender>
<!--配置log日志文件-->
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<FileNamePattern>D:/study/offer/Java/log/info.%d.log</FileNamePattern>
</rollingPolicy>
</appender>
<!--配置Error日志文件-->
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<FileNamePattern>D:/study/offer/Java/log/error.%d.log</FileNamePattern>
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consoleLog"/>
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>注意:以上代码需要修改的地方

3.3 测试
3.3.1、在如下图位置创建一个LogTest.java文件

3.3.2、文件内容如下(注:如果出现红色报错,直接鼠标点击到红色处,按照提示添加依赖即可)
package com.wechat.sell;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class LogTest {
// private final Logger logger = LoggerFactory.getLogger(LogTest.class);
@Test
public void test() {
String name = "test";
String password = "123456";
log.debug("debug...");
log.info("name:{}, password:{}", name, password);
log.info("info...");
log.error("error...");
log.warn("warning...");
}
}3.3.3、测试结果
- 控制台打印
- 在配置的路径下可以输出两个日志文件
















