pom.xml相关的配置说明。

配置文件看着比价多,在创建spring-boot项目的时候,自需要添加web,mysql,mybatis三个选项即可

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.xiaoeyu</groupId>
<artifactId>springboot2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot2</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
</properties> <dependencies>
<!--web相关-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis相关-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!--mysql相关-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--手动添加的,逆向工程,用于根据数据库中的表生成实体类,dao接口与对应的mapper.xml文件-->
<plugin>
<!--逆向工程:需要的jar包-->
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<overwrite>true</overwrite>
<!--如何生成的配置文件地址-->
<configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
</configuration>
<!--生成时与数据库连接需要的驱动-->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build> </project>

逆向工程 :https://www.cnblogs.com/xiaoeyu/p/10402694.html  详细说明,用于生成与数据库中的表相关的类

创建spring-boot项目时 生成的test测试类说明

  生成的测试类名: 项目+ApplicationTests.java。运行该测试类有几个坑要填好

package com.xiaoeyu.springboot2;

import com.xiaoeyu.springboot2.dao.EmpMapper;
import com.xiaoeyu.springboot2.pojo.Emp;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; //spring-boot自动生成的测试类,与SSM中spring测试类用的包好像不同
@RunWith(SpringRunner.class)
@SpringBootTest
public class Springboot2ApplicationTests { //不用web,直接通过dao层的接口方法调用测试与数据库的连接是否畅通 EmpMapper为dao层的接口,@Autowired会把 根据Mapper.xml自动生成实现类,注入进来
@Autowired
private EmpMapper empMapper; @Test
public void contextLoads() {
//根据id查询,对象
Emp emp = empMapper.selectByPrimaryKey(7369);
//打印对应的一个信息,有数据,连接成功
System.out.println(emp.getHiredate());
} }
  1. 启动类,Springboot2Application.java

    package com.xiaoeyu.springboot2;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
    //扫描dao所在的包,在测试的时候,不然找不到要注入接口的实体类。
    //dao的实体类是根据dao中的接口与dao对应的mapper.xml由spring生成的。这里要指定dao层接口所在的路径,并在配置文件中指定mapper.xml的路径
    @MapperScan(value = "com.xiaoeyu.springboot2.dao")
    public class Springboot2Application {
    public static void main(String[] args) {
    SpringApplication.run(Springboot2Application.class, args);
    }
    }
  2. application.yml配置文件。指定对应的mapper.xml
    spring:
    datasource:
    # mysql高版本驱动,为格林时区,+8到北京时区
    url: jdbc:mysql://localhost:3306/bcs?serverTimezone=GMT%2B8
    username: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    profiles:
    active: dev server:
    port: 80
    servlet:
    context-path: /springboot
    mybatis:
    # 在测试类中,只用自动装配。被注入的类是由dao里面的接口与mapper.xml生成的。这里用来指定dao里面的接口对应的mapper.xml文件的位置
    # 不然在运行测试类的时候,接口中的方法没有实现。
    mapper-locations: classpath:com/xiaoeyu/springboot2/mapper/*.xml
    # 日志设置
    logging:
    level:
    com.xiaoeyu.springboot2.dao: debug
    org.springframework: info

springboot中,用于处理日志信息的配置文件。相关功能的解释

<?xml version="1.0" encoding="UTF-8"?>
<!--本日志文件存在于springboot项目中,并且配置文件名为:logback-spring.xml 被spring识别-->
<configuration>
<!--用于日志环境切换,根据主配置文件中的spring.profiles.active指定的不同的环境,把指定的环境中的日志输出到不同的文件中-->
<!--spring.profiles.active设置的值与<springProfile name="xxxx">的xxx进行匹配,选择日志输出,不管active指定的配置环境是否存在-->
<springProfile name="dev">
<property name="LOG_HOME" value="d:/logs/dev" />
</springProfile>
<springProfile name="prd">
<property name="LOG_HOME" value="d:/logs/prd" />
</springProfile> <!--定义日志保存的路径,根据日志环境记录的话,这个就有点多余,先注释掉-->
<!--<property name="LOG_HOME" value="d:/logs" />--> <!--定义一个控制台输出器,名为console-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!--按pattern指定的格式输出日志,编码为UTF-8-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{30} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender> <!--定义一个日滚动(每天生成一份)的日志文件,就是把日志生成文件,存在硬盘中,命名为精确到天的日期,则一天只保留一个日志文件-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--按pattern指定的格式输出日志,编码为UTF-8-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{30} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder> <!-- 定义保存的文件名 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--%d{yyyy-MM-dd}:日志名字的一部分,则一天只能存在一个这样的日志,重新生成的时候,会去掉之前存在的同名的-->
<fileNamePattern>${LOG_HOME}/mysprintboot_%d{yyyy-MM-dd}.log</fileNamePattern>
<!--日志最多保存90天,一天的保存一份的话,就是最多保存90份-->
<maxHistory>90</maxHistory>
</rollingPolicy> <!-- 在日滚动文件中,强制只保存错误xxx级别以上信息 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level><!--xxx级别的定义-->
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender> <!-- 定义日志全局最低输出级别是INFO,满足这个才会生成日志,根据配置显示在控制台或者生成文件保存在硬盘 -->
<root level="INFO">
    <appender-ref ref="console" /><!--输出到定义的控制台-->
    <appender-ref ref="file" /><!--输出到定义的日滚动配置-->   </root> </configuration>

spring-boot整合mybatis(web mysql logback配置)的更多相关文章

  1. 太妙了!Spring boot 整合 Mybatis Druid,还能配置监控?

    Spring boot 整合 Mybatis Druid并配置监控 添加依赖 <!--druid--> <dependency> <groupId>com.alib ...

  2. Spring Boot整合Mybatis并完成CRUD操作

    MyBatis 是一款优秀的持久层框架,被各大互联网公司使用,本文使用Spring Boot整合Mybatis,并完成CRUD操作. 为什么要使用Mybatis?我们需要掌握Mybatis吗? 说的官 ...

  3. spring boot 整合 mybatis 以及原理

    同上一篇文章一样,spring boot 整合 mybatis过程中没有看见SqlSessionFactory,sqlsession(sqlsessionTemplate),就连在spring框架整合 ...

  4. Spring Boot整合MyBatis(非注解版)

    Spring Boot整合MyBatis(非注解版),开发时采用的时IDEA,JDK1.8 直接上图: 文件夹不存在,创建一个新的路径文件夹 创建完成目录结构如下: 本人第一步习惯先把需要的包结构创建 ...

  5. Spring Boot系列(三):Spring Boot整合Mybatis源码解析

    一.Mybatis回顾 1.MyBatis介绍 Mybatis是一个半ORM框架,它使用简单的 XML 或注解用于配置和原始映射,将接口和Java的POJOs(普通的Java 对象)映射成数据库中的记 ...

  6. Spring Boot 整合mybatis时遇到的mapper接口不能注入的问题

    现实情况是这样的,因为在练习spring boot整合mybatis,所以自己新建了个项目做测试,可是在idea里面mapper接口注入报错,后来百度查询了下,把idea的注入等级设置为了warnin ...

  7. Spring Boot整合Mybatis报错InstantiationException: tk.mybatis.mapper.provider.base.BaseSelectProvider

    Spring Boot整合Mybatis时一直报错 后来发现原来主配置类上的MapperScan导错了包 由于我使用了通用Mapper,所以应该导入通用mapper这个包

  8. Spring Boot整合Mybatis完成级联一对多CRUD操作

    在关系型数据库中,随处可见表之间的连接,对级联的表进行增删改查也是程序员必备的基础技能.关于Spring Boot整合Mybatis在之前已经详细写过,不熟悉的可以回顾Spring Boot整合Myb ...

  9. Spring Boot 整合 Mybatis 实现 Druid 多数据源详解

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “清醒时做事,糊涂时跑步,大怒时睡觉,独处时思考” 本文提纲一.多数据源的应用场景二.运行 sp ...

  10. Spring boot整合Mybatis

    时隔两个月的再来写博客的感觉怎么样呢,只能用“棒”来形容了.闲话少说,直接入正题,之前的博客中有说过,将spring与mybatis整个后开发会更爽,基于现在springboot已经成为整个业界开发主 ...

随机推荐

  1. 【Git】Git使用记录: remove *.lock eg: index.lock/head.lock

    问题 Another git process seems to be running in this repository, e.g. an editor opened by 'git commit' ...

  2. 深入浅出ES6:不定参数和默认参数

    不定参数 我们通常使用可变参函数来构造API,可变参函数可接受任意数量的参数.例如,String.prototype.concat方法就可以接受任意数量的字符串参数.ES6提供了一种编写可变参函数的新 ...

  3. SpringBoot后台接收前台的字符串数据

    需求 将前台传入的字符串数据转为int类型. 操作 在pom.xml中添加引用. <dependency> <groupId>org.apache.commons</gr ...

  4. 浏览器输入URL后,HTTP请求返回的完整过程

    1.Redirect,跳转    浏览器记录里这个地址永久跳转的新地址,浏览器先去判断需不需要跳转 2.Application cache ,应用缓存    浏览器看请求的资源是否有缓存 3.DNS解 ...

  5. Vue-admin工作整理(十五):Ajax-跨域问题

    跨域的定义: 解决方法: 1.前端通过配置来解决跨域问题:自定义的vue.config.js配置文件来进行跨域处理:就是只要存在跨域现象 都会代理到一个指定的地址上 devServer: { prox ...

  6. 实现img图片不能被拖动的两种简单方法

    1,在img标签中添加属性 draggable="false" 2,通过css样式设置 img { -webkit-user-drag: none; }

  7. 如何系统地自学 Python?

    最近开始系统的学习Python,以及整理的一些资料.github记录着个人自学 Python 的过程,持续更新.欢迎大家一起来完善这个自学Python学习的项目,给后来者一个参考的学习过程.githu ...

  8. ERROR:scala:Error:Object scala.runtime in compiler mirror not found

    我的项目是sbt项目,今天早晨的时候还好好的,结果中午吃了个饭回来就特么的编译就报错了,真是闹心 报错截图: 解决方案: 删除idea的缓存文件 然后重新启动idea,重新下载jia包,在进行编译,就 ...

  9. json处理+list.sort()排序

    #coding:utf-8 """ json是一种轻量级数据交换格式,可以对复杂数据进行表达和存储 规格: 1.数据保存在键值对里 2.键值对之间由逗号分隔 3.花括号用 ...

  10. OSS文件上传到阿里云

    <script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"></script&g ...