IDEA mybatisplus 代码生成器的配置
生活随笔
收集整理的這篇文章主要介紹了
IDEA mybatisplus 代码生成器的配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
mybatisplus項目結構圖
效果圖
BaseController控制器
CodeGenerator控制器/運行此控制器即可生成/
CodeGenerator是 MyBatis-Plus 的代碼生成器,通過 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼,極大的提升了開發效率。
pom.xml配置
<?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>cn.cxyxmg</groupId><artifactId>mybatisplus</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>mybatisplus Maven Webapp</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.8.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-context --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.1.8.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.1.8.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects --><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>5.1.8.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.1</version></dependency><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.1.8.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>compile</scope></dependency><!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version><scope>provided</scope></dependency><dependency><groupId>com.sun.jna</groupId><artifactId>jna</artifactId><version>3.0.9</version></dependency><!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.58</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>3.1.2</version></dependency><!-- 添加 代碼生成器 依賴 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.1.2</version></dependency><!-- 添加 模板引擎 依賴 --><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.1</version></dependency><dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><version>3.3.1</version></dependency></dependencies><build><finalName>mybatisplus</finalName><pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --><plugins><plugin><artifactId>maven-clean-plugin</artifactId><version>3.1.0</version></plugin><!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --><plugin><artifactId>maven-resources-plugin</artifactId><version>3.0.2</version></plugin><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.8.0</version></plugin><plugin><artifactId>maven-surefire-plugin</artifactId><version>2.22.1</version></plugin><plugin><artifactId>maven-war-plugin</artifactId><version>3.2.2</version></plugin><plugin><artifactId>maven-install-plugin</artifactId><version>2.5.2</version></plugin><plugin><artifactId>maven-deploy-plugin</artifactId><version>2.8.2</version></plugin></plugins></pluginManagement><resources><!--編譯之后包含xml--><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources></build> </project>web.xml配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"><display-name>mybatisplus</display-name><!-- 配置編碼方式過濾器,注意一點:要配置在所有過濾器的前面 (解決post請求亂碼問題) --><filter><filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 加載spring相關配置 --><context-param><param-name>contextConfigLocation</param-name><!-- 這里使用的是以spring*.xml的通配符方式加載配置的 --><param-value>classpath:spring.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 配置前端控制器DispatcherServlet --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><!-- 對應上一步創建全局配置文件的文件名以及目錄 --><param-value>classpath:spring-mvc.xml</param-value></init-param></servlet><!--第一種:*.do,訪問以.do結尾由DispatcherServlet進行解析第二種:/, 所有訪問的地址都由DispatcherServlet進行解析,對于靜態文件的解析需要配置不讓DispatcherServlet進行解析--><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping></web-app>jdbc.properties
driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL username=root password=rootmybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><!--| 全局配置設置|| 可配置選項 默認值, 描述|| aggressiveLazyLoading true, 當設置為‘true’的時候,懶加載的對象可能被任何懶屬性全部加載。否則,每個屬性都按需加載。| multipleResultSetsEnabled true, 允許和不允許單條語句返回多個數據集(取決于驅動需求)| useColumnLabel true, 使用列標簽代替列名稱。不同的驅動器有不同的作法。參考一下驅動器文檔,或者用這兩個不同的選項進行測試一下。| useGeneratedKeys false, 允許JDBC 生成主鍵。需要驅動器支持。如果設為了true,這個設置將強制使用被生成的主鍵,有一些驅動器不兼容不過仍然可以執行。| autoMappingBehavior PARTIAL, 指定MyBatis 是否并且如何來自動映射數據表字段與對象的屬性。PARTIAL將只自動映射簡單的,沒有嵌套的結果。FULL 將自動映射所有復雜的結果。| defaultExecutorType SIMPLE, 配置和設定執行器,SIMPLE 執行器執行其它語句。REUSE 執行器可能重復使用prepared statements 語句,BATCH執行器可以重復執行語句和批量更新。| defaultStatementTimeout null, 設置一個時限,以決定讓驅動器等待數據庫回應的多長時間為超時| --><settings><!-- 打印查詢語句 --><!-- <setting name="logImpl" value="STDOUT_LOGGING" /> --><!-- 這個配置使全局的映射器啟用或禁用緩存 --><setting name="cacheEnabled" value="true"/><!-- 全局啟用或禁用延遲加載。當禁用時,所有關聯對象都會即時加載 --><!-- 查詢時,關閉關聯對象即時加載以提高性能 --><setting name="lazyLoadingEnabled" value="true"/><!-- 對于未知的SQL查詢,允許返回不同的結果集以達到通用的效果 --><setting name="multipleResultSetsEnabled" value="true"/><!--是否開啟自動駝峰命名規則(camel case)映射,即從經典數據庫列名 A_COLUMN 到經典Java 屬性名 aColumn 的類似映射。 --><setting name="mapUnderscoreToCamelCase" value="true"/><setting name="useColumnLabel" value="true"/><setting name="defaultExecutorType" value="REUSE"/><setting name="defaultStatementTimeout" value="25000"/><!-- 設置關聯對象加載的形態,此處為按需加載字段(加載字段由SQL指 定),不會加載關聯表的所有字段,以提高性能 --><setting name="aggressiveLazyLoading" value="true"/></settings> </configuration>spring.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"><!--開啟spring注解,掃描spring注解所在的包 --><context:component-scan base-package="cn.cxyxmg.mybatisplus"/><!-- 加載資源文件 --><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><!-- 配置資源文件 --><property name="locations"><list><value>classpath:jdbc.properties</value></list></property></bean><!-- ========================================配置數據源========================================= --><bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"><property name="driverClassName" value="${driverClassName}"></property><property name="jdbcUrl" value="${url}"></property><property name="username" value="${username}"></property><property name="password" value="${password}"></property><property name="readOnly" value="false" /><property name="connectionTimeout" value="30000" /><property name="idleTimeout" value="600000" /><property name="maxLifetime" value="1800000" /><property name="maximumPoolSize" value="15" /></bean><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 配置mapper接口所在路徑,掃描路徑下的所有的mapper接口 如果配置多個mapper的包,使用逗號進行分割 --><!-- 在mybatis當中,dao層與mapper是一樣的,只是不同地方叫法不一樣,mapper.xml是寫sql的,是用來操作數據庫的 --><property name="basePackage" value="cn.cxyxmg.mybatisplus.*.mapper"></property></bean><!-- spring整合Mybatis的配置,其實主要是mybatis的相應配置 --><!-- sqlSession工廠 mapper的接口配置 --><!-- SqlSessionFactory Config --><bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="mapperLocations" value="classpath:cn/cxyxmg/mybatisplus/**/mapper/xml/*.xml"/><property name="globalConfig" ref="globalConfig"/><property name="plugins"><array><bean class="com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor"></bean><bean class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor"></bean></array></property></bean><bean id="globalConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig"><property name="dbConfig" ref="dbConfig"/></bean><bean id="dbConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig.DbConfig"><property name="keyGenerator" ref="keyGenerator"/><property name="logicDeleteValue" value="-1"></property><property name="logicNotDeleteValue" value="0"></property></bean><bean id="keyGenerator" class="com.baomidou.mybatisplus.extension.incrementer.H2KeyGenerator"/> <!-- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><!– 加載全局的配置文件 –><property name="configLocation" value="classpath:mybatis-config.xml"></property><!– 配置mapper的掃描,找到所有的mapper.xml映射文件。編碼時放開注釋,如果放開需要在mapper中寫一個mapper也是可以的 –><!– <property name="mapperLocations" value="classpath:cn/cxyxmg/mybatisplus/**/mapper/xml/*.xml"></property> –><!– 配置類型別名 –><property name="typeAliasesPackage" value="cn.cxyxmg.mybatisplus.*.entity"></property></bean>--><!-- 定義事務管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><!-- 定義事務策略 --><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><!--所有以query開頭的方法都是只讀的 --><tx:method name="query*" read-only="true" /><tx:method name="get*" read-only="true" /><tx:method name="find*" read-only="true" /><tx:method name="select*" read-only="true" /><!--其他方法使用默認事務策略 --><tx:method name="*" /></tx:attributes></tx:advice><aop:config><!--pointcut元素定義一個切入點,execution中的第一個星號 用以匹配方法的返回類型,這里星號表明匹配所有返回類型。 com.abc.dao.*.*(..)表明匹配cn.itcast.mybatis.service包下的所有類的所有 方法 --><aop:pointcut id="myPointcut" expression="execution(* cn.cxyxmg.mybatisplus.*.service.*.*(..))" /><!--將定義好的事務處理策略應用到上述的切入點 --><aop:advisor advice-ref="txAdvice" pointcut-ref="myPointcut" /></aop:config> </beans>spring-mvc.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:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.2.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-4.2.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.2.xsd"><!-- 解析com.xiefan.springmvc.controller包下的注解 --><context:component-scan base-package="cn.cxyxmg.mybatisplus.*.controller"/><!--會自動注冊RequestMappingHandlerMapping、RequestMappingHandlerAdapter 與xceptionHandlerExceptionResolver 三個bean。如果沒有<mvc:annotation-driven/>,那么所有的Controller可能就沒有解析,所有當有請求時候都沒有匹配的處理請求類,就都去<mvc:default-servlet-handler/>即default servlet處理了。添加上<mvc:annotation-driven/>后,相應的do請求被Controller處理,而靜態資源因為沒有相應的Controller就會被default servlet處理。總之沒有相應的Controller就會被default servlet處理就ok了。--><!-- 可代替下面處理映射器和處理器適配器 --><mvc:annotation-driven><!-- 解決REST風格返回數據亂碼 --><mvc:message-converters register-defaults="true"><bean class="org.springframework.http.converter.StringHttpMessageConverter"><constructor-arg value="UTF-8"></constructor-arg></bean><bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/html;charset=UTF-8</value><value>application/json</value><value>application/xml;charset=UTF-8</value></list></property><property name="features"><list><!-- 默認的意思就是不配置這個屬性,配置了就不是默認了 --><!-- 是否輸出值為null的字段 ,默認是false--><value>WriteMapNullValue</value><value>WriteNullNumberAsZero</value><value>WriteNullListAsEmpty</value><value>WriteNullStringAsEmpty</value><value>WriteNullBooleanAsFalse</value><value>WriteDateUseDateFormat</value></list></property></bean></mvc:message-converters></mvc:annotation-driven><!--<bean name="/items.do" class="com.xiefan.springmvc.controller.ItemsController"></bean>--><!-- 配置處理映射器將bean的name作為url進行查找,需要在配置Handle時指定name(即url) --><!--<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>--><!-- 配置處理器適配器,所有處理適配器都要實現 HandlerAdapter接口--><!--<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>--><!-- 配置視圖解析器 解析jsp視圖,默認使用jstl標簽 CLASSPATH下面要有jstl jar包 --> <!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"><!– 前綴 –><property name="prefix" value="/WEB-INF/views/" /><!– 后綴 –><property name="suffix" value=".jsp" /></bean> --></beans>總結
以上是生活随笔為你收集整理的IDEA mybatisplus 代码生成器的配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 神箭手题解
- 下一篇: Excel中多行一致分类序列号