1. 程式人生 > >IDEA下Maven專案中使用Mybatis及Mybatis Generator

IDEA下Maven專案中使用Mybatis及Mybatis Generator

寫在前面:

前面在《前後端分離的思考》的一文中提到又有一門課要開始寫大作業了,在初步理解了需求了之後,專案準備採用Maven+Mybatis+Mysql+SpringMVC+Vue.js的架構。採用Maven解決依賴管理問題十分方便(貌似gradle後來者居上,更方便了)。後臺用的SpringMVC框架,畢竟也是javaWeb方面很常用的了。前端框架採用的是Vue.js,本身沒怎麼系統的使用過前端框架,這次也是第一次使用Vue,如果學到了什麼有價值的東西也會開一篇帖子專門來敘述一下。今天好好唸叨一下Mybatis和MybatisGenerator吧。

1.什麼是MyBatis?

官網的解釋我直接copy過來:MyBatis 是支援定製化 SQL、儲存過程以及高階對映的優秀的持久層框架。MyBatis 避免了幾乎所有的 JDBC 程式碼和手動設定引數以及獲取結果集。MyBatis 可以對配置和原生Map使用簡單的 XML 或註解,將介面和 Java 的 POJOs(Plain Old Java Objects,普通的 Java物件)對映成資料庫中的記錄。

真正用一遍MyBatis在回來看這段話,確實寫的很簡潔明瞭。

2.怎麼用Mybatis?

按照我前面說的架構,使用Mybatis還是很簡單的,只需要把各項配置檔案配置好就可以了。但是如果各種最一般的資料查詢介面,實體類等等還要我們一個個去手寫的話,那不但浪費時間還會磨掉你對開發的激情。所以最最重要的是使用Mybatis-generator去幫我們自動生成關於某些表的實體類,dao(data access object)層介面,mapper介面,xxxmapper.xml等等。

首先我這裡直接把各種牽扯的配置檔案給進來,看註釋的應該都不難。在這之前先看一下專案的目錄結構,這樣便於後面理解


