Springboot + mybatis搭建后台框架

最近在学习Java搭建后台框架,想自己写接口,自己用,毕竟自己动手丰衣足食,同时也想去了解一下后台的大体框架和流程是怎么创建的,此过程由公司后台教的,有人带着真好~
首先第一步,就是创建数据库,这个是必不可少的,本人用的数据库为Mysql,数据库管理工具为Mysql Workbeanch:
打开workbeanch,如果你的工作空间有本地数据库连接,就无须创建一个了,因为自己本地的数据库连接只有一个,之前网上教程一直创建一个新的连接,总是失败,总监告诉我,本地只有一个连接,所有的本地数据库都在这一个地方控制:

然后就是没有本地连接的,那么就创建一个本地连接:

然后就是设置你的数据库连接的属性了:

然后点击OK,这样本地的数据库连接就创建成功了:(因为我取得Connection name是中文,所以是乱码,这个无所谓,可以设置一下编码都行)

本地数据库连接创建完毕之后,接下来就是创建本地数据库了,在点击输入密码之后,进入页面:

点击左上角的小红框进行创建数据库:

然后点击下方的Apply,在弹出一个框框之后,继续点击Apply,我就不截图了,太麻烦了····

在你的左下角找到这个就说明创建成功了,你的数据库,然后就是创建一个表了:

OK,这样里面就添加一点点字段即刻,用来测试一下就行,我就用我的表来说接下来的功能了哈··不用这个给你们测试用的表了,接下来就是打开我们的idea,看他们都用Myeclipse做,我总觉得太麻烦了,还不如用Idea方便,我的idea版本是1.3的,和现在的2.2差不多:

第一步就是File --> new --> Project:

选择Spring Initializr,其他选项默认即刻,其他的我就不描述的,看图识字!

好!终于创建完了···        

如果你的环境都配置好的话,就看到的目录应该是这样的:


项目创建成功之后,我们就来配置一些初始化的东西:

首先配置的是pom.xml中的东西:(看好标签在放!!)
 

<properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <mybatis-spring.version>1.3.1</mybatis-spring.version>
        <mybatis-spring-boot-starter.version>1.3.0</mybatis-spring-boot-starter.version>
        <mybatis.version>3.4.4</mybatis.version>
        <pagehelper-spring-boot-starter.version>1.0.0</pagehelper-spring-boot-starter.version>
        <druid.version>1.0.29</druid.version>
        <mapper.version>3.3.4</mapper.version>
        <json-lib.version>2.4</json-lib.version>
        <pagehelper-spring-boot-starter.version>1.0.0</pagehelper-spring-boot-starter.version>
        <springfox-swagger.version>2.2.2</springfox-swagger.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--视图支持 start -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <dependency>
            <groupId>net.sourceforge.nekohtml</groupId>
            <artifactId>nekohtml</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${mybatis-spring-boot-starter.version}</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>${mybatis-spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis.version}</version>
        </dependency>

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>${pagehelper-spring-boot-starter.version}</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>

        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
            <version>${mapper.version}</version>
        </dependency>

        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>${json-lib.version}</version>
            <classifier>jdk15</classifier>
        </dependency>

        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
        <!--视图支持 end -->

        <!--热启动 start -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
        <!--热启动 end -->

        <!--mysql驱动 start -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${mybatis-spring-boot-starter.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>
        <!--mysql驱动 end -->

        <!--分页支持 start -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>${pagehelper-spring-boot-starter.version}</version>
        </dependency>
        <!--分页支持 end -->

        <!--poi导入相关 start -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.9</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-excelant</artifactId>
            <version>3.9</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>3.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlbeans</groupId>
            <artifactId>xmlbeans</artifactId>
            <version>2.6.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.9</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>ooxml-schemas</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>3.16</version>
        </dependency>
        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>org.apache.poi.xwpf.converter.xhtml</artifactId>
            <version>1.0.4</version>
        </dependency>
        <!--poi导入相关 end -->

        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>

        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>${json-lib.version}</version>
            <classifier>jdk15</classifier>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.8.1</version>
        </dependency>

    </dependencies>

    <build>
        <finalName>asset_split</finalName>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <!-- 代表生成的内容不要覆盖已有的内容 -->
                    <overwrite>false</overwrite>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.21</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

放进去之后,在你的右下角会出来一个import让你下载,然后你就点击,抿口茶就完了··等待一切妥当之后,开始配置数据库了,也就是application.properties:

这是代码:
 

#数据库连接
spring.datasource.url=jdbc:mysql://连接地址:端口号/数据库名称?useUnicode=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=CTT
spring.datasource.username=用户名
spring.datasource.password=密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10
#service配置
server.address=localhost
server.port=8080
#logging.level.org.springframework.web = DEBUG
logging.level.com.myjsp=DEBUG
mybatis.configuration.log-impl:org.apache.ibatis.logging.stdout.StdOutImpl
#mybatis配置
mybatis.mapperLocations=classpath*:mapper/**/*Mapper.xml
#session配置
spring.session.store-type=none
# tomcat配置
server.tomcat.remote-ip-header=x-forwarded-for
spring.jackson.serialization.fail-on-empty-beans=false
# 配置JavaScript代码的映射
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.servlet.content-type=text/html
spring.thymeleaf.cache=false
spring.thymeleaf.mode=LEGACYHTML5

接下来,,就是搭建框架的时候了!!!

创建这些结构,和我一样:

然后我们接下来一一看这些包下需要实现哪些东西:
首先给你们看下我的数据库是什么样的:


不要在意内容,好的,接下来就是先创建一个Bean类,用来存放这些返回值的地方:


这是一个父类,统一管理,还有一个子类:(用来存放数据库中的字段)

接下来就是我们mapper下的东西了,之前说过,mapper是对应我们数据库查询得映射,是接口包:

定义一个接口,返回值就用我们的子类就行,这个传入的参数是用来做查询使用的,然后就是我们的数据库查询了:

代码来咯:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.test.demo.mapper.Mapper">
    <resultMap type="com.test.demo.po.Hello" id="CourseResult">
        <id column="id" property="id" jdbcType="INTEGER"/>
        <result column="tb_userName" property="tbUserName" jdbcType="VARCHAR"/>
        <result column="tb_userPassword" property="tbUserPassword" jdbcType="VARCHAR"/>
        <result column="tb_userSex" property="tbUserSex" jdbcType="VARCHAR"/>
        <result column="tb_userAge" property="tbUserAge" jdbcType="VARCHAR"/>
        <result column="tb_userAddress" property="tbUserAddress" jdbcType="VARCHAR"/>
    </resultMap>

    <sql id="tb_user">
        id, tb_userName, tb_userPassword, tb_userSex, tb_userAge, tb_userAddress
    </sql>

    <select id="hello" resultMap="CourseResult" parameterType="java.lang.String">
        select
        <include refid="tb_user"/>
        from tb_user where tb_userName = #{tb_userName,jdbcType = VARCHAR}
    </select>

</mapper>

我们现在就要去创建service下的接口了,用来和mapper下的接口相关联:

接下来就是去实现mapper和service下的接口管理类了,也就是serviceImpl包下面的东西了···好累

                                                                                                                

 

然后就是Control的啦,用来实现外部请求和内部相应的重要类!!

好,至此,我们的App请求接口写完了,,,现在我们去看一下接口请求是什么样子的:

记住,先跑一下,就是右上角的倒三角形··接下来就是三种请求方式的结果:

这是三种请求方式的返回结果!!接下来就是网页的请求方式了····

告辞!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值