新建java springboot mysql mybatis项目

新建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. 最后看一下输出的日志文件

 完全正常,太完美啦!

 

如果本文对你有帮助,请打赏以鼓励我做得更好,非常感谢!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛哥123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值