快速搭建springboot工程
一、创建SpringBoot的三种方式
- 在线创建: https://start.spring.io
- 在IntelliJ IDEA中选择Spring Initializr创建;或者在Eclipse中选择 New -> Spring Starter Project创建(本质于第一种创建方式相同)
- 通过Maven创建,选择maven-archetype-quickstart骨架并在pom文件见中添加如下依赖:
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>2.5.4</version>
- <relativePath/> <!-- lookup parent from repository -->
- </parent>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- </dependencies>
二、配置启动类
配置App 的启动类,如下:
- @SpringBootApplication
- public class App
- {
- public static void main(String[] args) {
- SpringApplication.run(App. class,args);
- }
- }
这就可以启动一个SpringBoot工程了。
三、整合MyBatis
依次添加mysql数据库、druid数据库连接池、mybatis依赖
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>8.0.16</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>druid</artifactId>
- <version>1.1.13</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>1.3.2</version>
- </dependency>
配置mybatis逆向工程插件
- <plugin>
- <groupId>org.mybatis.generator</groupId>
- <artifactId>mybatis-generator-maven-plugin</artifactId>
- <version>1.3.7</version>
- <!--要使用该插件还需要依赖generator-core -->
- <dependencies>
- <dependency>
- <groupId>org.mybatis.generator</groupId>
- <artifactId>mybatis-generator-core</artifactId>
- <version>1.3.7</version>
- </dependency>
- <!--需要对mysql数据库解析的依赖 -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>8.0.16</version>
- </dependency>
- </dependencies>
- <!--在构建生命周期中执行一组目标的配置。每个目标可能有不同的配置。-->
- <!--简单来说:这段配置是用来启动逆向工程配置文件的 -->
- <executions>
- <!--execution元素包含了插件执行需要的信息-->
- <execution>
- <!--执行目标的标识符,用于标识构建过程中的目标,或者匹配继承过程中需要合并的执行目标-->
- <id>mybatis-generator</id>
- <!--绑定了目标的构建生命周期阶段,如果省略,目标会被绑定到源数据里配置的默认阶段-->
- <phase>package</phase>
- <!--配置的执行目标-->
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- <!--作为DOM对象的配置-->
- <configuration>
- <!--允许移动生成的文件 -->
- <verbose>true</verbose>
- <!--允许自动覆盖文件,注意:在企业中,不要设置为true,容易毁掉别人的劳动成果 -->
- <overwrite>true</overwrite>
- <!--配置文件路径 -->
- <configurationFile>src/main/resources/mybatis-generator.xml</configurationFile>
- </configuration>
- </plugin>
编写mybatis-generator.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>
- <!-- targetRuntime 可以设置生成代码的版本:
- 1. MyBatis3 功能复杂版本(豪华版)
- 2. MyBatis3Simple 只有简单的CRUD功能版本
- -->
- <context id="DB2Tables" targetRuntime="MyBatis3">
- <commentGenerator>
- <!-- 是否去除自动生成的注释 -->
- <property name="suppressAllComments" value="true" />
- </commentGenerator>
- <!-- Mysql数据库连接的信息:驱动类、连接地址、用户名、密码 -->
- <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
- connectionURL="jdbc:mysql://localhost:3306/Ecommerce_spike?serverTimezone=Asia/Shanghai"
- userId="root"
- password="root" />
- <!-- 默认为false,把JDBC DECIMAL 和NUMERIC类型解析为Integer,
- 为true时 把JDBC DECIMAL 和NUMERIC类型解析为java.math.BigDecimal -->
- <javaTypeResolver>
- <property name="forceBigDecimals" value="false" />
- </javaTypeResolver>
- <!--
- javaModelGenerator 生成JavaBean
- targetPackage 指定生成包的位置
- targetProject:指定生成项目位置
- -->
- <javaModelGenerator
- targetPackage="com.miaoshaProject.Entity" targetProject="src/main/java">
- <!-- enableSubPackages:是否让schema作为包的后缀 -->
- <property name="enableSubPackages" value="false" />
- <!-- 从数据库返回的值被清理前后的空格 -->
- <property name="trimStrings" value="true" />
- </javaModelGenerator>
- <!--
- sqlMapGenerator 生成Mapper.xml配置信息
- targetPackage 指定生成包的位置
- targetProject:指定生成项目位置
- -->
- <sqlMapGenerator targetPackage="mapper"
- targetProject="src/main/resources">
- <!-- enableSubPackages:是否让schema作为包的后缀 -->
- <property name="enableSubPackages" value="false" />
- </sqlMapGenerator>
- <!--
- javaClientGenerator 生成Mapper接口信息
- targetPackage 指定生成包的位置
- targetProject:指定生成项目位置
- -->
- <javaClientGenerator type="XMLMAPPER"
- targetPackage="com.miaoshaProject.Dao" targetProject="src/main/java">
- <!-- enableSubPackages:是否让schema作为包的后缀 -->
- <property name="enableSubPackages" value="false" />
- </javaClientGenerator>
- <!-- 指定数据表:
- table标签:一个标签对应一个数据库表
- tableName:对应数据库表名
- domainObjectName:对应生成JavaBean类名
- enableCountByExample="false" 可以避免生成-Example类
- 因为在实际生产中,遇到复杂的sql语句是通过自己编写完成的而不是通过使用-Example类完成
- 这样就只会生成简单的sql方法
- -->
- <table tableName="user_info" domainObjectName="User"
- enableCountByExample="false" enableUpdateByExample="false"
- enableDeleteByExample="false" enableSelectByExample="false"></table>
- <table tableName="user_password" domainObjectName="Password"
- enableCountByExample="false" enableUpdateByExample="false"
- enableDeleteByExample="false" enableSelectByExample="false"></table>
- </context>
- </generatorConfiguration>
运行该配置文件Run->Edit Configurations...,创建一个Maven,重点是配置Command line 要与上面pox文件中
- <execution>标签中的内容对应。
mybatis-generator:generate对应<execution>标签中的<id>和<goal>
运行即可生成相应的实体类、mapper文件等。
再配置application.yml文件
- server:
- port: 8080
- spring:
- application:
- name: E-commerce_spike
- datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://localhost:3306/Ecommerce_spike?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
- username: root
- password: root
- #配置druid数据连接池
- type: com.alibaba.druid.pool.DruidDataSource
- mybatis:
- mapper-locations: classpath:mapper/*.xml
注意:mapper.xml文件放在了resource目录下。
若和mapper接口放在一起,maven工程在打包时会将xml文件忽略,需要在pom文件中添加以下配置:
- <build>
- <resources>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- <resource>
- <directory>src/main/resources</directory>
- </resource>
- </resources>
- </build>
四、测试
- @SpringBootApplication
- //@EnableAutoConfiguration 表示开启自动化配置,与上面的注解异曲同工的功能
- public class App
- {
- public static void main(String[] args) {SpringApplication.run(App. class,args);}
- @Resource
- private UserMapper userMapper;
- @GetMapping("/hello")
- public String Hello(){
- User user = userMapper.selectByPrimaryKey(1);
- if (user == null){
- return "对象不存在";
- }else{
- System.out.println(user.getName());
- return "yes";
- }
- }
- }
访问localhost:8080/hello查看返回结果。
快速搭建springboot工程的更多相关文章
- 在线官网Spring Initializr 或 IntelliJ IDEA 快速搭建springboot项目
Spring Boot是由Pivotal团队提供的全新框架,设计目的是用来简化新Spring应用的初始搭建以及开发过程.它主要推崇的是'消灭配置’,实现零配置. 那么,如何快速新建一个一个spring ...
- 聊聊SpringBoot | 第一章:快速搭建SpringBoot第一个应用
快速搭建SpringBoot第一个应用 1.简介 本章仅介绍如何快速搭建第一个SpringBoot应用,细节内容下一章再做讲解,如果有需要,各位可以直接到Spring官网去了解. 从 Spring B ...
- 快速搭建springboot框架以及整合ssm+shiro+安装Rabbitmq和Erlang、Mysql下载与配置
1.快速搭建springboot框架(在idea中): file–>new project–>Spring Initializr–>next–>然后一直下一步. 然后复制一下代 ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-2.快速搭建SpringBoot项目,采用IDEA
笔记 2.快速搭建SpringBoot项目,采用IDEA 简介:使用SpringBoot start在线生成项目基本框架并导入到IDEA中 参考资料: IDEA使用文档 ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-1.快速搭建SpringBoot项目,采用Eclipse
笔记 1.快速搭建SpringBoot项目,采用Eclipse 简介:使用SpringBoot start在线生成项目基本框架并导入到eclipse中 1.站点地址:http://start. ...
- 使用IDEA快速搭建Springboot项目
Spring Boot是由Pivotal团队提供的全新框架,设计目的是用来简化新Spring应用的初始搭建以及开发过程.它主要推崇的是'消灭配置’,实现零配置. 下面就介绍一下如何使用idea快速搭建 ...
- 使用quickstart方式快速搭建maven工程
通常idea 创建maven工程,初始化会比较慢,针对这种现象.我们可以使用一些巧妙的方式来帮助快速搭建 废话不多说直接上图! 图1 使用 archetype-quickstart 选择 图二 点击 ...
- IDEA下从零开始搭建SpringBoot工程
SpringBoot的具体介绍可以参看其他网上介绍,这里就不多说了,就这几天的学习,个人理解,简而言之: (1)它是Spring的升级版,Spring容器能做到的事情,它都能做到,而且更简便,从配置形 ...
- 如何基于 Docker 快速搭建 Springboot + Mysql + Redis 项目
目录 前言 项目目录 搭建项目 1. docker安装启动mysql以及redis 1.1 安装mysql 1.2 安装redis 2. 初始化数据库 3.创建项目 4.初始化代码 4.1 全局配置文 ...
随机推荐
- CentOS7 ab压力测试安装与解释
https://blog.csdn.net/qq_39399966/article/details/102576949 Step 1 - ab (apache benchmark) 安装 yum -y ...
- 第10组 Alpha冲刺 (2/6)
1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/ ·作业博客:https://edu.cnblogs.com/campus/fzu/FZ ...
- Spark-2.0.2源码编译
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6813925210731840013/ Spark官网下载地址: http://spark.apache.org/d ...
- less与sass的区别
在介绍less和sass的区别之前,我们先来了解一下他们的定义: 一.Less.Sass/Scss是什么? 1.Less: 是一种动态样式语言. 对CSS赋予了动态语言的特性,如变量.继承.运算.函数 ...
- 使用 Jenkins + Ansible 实现 Spring Boot 自动化部署101
本文要点:设计一条 Spring Boot 最基本的流水线:包括构建.制品上传.部署.使用 Docker 容器运行构建逻辑.自动化整个实验环境:包括 Jenkins 的配置,Jenkins agent ...
- session反序列化
先来了解一下关于session的一些基础知识 什么是session?在计算机中,尤其是在网络应用中,称为"会话控制".Session 对象存储特定用户会话所需的属性及配置信息.这样 ...
- Docsify部署IIS
什么是Docsify? 一个神奇的文档网站生成器.docsify 可以快速帮你生成文档网站.不同于 GitBook.Hexo 的地方是它不会生成静态的 .html 文件,所有转换工作都是在运行时.如果 ...
- Unable to open 'free_base.cpp': Unable to read file 'c:\Program Files\Microsoft VS Code\minkernel\crts\ucrt\src\appcrt\heap\free_base.cpp'
问题 vscode编写C++程序,使用microsoft C++ Unable to open 'cvt.cpp': Unable to read file 'c:\Program Files\Mic ...
- 小程序或者vue,解决菜单导航做做成轮播的样子
案例: 其中最重要的思路就是如何让第二次或第三次以及后面的轮播有数据: 做法大致跟轮播图做法一样,只不过我们需要进行书写样式,代码如下: <!-- 做一个轮播图navbar demo --> ...
- Vscode不能连接应用商店
删除这两个文件即可: 1.C:\Users\Administrator\.vscode 2.C:\Users\Administrator\AppData\Roaming\Code