1. 程式人生 > >初次搭建ssm(springboot+springMvc+Mybatis)框架實踐之路

初次搭建ssm(springboot+springMvc+Mybatis)框架實踐之路

spring,都說是程式設計師的春天到了,所以,作為測試工程師的我也搭建了個ssm工程。以前剛入IT行時,人家一談框架,我就覺得人家很厲害,自己也很少去研究框架,總感覺無從下手,各種配置千絲萬縷,不勝其煩。所謂工欲善其事必先利其器,一個高效又結構優雅的框架確實令人賞心悅目。配置簡單,結構優雅正是spring boot所擅長的。我在網上收羅了一大堆部落格,五花八門,也查看了spring 官網的文件,但是都是一些片段性的guides,對於一個如此龐大的框架,一時我迷失了方向,於是上Google,看YouTube上老外的教程視訊,對資訊的篩選太重要了。為那些曾經的忐忑和踩過的坑,梳理了一遍搭建流程,寫就此文。

  1. 在intellij idea 中建立—>工程——>Spring Initializr,設定如下,點選下一步

  2. 配置工程名元資料,設定工程groupid,artifactId,我這裡用maven構建,所以type選mavenproject,工程打包方式,需要部署到web容器的話,我這裡選war包,最後設定編譯工程的jdk版本。

  3. 選定springboot版本,設定工程依賴的模組,我這裡選了web和mybatis,從而能整合springboot mvc mybatis,點選下一步,點選完成。


  4. 工程構建完成,初始結構如下:

  5. 分層設計,結構化你的程式碼,官網推薦如下的工程目錄結構

    可以參考springboot的
    參考文件
    ,調整後的目錄結構如下:

  6. 相應的pom檔案如下:
    <?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>
    
        <groupId>com.example</groupId>
        <artifactId>springboot-mybatis-demo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>war</packaging>
    
        <name>springboot-mybatis-demo</name>
        <description>Demo project for Spring Boot</description>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.9.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.1</version>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
    
                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.5</version>
    
                    <configuration>
                        <verbose>true</verbose>
                        <overwrite>true</overwrite>
                    </configuration>
    
                    <executions>
                        <execution>
                            <id>Generate MyBatis Artifacts</id>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    
    
            </plugins>
        </build>
    
    
    </project>
  7. pom檔案中配置了MyBatis Generator外掛(俗稱MBG)來自動生成DAO層程式碼,包括model,mapper等檔案,很多配置細節,可以參考官方文件,外掛配置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">
    
    
    <!--http://www.mybatis.org/generator/configreference/xmlconfig.html#-->
    <generatorConfiguration>
    
        <properties resource="application.properties"/>
    
        <classPathEntry location="D:\repo\mysql\mysql-connector-java\5.1.44\mysql-connector-java-5.1.44.jar"/>
    
        <context id="MySqlTables" targetRuntime="MyBatis3">
    
            <commentGenerator>
                <property name="suppressDate" value="true"/>
                <property name="suppressAllComments" value="true"/>
            </commentGenerator>
    
            <jdbcConnection driverClass="${spring.datasource.driverClassName}"
                            connectionURL="${spring.datasource.url}"
                            userId="${spring.datasource.username}"
                            password="${spring.datasource.password}">
            </jdbcConnection>
    
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
    
            <javaModelGenerator targetPackage="com.example.demo.entity" targetProject="src\main\java">
                <property name="enableSubPackages" value="true"/>
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
    
            <sqlMapGenerator targetPackage="mybatis.mapper" targetProject="src\main\resources">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
    
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.mapper" targetProject="src\main\java">
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
    
            <table schema="pop_qa" tableName="users" domainObjectName="User"
                   enableCountByExample="false"
                   enableSelectByExample="false"
                   enableUpdateByExample="false"
                   selectByExampleQueryId="false"
                   enableSelectByPrimaryKey="false"
                   enableUpdateByPrimaryKey="false"
                   enableDeleteByPrimaryKey="false"
                   selectByPrimaryKeyQueryId="false"
                   enableDeleteByExample="false">
                <property name="useActualColumnNames" value="true"/>
                <!--<generatedKey column="ID" sqlStatement="DB2" identity="true"/>-->
                <!--<columnOverride column="DATE_FIELD" property="startDate"/>-->
                <ignoreColumn column="FRED"/>
                <columnOverride column="user_sex" javaType="com.example.demo.enums.UserSexEnum"/>
            </table>
    
        </context>
    </generatorConfiguration>
    

  8. application.properties配置如下,主要是mybatis配置檔案路徑、mapper.xml存放路徑,需要對映的實體類所在包路徑,以及資料連線配置。
    
    mybatis.config-locations=classpath:mybatis/mybatis-config.xml
    mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
    mybatis.type-aliases-package=com.example.demo.entity
    spring.datasource.driverClassName=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://192.168.195.161:3306/pop_qa?useUnicode=true&characterEncoding=utf-8
    spring.datasource.username=root
    spring.datasource.password=root
    


  9. 最後附上建表sql
    
    CREATE TABLE `users` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵id',
      `userName` varchar(32) DEFAULT NULL COMMENT '使用者名稱',
      `passWord` varchar(32) DEFAULT NULL COMMENT '密碼',
      `user_sex` varchar(32) DEFAULT NULL,
      `nick_name` varchar(32) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8

    例項工程已開源https://github.com/WenRui13/springboot-mybatis-demo
