使用**IDEA创建maven项目**,勾选从模板原型构建,这里选择maven-archetype-quickstart类型,这种类型的maven项目以jar包的方式提供对外统一的输出,这是最快速的一个构建Spring Boot研发项目的模板。在没有Spring Boot的开发框架时,更多的选择maven-archetype-webapp,这种方式创建的是以war包方式部署在Tomcat或JBoss这种J2EE的容器。详见[Maven官方文档](http://maven.apache.org/guides/introduction/introduction-to-archetypes.html)
创建成功后,需要给**目录**指定其为什么目录,选定项目文件夹,右键选择Mark Directory as,然后选择目录类型。还要在main目录下创建resources目录并指定类型。main目录下的java目录下放置java源代码,resources目录下放置spring、spring boot等的资源配置文件。
从零**集成项目**:进入[Spring官方文档](https://spring.io/guides/gs/rest-service/),查看Build with Maven目录下pom.xml文件,从其中复制spring-boot-starter-parent依赖到项目中的pom.xml文件中,这样当前的项目就是Spring Boot项目。并在项目pom文件<dependencies>标签内引入spring-boot-starter-parent下的spring-boot-starter-web和spring-boot-starter-test项目。
在APP class上加@EnableAutoConfiguration注解
将APP的**启动类**当成可以支持自动化配置的bean,并且能够开启整个工程类基于springboot的自动化的配置,然后用下面这行代码启动Spring Boot。
```
SpringApplication.run(App.class,args);
```
要实现Spring MVC的***controller***功能,则引入注解@RestController或@Controller
Spring Boot 对应的**配置化操作**,只需要在resources目录下创建默认配置文件——application.yml或application.properties,在其中进行配置。
**集成Mybatis**:进入pom文件,确定使用的数据库,使用mysql,则引入mysql-connector-java包;确定使用什么连接池来管理mysql的链接,这里使用阿里巴巴的druid连接池。然后将spring boot对mybatis的支持引入,这里使用mybatis-spring-boot-starter包;在配置文件类导入mybatis需要的一些配置,用来启动一个带mybatis数据库访问的一个spring boot工程,例:
```yml
mybatis:
mapper-locations: classpath:mapping/*.xml
spring:
datasource:
name: miaohsa
url: jdbc:mysql://localhost:3306/miaosha?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username: root
password: 123456
#使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
```
然后使用**mybatis的自动生成工具**,用来生成对应数据库文件的映射。
在pom中引入mybatis自动生成的插件,例:
```xml
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>mybatis generator</id>
<phase>package</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<!--允许移动生成的文件-->
<verbose>true</verbose>
<!--不允许自动覆盖文件-->
<overwrite>false</overwrite>
<configurationFile>
src/main/resources/mybatis-generator.xml
</configurationFile>
</configuration>
</plugin>
```
其中mybatis-generator.xml文件在[官网](http://www.mybatis.org/generator/configreference/xmlconfig.html)中有,可粘贴过来,删改使用,例:
```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="DB2Tables" targetRuntime="MyBatis3">
<!--数据库链接地址账号密码-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/miaosha?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
userId="root"
password="123456">
</jdbcConnection>
<!--生成dataobject类的存放位置-->
<javaModelGenerator targetPackage="com.miaosha.dataobject" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--生成映射文件存放位置-->
<sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!--生成Dao类的存放位置-->
<!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件的代码
type="ANNOTATIONDMAPPER",生成Java Model和基于注解的Mapper 对象
type="MIXEDMAPPER",生成基于注解的Java Model和相应的Mapper对象
type="XMLMAPPER",生成SQLMap XML 文件和独立的Mapper接口
-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.miaosha.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!--生成对应表和类名-->
<table tableName="user_info" domainObjectName="UserDO" enableCountByExample="false"
enableUpdateByExample="false" enableSelectByExample="false"
enableDeleteByExample="false" selectByExampleQueryId="false"></table>
<table tableName="user_password" domainObjectName="UserPasswordDO" enableCountByExample="false"
enableUpdateByExample="false" enableSelectByExample="false"
enableDeleteByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
```
在Run/Debug Configuration下新建一个Maven的配置,例:

将@EnableAutoConfiguration注解改为@SpringBootApplication,其等价于以默认属性使用@Configuration , @EnableAutoConfiguration 和@ComponentScan 。最终启动类注解例:
```java
@SpringBootApplication(scanBasePackages = {"com.miaosha"})
@RestController
@MapperScan("com.miaosha.dao")
```
使用**SpringMVC方式进行开发**,项目结构

其中***dao层***与***dataobject层***由mybatis自动生成工具生成,dataobject层(负责数据存储到service层的传输)下的类对应数据库对象模型,其中的字段与数据库一一映射,dao层下的类定义对数据库进行交互的方法,在resources的mapping目录下有自动生成dao层对应的配置文件,一起实现对数据库的操作。
在***service层***下model目录下创建对象模型(不可以把数据库的映射简单透传返回给想要service的服务,这个model对应Spring MVC中业务逻辑交互的模型),然后在数据库中创建对应的表,在service层下创建对应对象的service接口,接口中定义需要的方法(方法的返回类型大部分为model对象),在service层下impl目录下去实现。添加方法:在mapping目录下对应配置文件中添加相应的SQL语句,在dao目录下的对应接口中建立映射(添加方法)。
**注:**若数据库�
Spring Boot+Mybatis项目总结.zip
需积分: 0 140 浏览量
更新于2023-11-04
收藏 172KB ZIP 举报
Spring Boot和Mybatis是Java开发领域中非常流行的两个框架,它们在构建Web应用程序时提供了极大的便利。本项目总结将深入探讨这两个技术的结合使用,以及如何利用它们来创建高效、可维护的Java应用。
Spring Boot是Spring框架的一个简化版本,它内置了许多常用功能,如自动配置、内嵌Web服务器(如Tomcat)、健康检查和应用监控等。Spring Boot旨在简化新Spring应用的初始搭建以及开发过程,使得开发者可以快速地启动和运行一个独立的Java应用。
Mybatis则是一个轻量级的持久层框架,它解决了Java开发中数据库操作的复杂性。Mybatis允许开发者通过编写简单的XML或注解配置,将SQL语句与Java代码绑定,从而实现灵活、高效的数据库访问。Mybatis强调的是对SQL的直接控制,相比传统的JDBC,它提供了更好的性能和易用性。
当Spring Boot与Mybatis结合使用时,我们可以享受到两者的优点。Spring Boot可以提供自动化配置和依赖管理,使得Mybatis的集成变得简单。通常,我们只需要在`pom.xml`或`build.gradle`文件中添加Mybatis的依赖,然后在`application.properties`或`application.yml`中配置数据源,就可以开始使用Mybatis了。
接下来,项目中可能包括以下几个关键组件:
1. **Mapper接口**:这是Mybatis的核心部分,定义了数据库操作的方法。这些方法与对应的XML映射文件中的SQL语句相对应。
2. **Mapper XML文件**:在资源目录下的`src/main/resources/mapper`文件夹中,每个Mapper接口对应一个XML文件,用于存放具体的SQL语句和结果映射。
3. **Service层**:在业务逻辑层,Spring Boot的依赖注入可以帮助我们轻松地注入Mapper接口,进行数据库操作。Service层通常负责处理业务逻辑,调用Mapper接口执行CRUD操作。
4. **Controller层**:这是Spring MVC的一部分,负责接收HTTP请求并调用Service层的方法,返回响应结果。Spring Boot提供了@RestController注解,使得创建RESTful API变得更加简单。
5. **配置文件**:`application.properties`或`application.yml`中,我们需要配置数据源信息,比如数据库连接URL、用户名、密码等。同时,也可以配置Mybatis的相关属性,如全局配置、日志等。
6. **启动类**:Spring Boot应用的入口,通常包含@SpringBootApplication注解,表明这是一个Spring Boot应用,并启动Spring Boot的自动配置机制。
7. **测试**:项目可能包含了单元测试和集成测试,使用JUnit和Mockito等工具,确保代码的质量和功能的正确性。
通过这样的结构,我们可以构建出一个功能完善的Spring Boot应用,利用Mybatis进行数据访问。这种方式不仅简化了项目的结构,还提高了开发效率。同时,Spring Boot的Actuator模块还可以提供健康检查、监控等功能,帮助我们更好地管理和维护应用。
Spring Boot与Mybatis的结合使用,为Java Web开发提供了一个强大而灵活的解决方案。它将Spring的便捷性和Mybatis的灵活性相结合,使得开发者可以专注于业务逻辑,而不是底层的配置和整合。这正是这个项目总结的重点所在,希望对你的学习和实践有所帮助。

武昌库里写JAVA
- 粉丝: 7673
- 资源: 3942
最新资源
- 基于Arduino设计的直流电压表毕业项目,原理图、源码-电路方案
- 基于深度学习和单目摄像头测距的前车碰撞预警系统源码详解(附设计文档),基于深度学习和单目摄像头测距的前车碰撞预警系统源码详解(GPU与CPU版本),前车碰撞预警-FCW,基于深度学习和单目摄像头测距
- RedPanda.C .3.2.win64.MinGW64-11.4.zip
- unixbench自动化脚本
- 毕业设计基于Python的Django-html基于知识图谱电影推荐问答系统源码(完整前后端+mysql+说明文档+LW+PPT).zip
- 青海统计年鉴2000-2020年
- 价值19800的影视视频微信小程序源码-自带支付通道带采集+搭建教程
- mingw-w64-x86-64-gmp-6.3.0-2-any.pkg.zip
- lua基础编程,包括lua的基本类型,语法,table,面向对象,协程,和c api
- 扫地机器人路径规划中遗传算法的应用与MATLAB实现-遗传算法-路径规划-扫地机器人-优化搜索-matlab
- 软考初级程序员 C程序设计(一)ppt
- spec2017工具cfg配置文件
- ltp20240524工具
- 西门子PLC STEP7编程软件梯形图与昆仑通态触摸屏电锅炉峰谷电供热系统全方案,CAD原理图全套包装解析,西门子PLC与昆仑通态触摸屏联控电锅炉供热系统:峰电供热与谷电蓄热水箱全自动蓄能程序CAD原
- HFI脉振方波高频注入与增强滑膜esmo代码:含原厂文档,TI与ST移植方式,学习资料大放送,HFI脉振方波高频注入与增强滑膜esmo代码:含原厂文档,可移植使用,支持TI与ST方式,HFI脉振方波高
- 2025年2月28日PPTX