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


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

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

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

    generatorConfig.xml 文件信息

     View Code

    在 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>
    复制代码

     

    重新启动(结果):

    示例源码下载地址:https://github.com/nongzihong/my-SpringBoot-Project

  • 相关阅读:
    博客园创业点子摘录
    DNN性能优化方案系列(2)Page State Persistence
    以页面模块(模块定义)为添加单位的DNN控制窗格(ControlPanel)
    在SQL Server中安全的创建,使用,和删除一个临时表
    IDataErrorInfo and Business rule validation
    转:通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行
    iis6启动HTTP压缩的方法
    TcpSocket编程与Event编写学习的好例子
    转:IIS aspnet HTTP 压缩 与Ajax
    070508_设置上次考试_考生管理_成绩批量录入
  • 原文地址:https://www.cnblogs.com/nongzihong/p/10231983.html
Copyright © 2020-2023  润新知