pom.xml

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.zxx.web</groupId>
  <artifactId>web-ssm</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>web-ssm Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <!-- spring版本號 -->
    <spring.version>4.2.5.RELEASE</spring.version>

    <!-- mybatis版本號 -->
    <mybatis.version>3.2.8</mybatis.version>

    <!-- mysql驅動版本號 -->
    <mysql-driver.version>5.1.29</mysql-driver.version>

    <!-- log4j日誌包版本號 -->
    <slf4j.version>1.7.18</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
    <velocity.version>1.7</velocity.version>
    <velocity-tools.version>2.0</velocity-tools.version>
  </properties>
  <dependencies>
    <!-- 新增jstl依賴 -->
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

    <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>7.0</version>
    </dependency>

    <!-- 新增junit4依賴 -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <!-- 指定範圍,在測試時才會載入 -->
      <scope>test</scope>
    </dependency>

    <!-- 新增spring核心依賴 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-oxm</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>

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

    <!-- 新增mybatis依賴 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>${mybatis.version}</version>
    </dependency>

    <!-- 新增mybatis/spring整合包依賴 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.2.2</version>
    </dependency>

    <!-- 新增mysql驅動依賴 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql-driver.version}</version>
    </dependency>
    <!-- 新增資料庫連線池依賴 -->
    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.2.2</version>
    </dependency>

    <!-- 新增fastjson -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.1.41</version>
    </dependency>

    <!-- 新增日誌相關jar包 -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
    </dependency>

    <!-- log end -->
    <!-- 映入JSON -->
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.9.13</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.8.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.8.0</version>
    </dependency>

    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.1</version>
    </dependency>

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

    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.9</version>
    </dependency>

    <!--velocity-->
    <dependency>
      <groupId>org.apache.velocity</groupId>
      <artifactId>velocity</artifactId>
      <version>${velocity.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.velocity</groupId>
      <artifactId>velocity-tools</artifactId>
      <version>${velocity-tools.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.freemarker</groupId>
      <artifactId>freemarker</artifactId>
      <version>2.3.22</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>4.1.6.RELEASE</version>
    </dependency>
  </dependencies>
  <build>
    <finalName>web-ssm</finalName>
    <plugins>
      <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.2</version>
        <configuration>
          <!--配置檔案的位置-->      <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
          <verbose>true</verbose>
          <overwrite>true</overwrite>
        </configuration>
        <executions>
          <execution>
            <id>Generate MyBatis Artifacts</id>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.2</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</project>

spring-mybatis.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd
                        http://www.springframework.org/schema/tx
                        http://www.springframework.org/schema/tx/spring-tx.xsd">

    <!-- 自動掃描 -->
    <!--<context:component-scan base-package="com.zxx.ssm"/>-->

    <!-- 第一種方式:載入一個properties檔案 -->
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:jdbc.properties"/>
    </bean>


    <!-- 第二種方式:載入多個properties檔案
    <bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="locations">
            <list>
                <value>classpath:jdbc.properties</value>
                <value>classpath:common.properties</value>
            </list>
        </property>
        <property name="fileEncoding" value="UTF-8"/>
    </bean>
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
        <property name="properties" ref="configProperties"/>
    </bean>
    -->

    <!-- 配置資料來源 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
          destroy-method="close">
        <property name="driverClassName" value="${driverClasss}"/>
        <property name="url" value="${jdbcUrl}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
        <!-- 初始化連線大小 -->
        <property name="initialSize" value="${initialSize}"></property>
        <!-- 連線池最大數量 -->
        <property name="maxActive" value="${maxActive}"></property>
        <!-- 連線池最大空閒 -->
        <property name="maxIdle" value="${maxIdle}"></property>
        <!-- 連線池最小空閒 -->
        <property name="minIdle" value="${minIdle}"></property>
        <!-- 獲取連線最大等待時間 -->
        <property name="maxWait" value="${maxWait}"></property>
    </bean>

    <!-- mybatis和spring完美整合,不需要mybatis的配置對映檔案 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!-- 自動掃描mapping.xml檔案 -->
        <property name="mapperLocations" value="classpath:mapping/*.xml"></property>
    </bean>

    <!-- DAO介面所在包名,Spring會自動查詢其下的類 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.zxx.ssm.mapper"/>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    </bean>


    <!-- (事務管理)transaction manager, use JtaTransactionManager for global tx -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <!-- (事務管理)transaction manager, use JtaTransactionManager for global tx -->
    <tx:annotation-driven transaction-manager="transactionManager"/>
</beans>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
		  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">

  <display-name>Archetype Created Web Application</display-name>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring-mybatis.xml</param-value>
  </context-param>

  <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:log4j.properties</param-value>
  </context-param>

  <!-- 編碼過濾器 -->
  <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <!-- spring監聽器 -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <!-- 防止spring記憶體溢位監聽器,比如quartz -->
  <listener>
    <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
  </listener>


  <!-- spring mvc servlet-->
  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <async-supported>true</async-supported>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <!-- 此處也可以配置成 *.do 形式 -->
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>/index.html</welcome-file>
  </welcome-file-list>

  <!-- session配置 -->
  <session-config>
    <session-timeout>15</session-timeout>
  </session-config>

</web-app>

dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-4.0.xsd
                        http://www.springframework.org/schema/mvc
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">


    <!-- 自動掃描  @Controller-->
    <context:component-scan base-package="com.zxx.ssm"/>
    <mvc:annotation-driven></mvc:annotation-driven>
    <mvc:resources mapping="/assets/**" location="/WEB-INF/assets/"/>
    <!--避免IE執行AJAX時,返回JSON出現下載檔案 -->
    <bean id="mappingJacksonHttpMessageConverter"
          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
            </list>
        </property>
    </bean>
    <!-- 啟動SpringMVC的註解功能,完成請求和註解POJO的對映 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="mappingJacksonHttpMessageConverter"/> <!-- JSON轉換器 -->
            </list>
        </property>
    </bean>
    <!-- 設定freeMarker的配置檔案路徑 -->
    <bean id="freemarkerConfiguration"
          class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <!--註釋掉的下方程式碼是指引freemarker的基本資訊的配置位置,因為我已經將配置資訊移到了applicationContext檔案下,所以這裡就沒必要存在了,不註釋也不會有問題的 -->
        <property name="location" value="/WEB-INF/config/freemarker.properties" />
    </bean>
    <bean id="freemarkerConfig"
          class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <property name="freemarkerSettings" ref="freemarkerConfiguration" />
        <property name="templateLoaderPath" value="/WEB-INF/views/" />
    </bean>


    <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
        <property name="cache" value="true" />
        <property name="suffix" value=".html" />
        <!--只是這裡字尾改成.html -->

        <property name="viewClass"
                  value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
        <property name="exposeSpringMacroHelpers" value="true" />
        <property name="exposeRequestAttributes" value="true" />
        <property name="exposeSessionAttributes" value="true" />
        <property name="requestContextAttribute" value="rc" />
        <property name="contentType" value="text/html;charset=UTF-8" />
    </bean>
   <!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/page/"/>
        <property name="suffix" value=".jsp"/>
    </bean>-->

    <!-- 檔案上傳配置 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 預設編碼 -->
        <property name="defaultEncoding" value="UTF-8"/>
        <!-- 上傳檔案大小限制為31M,31*1024*1024 -->
        <property name="maxUploadSize" value="32505856"/>
        <!-- 記憶體中的最大值 -->
        <property name="maxInMemorySize" value="4096"/>
    </bean>
</beans>
其實後面的dispatcher-servlet.xml和mybatis就沒多大關係了,就是怕有人按照我的配置檔案在搭專案。。。少了它就搭不全了

假設按照上面的幾個配置檔案,大家都配置好了,專案的目錄結構也按照我說的建立好了,現在開始使用Mybatis-generator

step1:

在相應的目錄位置建立generatorConfig.xml檔案

step2:

配置相應的內容,注意mysq連線資料庫的jar的location去你的C盤相應的路徑找吧,可能會變得就是你的使用者名稱變了,還有可能那個版本號不一樣了

<?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>
    <!--<properties resource="jdbc.properties"></properties>-->
    <!--mysql 連線資料庫jar 這裡選擇自己本地位置-->
    <classPathEntry location="C:\Users\bwju\.m2\repository\mysql\mysql-connector-java\5.1.29\mysql-connector-java-5.1.29.jar" />
    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自動生成的註釋 true:是 : false:否 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!--資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/attendance" userId="root"
                        password="root">
        </jdbcConnection>
        <!-- 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer,為 true時把JDBC DECIMAL 和
           NUMERIC 型別解析為java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- targetProject:生成PO類的位置 -->
        <javaModelGenerator targetPackage="com.zxx.ssm.dao"
                            targetProject="src/main/java">
            <!-- enableSubPackages:是否讓schema作為包的字尾 -->
            <property name="enableSubPackages" value="false" />
            <!-- 從資料庫返回的值被清理前後的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- targetProject:mapper對映檔案生成的位置
           如果maven工程只是單獨的一個工程,targetProject="src/main/java"
           若果maven工程是分模組的工程,targetProject="所屬模組的名稱",例如:
           targetProject="ecps-manager-mapper",下同-->
        <sqlMapGenerator targetPackage="resources.mapping"
                         targetProject="src/main">
            <!-- enableSubPackages:是否讓schema作為包的字尾 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!-- targetPackage:mapper介面生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.zxx.ssm.mapper"
                             targetProject="src/main/java">
            <!-- enableSubPackages:是否讓schema作為包的字尾 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 指定資料庫表 -->
        <table schema="" tableName="employee"></table>
    </context>
</generatorConfiguration>
step3:執行這個mybatis-generator

首先先要在你的IDEA裡安裝mybatis-plugin

File->Settings->Plugins 搜尋mybatis然後install就可以了,不過估計大部分朋友沒有activtion license,可以下個破解版的用,網上搜mybatis plugin破解版,一大堆



裝好外掛以後,點選右上角的那個執行按鈕旁邊的下拉選單,找到Edit Configurations,點選+號配置一個和下圖一樣的東西


主要就是那個命令要寫對,Name叫什麼不重要,工作路徑按預設的來就好

最後,選擇自己建立的generateMapper,點選執行按鈕,Boom!你會發現你的專案裡多了好多東西,快去看看吧,我在上述的配置檔案中指定了它為我資料庫中的Employee表去自動生成相關檔案,生成完之後成了這樣,可以看到它們都被自動生成啦


在系統設計到的表數目較多時,用mybatis-generator可以省下大把的時間,讓開發者更關注在後臺的邏輯中,而且mybatis自動生成的程式碼能夠滿足絕大多數情況下的使用了。非常方便,然而,非常特別的方法還是要自己去寫方法的嗯嗯,祝大家都能使用這一工具。

如果有收穫的話可以掃碼側面的二維碼打賞一下喲,感謝您的鼓勵~




相關推薦

IDEAMaven專案使用MybatisMybatis Generator

寫在前面: 前面在《前後端分離的思考》的一文中提到又有一門課要開始寫大作業了,在初步理解了需求了之後,專案準備採用Maven+Mybatis+Mysql+SpringMVC+Vue.js的架構。採用Maven解決依賴管理問題十分方便(貌似gradle後來者居上,更方便了)。

IDEAMaven專案整合Spring和MyBatis出現jdbc.properties is invalid;前言不允許有內容

在Idea下用Maven管理Spring和MyBatis整合的專案,在Junit測試service層程式碼時不會出錯,但把整個專案釋出到Tomcat時丟擲各種各樣的異常,花了最多時間的異常為: o

使用Intellij IDEAmaven專案整合mybatis-generator外掛,自動生成程式碼

1.在dependencies下新增: <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artif

Maven專案Spring整合Mybatis

新增jar包依賴 spring需要的jar包依賴 <dependency> <groupId>org.springframework</groupId> <artifactId>

linuxmaven專案新增本地jar包

1. 匯出jar包 2. 使用一下命令將jar包加入到maven倉庫中 mvn install:install-file -Dfile=/home/hsp/Downloads/gmssldemo.jar -DgroupId=com.test.gmssl -DartifactId=gmssl-

如何在ideamaven專案使用第三方jar

如何在maven專案中使用第三方jar 使用如下命令 mvn install:install-file -Dfile=c:/abc.jar -DgroupId=com.lianlianp

IDEAmaven專案配置central倉庫

在pom.xml的<project>標籤裡新增: <repositories> <repository> <id>central</id> <name>Mave

IDEA檢視Maven專案jar包衝突

在Maven專案中pom.xml中的jar包下載的過程中,依賴可能會出現jar依賴衝突的問題,IDEA為我們提供了maven檢視 在IDEA工具中檢視jar衝突 進入到Maven專案的pom.xml檔案中使用IDEA中的快捷鍵:ctrl+alt+shift+u,就

eclipsemaven專案EL表示式失效的問題

背景: 今天用eclipse建立了一個maven專案,從之前專案中拷過來一個主頁,部署到伺服器中然後在網頁中開啟的時候,所有的css樣式以及js外掛等等都失效了,谷歌檢查顯示,寫絕對路徑${pageContext.request.contextPath}的時候

Intellij IDEAmaven專案新增外部Jar包執行

一. 問題概述 我們知道Intellij IDEA是非常好用的Java語言開發的整合環境。提供了非常多實用的功能,包括了智慧程式碼助手、程式碼自動提示、程式碼重構、各種外掛等,當然也集成了maven 正常情況下,我們建立maven專案時,相關的jar包會自動匯入,當然我們也可以通過IDEA右側的maven工具

maven專案SSM+Shiro整合配置,在有SpringMVC+MyBatis配置整合shiro的配置步驟

      最近在做SSM(SpringMVC+Shiro+MyBatis)整合的一個專案,對於shiro的配置不是特別熟練,於是想要寫下來,加深一下印象。在有SpringMVC+MyBatis配置的基礎上整合shiro:       首先進入shiro的官方網站(http

通過idea建立Maven專案整合Spring+spring mvc+mybatis

寫這篇文章是為了整理一下idea下整合maven專案的步驟,也為了以後讓室友們參考 建立專案 File→new→project        

使用Idea建立ssm專案,SpringMVC+Spring+MyBatis+Maven整合

                        1.建立基本專案

SpringBoot入門筆記(二)IDEAspringboot專案spring+mybatis+sqlserver+log4j+簡單登入驗證攔截器的框架搭建

IDEA下springboot專案spring+mybatis+sqlserver+log4j+簡單登入驗證攔截器的框架搭建 先貼一個專案的目錄結構 Attention:templates.html5是templates目錄下新建了一個html5目錄 1.專案建立 這個簡單,選

ideamaven專案搭建mybatis框架

    第一步: 先建立一個maven專案,詳細步驟就不多說了          第二步: 在搭建好的maven專案中開啟pom.xml,載入所需的jar包,配置如下: <project xmlns="http://maven.apache.org/POM/4.0.

通過ideamaven專案)生成實體類、dao、和mybatis的mapper.xml

1、建立maven專案,引入以下jar包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs

Maven專案,關於Spring Boot 整合MyBatis時,Service層無法找到mapper介面的問題解決

mybatis: mapperlocations: classpath:com/xxx/xxx/dao/mapper/*.xml -----掃描對映檔案 config-location: classpath:mybatis-config.xml ------掃描配置檔案注意:路徑要以/ 分割3 M

ideamavenmybatis+spring的搭建-1

1.在用maven建ssm工程時,在pom.xml中加入以下程式碼<build>  <finalName>Mybatis1</finalName>  <reso

使用IDEA操作Maven專案+Mybatis框架的簡單方法(1)

(此篇只記錄連線資料庫部分內容)菜鳥心得小記,大神請無視首先建立Maven專案(建立過程在此不作贅述)在pom.xml配置檔案中引入相關資源依賴 <!--新增依賴--> <dependencies> <!--myba

idea建立Maven專案Maven外掛內看不到mybatis-generator

建立Maven專案時外掛配置添加了mybatis-generator但是右側maven projects始終沒有看到外掛,見下圖。折騰了半天發現配置犯錯地方了,需要放在和pluginManagement同級別,修改配置如下:問題解決