參考:

相關推薦

初次搭建ssm(springboot+springMvc+Mybatis)框架實踐

spring,都說是程式設計師的春天到了,所以,作為測試工程師的我也搭建了個ssm工程。以前剛入IT行時,人家一談框架,我就覺得人家很厲害,自己也很少去研究框架,總感覺無從下手,各種配置千絲萬縷,不勝其煩。所謂工欲善其事必先利其器,一個高效又結構優雅的框架確實令人賞心悅目。

使用idea搭建Maven+SSM(Spring+SpringMVC+Mybatis)框架(一、使用Maven創建新工程)

post eight 9.png 圖片 tis 本地包 end pen nbsp 一、新建Maven項目 1、如圖創建簡單java web application。 2、如圖填寫組織唯一標識和項目唯一標識 3、如圖照做 4、點擊finish即可完成項目創建,如圖為創建

SSM(Spring+SpringMVC+Mybatis)框架超詳細搭建指南(利用Maven構建專案)

其實這是我實習生涯開始後的第一個任務,但是當時太忙了一直沒有時間記錄,就按照教程走了。剛好現在實習結束了有些時間,把整個搭建的過程還有一些坑記錄下來還是很有必要的。 DEMO https://github.com/mgsky1/aboutSpring/tree/ma

SSM:spring+springmvc+mybatis框架中的XML配置文件功能詳細解釋

con initial -m and 整理 .get 尺寸 internal 頁面 SSM:spring+springmvc+mybatis框架中的XML配置文件功能詳細解釋 2016-04-14 23:40 13030人閱讀 評論(2) 收藏 舉報

SSM:spring+springmvc+mybatis框架中的XML配置檔案功能詳細解釋

SSM:spring+springmvc+mybatis框架中的XML配置檔案功能詳細解釋 這幾天一直在整合SSM框架,雖然網上有很多已經整合好的,但是對於裡面的配置檔案並沒有進行過多的說明,很多人知其然不知其所以然,經過幾天的搜尋和整理,今天總算對其中的XML配置檔案有了一定的瞭解,所以拿

SSM(Spring + Springmvc + Mybatis)框架面試題

事務管理器 map 得到 反轉 存取 _id conf last markdown JAVA SSM框架基礎面試題https://blog.csdn.net/qq_39031310/article/details/83050192 SSM(

ssm(spring+springMVC+Mybatis)框架整合Mongodb

1、開發環境 JDK:1.6 ssm框架關聯jar包: aopalliance.jar aspectjrt.jar aspectjweaver.jar commons-beanutils-1.9.2.jar commons-codec-1.9.jar commons-col

