• 使用idea 搭建一个 SpringBoot + Mybatis + logback 的maven 项


    (注意项目名不能有大写。。。。。。),把项目类型 改成 War 类型。(web项目)

    使用 mybatis-generator 插件 生成 实体类 和 接口

    在 resources 目录 中 新建一个 generatorConfig.xml 的文件

    generatorConfig.xml 文件信息

    复制代码
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE generatorConfiguration
     3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
     4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
     5 
     6 <generatorConfiguration>
     7     <context id="default" targetRuntime="MyBatis3Simple">
     8         <!--创建class时,对注释进行控制-->
     9         <commentGenerator>
    10             <property name="suppressDate" value="true" />
    11             <!--去除注释-->
    12             <property name="suppressAllComments" value="true"/>
    13         </commentGenerator>
    14 
    15         <!--jdbc的数据库连接-->
    16         <jdbcConnection driverClass="org.mariadb.jdbc.Driver"
    17                         connectionURL="jdbc:mariadb://localhost:3306/test"
    18                         userId="oukele" password="oukele">
    19         </jdbcConnection>
    20         <!-- Model模型生成器
    21             targetPackage -> 指定生成的model生成所在的包名
    22             targetProject -> 指定在该项目下所在的路径
    23         -->
    24         <javaModelGenerator targetPackage="com.oukele.myspringbootproject.entity" targetProject="src/main/java">
    25             <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
    26             <property name="trimStrings" value="true" />
    27         </javaModelGenerator>
    28         <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件-->
    29         <sqlMapGenerator targetPackage="mapper"  targetProject="src/main/resources"/>
    30         <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
    31             type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
    32             type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
    33             type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
    34         -->
    35         <javaClientGenerator type="XMLMAPPER" targetPackage="com.oukele.myspringbootproject.dao"  targetProject="src/main/java"/>
    36 
    37         <!-- tableName 表名  % -> 全部表   -->
    38         <table tableName="user">
    39             <generatedKey column="id" sqlStatement="Mysql"/>
    40         </table>
    41 
    42     </context>
    43 </generatorConfiguration>
    复制代码

    在 pom.xml 文件添加依赖

    复制代码
     1             <!-- mybatis.generator 插件  -->
     2             <plugin>
     3                 <groupId>org.mybatis.generator</groupId>
     4                 <artifactId>mybatis-generator-maven-plugin</artifactId>
     5                 <version>1.3.7</version>
     6 
     7                 <configuration>
     8                     <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
     9                     <overwrite>true</overwrite>
    10                 </configuration>
    11                 <!-- 数据库依赖  -->
    12                 <dependencies>
    13                     <dependency>
    14                         <groupId>org.mariadb.jdbc</groupId>
    15                         <artifactId>mariadb-java-client</artifactId>
    16                         <version>2.3.0</version>
    17                     </dependency>
    18                 </dependencies>
    19             </plugin>
    复制代码

    生成成功。

    现在 来 配置 application.properties 文件。

    复制代码
     1 #设置 Tomcat 端口号
     2 server.port=8081
     3 
     4 # 配置 mybatis
     5 # 设置 别名类型包 (实体类)
     6 mybatis.type-aliases-package=com.oukele.myspringbootproject.entity
     7 # 设置 mybatis 映射 的 SQL语法 xml文件
     8 mybatis.mapper-locations=classpath:mapper/*.xml
     9 
    10 # 连接数据库
    11 spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
    12 spring.datasource.url=jdbc:mariadb://localhost:3306/test
    13 spring.datasource.username=oukele
    14 spring.datasource.password=oukele
    15 # 设置数据源 (c3p0连接池)
    16 spring.datasource.type=com.mchange.v2.c3p0.ComboPooledDataSource
    17 
    18 #启动 热部署
    19 spring.devtools.livereload.enabled=true
    复制代码

    如果嫌 上面的写法 太啰嗦 可将 application.properties 文件 后缀名改成 yml

    内容改成如下:

    复制代码
    # mybatis 配置
    mybatis:
      typeAliasesPackage: com.oukele.myspringbootproject.entity
      mapperLocations: classpath:mapper/*.xml
            
    
    spring:
      datasource:
        driver-class-name: org.mariadb.jdbc.Driver
        url: jdbc:mariadb://localhost:3306/test
        username: oukele
        password: oukele
        # 数据源
        type: com.mchange.v2.c3p0.ComboPooledDataSource
    
    # 这里是默认配置
    spring.devtools.restart.enabled: true
    # 设置重启的目录
    spring.devtools.restart.additional-paths: src/main/java
    # classpath目录下的WEB-INF文件夹内容修改不重启
    server:
    port: 8081
     
    复制代码

    pom.xml 文件

     View Code

    这里,我们启动项目,看下能不能启动。

    首先在 templates 文件中 新建一个 index.html 网页

    然后

     

    最后,

    启动成功

    效果如下:

    开始我们的主菜。

    项目结构

    service包中UserService接口

    复制代码
    1 package com.oukele.myspringbootproject.service;
    2 
    3 import com.oukele.myspringbootproject.entity.User;
    4 import java.util.List;
    5 
    6 
    7 public interface UserService {
    8     List<User> listAll();
    9 }
    复制代码

    serviceImp包中UserServiceImp类

    复制代码
     1 package com.oukele.myspringbootproject.serviceImp;
     2 
     3 import com.oukele.myspringbootproject.dao.UserMapper;
     4 import com.oukele.myspringbootproject.entity.User;
     5 import com.oukele.myspringbootproject.service.UserService;
     6 import org.springframework.beans.factory.annotation.Autowired;
     7 import org.springframework.stereotype.Service;
     8 
     9 import java.util.List;
    10 
    11 @Service
    12 public class UserServiceImp implements UserService {
    13 
    14     @Autowired
    15     private UserMapper userMapper;//这里出现红色波浪线,并不影响使用
    16 
    17     @Override
    18     public List<User> listAll() {
    19         return userMapper.selectAll();
    20     }
    21 }
    复制代码

    controller包中Usercontroller类

    复制代码
    package com.oukele.myspringbootproject.controller;
    
    import com.oukele.myspringbootproject.entity.User;
    import com.oukele.myspringbootproject.serviceImp.UserServiceImp;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.List;
    
    @RestController
    public class UserController {
    
        @Autowired
        private UserServiceImp userServiceImp;
    
        @GetMapping(path = "/list")
        public List<User> getAll(){
            return userServiceImp.listAll();
        }
    }
    复制代码

    类的修改。。。

    复制代码
    package com.oukele.myspringbootproject;
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    @MapperScan("com.oukele.myspringbootproject.dao")//扫描接口
    public class MySpringbootProjectApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(MySpringbootProjectApplication.class, args);
        }
    
    }
    复制代码

    重启项目,访问/list 的结果:

    使用logback日志:

    在resources文件中 新建logback-spring.xml 文件 (springboot默认集成了 logback 直接在resources创建 logback-spring.xml即可)

    复制代码
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <configuration>
     3     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
     4         <layout class="ch.qos.logback.classic.PatternLayout">
     5             <Pattern>
     6                 %msg%n
     7             </Pattern>
     8         </layout>
     9     </appender>
    10 
    11     <logger name="com.oukele.myspringbootproject.dao" level="TRACE" />
    12 
    13     <root level="error">
    14         <appender-ref ref="STDOUT" />
    15     </root>
    16 </configuration>
    复制代码

     

    重新启动(结果):

  • 相关阅读:
    写点别的,关于二维码,由印美图想到的
    600篇以上博客,才能进阶到精通的地步,奋斗吧少年
    写博客真的很枯燥,更麻烦的是我还不会MD,排版太不友好了啊。
    对sqlserver存储过程合游标的一些理解
    sqlserver的存储过程
    Apache负载均衡配置
    组合模式解决原型创建对象传参和共享难题
    原型创建对象
    构造函数创建对象
    jQuery实现瀑布流的简单方法
  • 原文地址:https://www.cnblogs.com/chen1005/p/10515394.html
Copyright © 2020-2023  润新知