新建java springboot mysql mybatis logback项目
1. 打开https://start.spring.io/,选择mybatis framework, spring web, lombok, mysql driver,点击generate
2. 把下载的压缩包解压,用idea打开解压的目录
3. 先写一个MainController
package com.example.demo2;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* @author erniu.wzh
* @date 2020/11/3 3:02 下午
*/
@RestController
public class MainController {
private static final Logger LOGGER = LoggerFactory.getLogger(MainController.class);
@Resource
private UserMapper userDao;
@GetMapping("test")
public List<UserDO> test() {
LOGGER.info("xxx");
return userDao.selectAll();
}
}
4. 然后写一个UserDO
package com.example.demo2;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* user
* @author
*/
@Data
public class UserDO implements Serializable {
private Integer id;
private Date gmtCreate;
private Date gmtModified;
private String userId;
private Integer age;
private Integer gender;
private String name;
private static final long serialVersionUID = 1L;
}
4. 然后写一个UserMapper
package com.example.demo2;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserMapper {
List<UserDO> selectAll();
}
5. 然后写一个UserMapper.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.example.demo2.UserMapper">
<resultMap id="BaseResultMap" type="com.example.demo2.UserDO">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate" />
<result column="gmt_modified" jdbcType="TIMESTAMP" property="gmtModified" />
<result column="user_id" jdbcType="VARCHAR" property="userId" />
<result column="age" jdbcType="INTEGER" property="age" />
<result column="gender" jdbcType="INTEGER" property="gender" />
<result column="name" jdbcType="VARCHAR" property="name" />
</resultMap>
<sql id="Base_Column_List">
id, gmt_create, gmt_modified, user_id, age, gender, `name`
</sql>
<select id="selectAll" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from user
</select>
</mapper>
6. 然后写一个mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!-- mybatis的配置文件 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!-- 打印查询语句 -->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
</configuration>
7. 然后在application.properties增加一些配置
# datasource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/matching?serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=xxxxxxxx
# mybatis
mybatis.config-location=classpath:/mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath*:/mybatis/sqlmap/*.xml
# 如果数据库是sqlite3
# spring.datasource.url=jdbc:sqlite:/Users/zihao_wang/Downloads/test.db
8. 然后配置一下日志
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<property name="APP_NAME" value="tone"/>
<property name="LOG_FILE" value="logs/application.log"/>
<appender name="APPLICATION"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_FILE}</file>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxHistory>7</maxHistory>
<maxFileSize>50MB</maxFileSize>
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="APPLICATION"/>
</root>
</configuration>
9. 然后搞一搞数据库
从终端进入数据库
mysql -uroot -pxxxxxxxx
创建database
create database matching;
进入database
use database matching;
创建表
create table user (
id int unsigned auto_increment primary key,
gmt_create datetime,
gmt_modified datetime,
user_id varchar(64) unique key,
age int,
gender int,
name varchar(64)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
写入一条数据
insert into user (gmt_create,gmt_modified,user_id,age,gender,name) values(now(),now(),'abc',18,1,'wzh');
10. 现在目录结构是这样的
11. 运行一下试试
运行成功!
12. 看一下日志
我们打的日志正常,sql语句显示正常
13. 最后看一下输出的日志文件
完全正常,太完美啦!
如果本文对你有帮助,请打赏以鼓励我做得更好,非常感谢!