SSM(Spring+SpringMVC+Mybatis)框架整合Demo+詳細講解

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins

java web,從零開始,一步一步配置ssm(Spring+SpringMVC+MyBatis)框架

1、安裝JDK: 安裝之後要配置環境變數,在系統變數裡: 新建變數名JAVA_HOME,變數值C:\Program Files\Java\jdk1.8.0_77; 新建變數名CLASSPATH,變數值.;%JAVA_HOME%\lib\tools.jar Path後面新增%

Maven學習筆記(八)-Maven整合SSM(spring+springMVC+Mybatis)框架

一、所用版本與步驟 三個框架所使用的版本: mybatis ---- 3.2.5 spring ---- 4.3.3.RELEASE spring mvc ---- 4.3.3.RELEASE 其它: junit ---- 4.8.1 mysql ---- 5.1.

快速搭建SSM(Spring,SpringMVC,Mybatis)環境詳細過程

快速搭建SSM(Spring,SpringMVC,Mybatis)環境詳細過程 我是做移動(Android)開發的,這幾天利用專案空隙大概學習了資料介面的相關知識,在這裡主要記錄一下搭建SSM環境的操作過程。所謂“工欲善其事必先利其器”,搭建開發環境往往是學習的第一步,其實這麼說不太準確,選

SSM Spring SpringMVC Mybatis框架整合Java配置完整版

  以前用著SSH都是老師給配好的,自己直接改就可以。但是公司主流還是SSM,就自己研究了一下Java版本的配置。網上大多是基於xnl的配置,但是越往後越新的專案都開始基於JavaConfig配置了,這也是寫此文章的原因。不論是eclipse還是myeclipse 都沒有整合mybatis的相關元件,Spri

搭建Maven+Spring+SpringMVC+Mybatis後臺環境在IDEA中整合Maven

搭建Maven+Spring+SpringMVC+Mybatis後臺環境之在IDEA中整合Maven 開啟IDEA,插一句閒話:沒事就更新最新版吧,之前用的2018.1差點把自己坑死,同樣的裝備換成最新版,啥問題都沒有。 1、開啟 File → Settings 如圖配置

搭建Maven+Spring+SpringMVC+Mybatis後臺環境Maven的安裝與配置

搭建Maven+Spring+SpringMVC+Mybatis後臺環境之Maven的安裝與配置 最近沉迷於小程式開發,前端學習的差不多了,後臺想用Maven+Spring+SpringMVC+Mybati體系結構來開發,用MySQL作為資料庫。本文先介紹Maven的安裝。 下載

搭建springbootssm(spring + springmvc + mybatis)的maven項目

target pin 目錄結構 IV 用戶 () 文件中 report mys 最終項目目錄結構 創建過程 1.創建開關SpringBootApplication 為了創建快速。我們使用idea自帶的創建springboot來創建結構,當然創建普通的web項目也是可以的

Dubbo+SpringBoot+Spring+SpringMVC+MyBatis框架搭建的Demo中遇到的錯誤

遇到的報錯問題: com.alibaba.dubbo.remoting.RemotingException: message can not send, because channel is closed . url:dubbo://192.168.43.177:20880/com.test.s

SSM框架搭建(spring+springmvc+mybatis

一.建立web專案(eclipse)  File-->new-->Dynamic Web Project (這裡我們建立的專案名為SSM) 下面是大致目錄結構   二. SSM所需jar包。  jar包連結:https://pan.b

SSM框架搭建(Spring+SpringMVC+Mybatis第一個專案的搭建

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchem

SSM框架搭建(Spring+SpringMVC+MyBatis)與easyui整合並實現增刪改查實現

一、用myEclipse初始化Web專案        新建一個web project: 二、建立包 controller        //控制類 service//服務介面 service.impl//服務實現類 dao  //data access object

分布式框架簡介SSM組合+ springmvc+mybatis+shiro+restful+bootstrap

dubbo+springmvc+mybatis+ehcache+redis J2ee分布式架構 restful kafka shiro 摘要: 核心框架:spring framework 安全框架:Apache Shiro 1.2 視圖框