使用idea 搭建一个 SpringBoot + Mybatis + logback 的maven 项目
2019-01-06 13:08
871 查看
注意项目名不能大写,把项目类型换成War类型。
使用 mybatis-generator 插件 生成 实体类 和 接口
在 resources 目录 中 新建一个 generatorConfig.xml 的文件
generatorConfig.xml 文件信息
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <context id="default" targetRuntime="MyBatis3Simple"> <!--创建class时,对注释进行控制--> <commentGenerator> <property name="suppressDate" value="true" /> <!--去除注释--> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--jdbc的数据库连接--> <jdbcConnection driverClass="org.mariadb.jdbc.Driver" connectionURL="jdbc:mariadb://localhost:3306/test" userId="oukele" password="oukele"> </jdbcConnection> <!-- Model模型生成器 targetPackage -> 指定生成的model生成所在的包名 targetProject -> 指定在该项目下所在的路径 --> <javaModelGenerator targetPackage="com.oukele.myspringbootproject.entity" targetProject="src/main/java"> <!-- 是否对类CHAR类型的列的数据进行trim操作 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件--> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/> <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码 type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象 type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象 type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.oukele.myspringbootproject.dao" targetProject="src/main/java"/> <!-- tableName 表名 % -> 全部表 --> <table tableName="user"> <generatedKey column="id" sqlStatement="Mysql"/> </table> </context> </generatorConfiguration>
在 pom.xml 文件添加插件。
<!-- mybatis.generator 插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <configuration> <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile> <overwrite>true</overwrite> </configuration> <!-- 数据库依赖 --> <dependencies> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>2.3.0</version> </dependency> </dependencies> </plugin>
然后。
生成成功。
现在 来 配置 application.properties 文件。
#设置 Tomcat 端口号 server.port=8081 # 配置 mybatis # 设置 别名类型包 (实体类) mybatis.type-aliases-package=com.oukele.myspringbootproject.entity # 设置 mybatis 映射 的 SQL语法 xml文件 mybatis.mapper-locations=classpath:mapper/*.xml # 连接数据库 spring.datasource.driver-class-name=org.mariadb.jdbc.Driver spring.datasource.url=jdbc:mariadb://localhost:3306/test spring.datasource.username=oukele spring.datasource.password=oukele # 设置数据源 (c3p0连接池) spring.datasource.type=com.mchange.v2.c3p0.ComboPooledDataSource #启动 热部署 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 中依赖。
<?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.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.oukele</groupId> <artifactId>my-springboot-project</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>my-springboot-project</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!--监控容器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- 资源库 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!--视图引擎--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!-- 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>1.3.2</version> </dependency> <!-- 热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency> <!-- Tomcat --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!-- springboot 自动配置 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--数据库驱动--> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>2.3.0</version> </dependency> <!--c3p0 连接池--> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- mybatis.generator 插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <configuration> <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile> <overwrite>true</overwrite> </configuration> <!-- 数据库依赖 --> <dependencies> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>2.3.0</version> </dependency> </dependencies> </plugin> </plugins> </build> </project>
这里,我们启动项目,看下能不能启动。
首先在 templates 文件中 新建一个 index.html 网页
然后。
最后
启动成功。
效果如下:
开始我们的主菜。
- 项目结构
service包中UserService接口
package com.oukele.myspringbootproject.service; import com.oukele.myspringbootproject.entity.User; import java.util.List; public interface UserService { List<User> listAll(); }
serviceImp包中UserServiceImp类
package com.oukele.myspringbootproject.serviceImp; import com.oukele.myspringbootproject.dao.UserMapper; import com.oukele.myspringbootproject.entity.User; import com.oukele.myspringbootproject.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class UserServiceImp implements UserService { @Autowired private UserMapper userMapper;//这里出现红色波浪线,并不影响使用 @Override public List<User> listAll() { return userMapper.selectAll(); } }
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即可)
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern> %msg%n </Pattern> </layout> </appender> <logger name="com.oukele.myspringbootproject.dao" level="TRACE" /> <root level="error"> <appender-ref ref="STDOUT" /> </root> </configuration>
重新启动的效果:
到这里,我们就完成了一个项目的搭建。
演示项目下载地址:https://github.com/oukele/my-SpringBoot-Project-One
相关文章推荐
- 使用IDEA和Maven搭建一个Spring Boot项目
- IDEA搭建SpringBoot+Maven+Mybatis+MySQL-Web项目流程
- 使用idea+springboot+Mybatis搭建web项目
- 使用idea+springboot+Mybatis搭建web项目
- IDEA上搭建maven项目整合springboot+mybatis+shiro
- 使用idea+springboot+Mybatis搭建web项目
- 使用IDEA搭建maven+SSM(spring+springMVC+mybatis)项目时,出现Service注入出错问题
- SSM框架——Spring+SpringMVC+Mybatis的搭建教程 一:概述 SSM框架在项目开发中经常使用到,相比于SSH框架,它在仅几年的开发中运用的更加广泛。 Spring作为一个轻量级
- 使用IDEA创建一个Spring Boot项目
- idea+maven+springboot搭建web简单项目经历小计(RestController)
- Myeclipse下使用Maven搭建spring boot项目(第二篇)
- IDEA下创建Maven项目,并整合使用Spring、Spring MVC、Mybatis框架
- 使用IDEA基于Maven搭建多模块聚合工程(springmvc+spring+mybatis整合)
- 使用idea搭建一个简单的SSM框架:(3)配置spring+mybatis
- idea 搭建 springMVC+mybatis+maven 项目(三)mybatis-generater自动生成MyBatis代码
- 使用Idea创建ssm项目,SpringMVC+Spring+MyBatis+Maven整合
- 使用IDEA新建一个Spring Boot项目
- idea+springboot+Mybatis搭建web项目
- 使用Spring Boot +JPA+mybatis快速启动一个web项目
- springboot学习系列(一)--springboot+maven+mybatis项目搭建