解決mybatis-generator生成Mapper檔案沒有Selective結尾的問題
阿新 • • 發佈:2020-09-27
一開始從網上找的generatorConfig.xml內容如下:
<!-- 配置生成器 --> <generatorConfiguration> <!--執行generator外掛生成檔案的命令: call mvn mybatis-generator:generate -e --> <!-- 引入配置檔案 --> <properties resource="mybatis-generator/mybatisGeneratorInit.properties"/> <!-- 一個數據庫一個context --> <context id="MysqlTables" targetRuntime="MyBatis3Simple"> <!-- 自動識別資料庫關鍵字,預設false,如果設定為true,根據SqlReservedWords中定義的關鍵字列表; 一般保留預設值,遇到資料庫關鍵字(Java關鍵字),使用columnOverride覆蓋 --> <property name="autoDelimitKeywords" value="true" /> <!-- 生成的Java檔案的編碼 --> <property name="javaFileEncoding" value="utf-8" /> <!-- beginningDelimiter和endingDelimiter:指明資料庫的用於標記資料庫物件名的符號,比如ORACLE就是雙引號,MYSQL預設是`反引號; --> <property name="beginningDelimiter" value="`" /> <property name="endingDelimiter" value="`" /> ... </context> ... </generatorConfiguration>
發現執行生成程式碼的maven外掛後,Mapper.java和Mapper.xml中都沒有Selective結尾的方法(insertSelective、updateByPrimaryKeySelective)。
後來發現是context標籤的targetRuntime屬性的原因,將其設定為MyBatis3即可。
補充知識:MyBatis Plus中 selectPage 方法。返回的total為空問題
我記得我在哪裡看到。好像哪個版本之後是不需要加分頁外掛的。
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MyBatisPlusConfig { @Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor page = new PaginationInterceptor(); page.setDialectType("mysql"); return page; } }
加上這個類問題基本就解決了
如果沒解決。看一下專案中有沒有pagehelper的依賴。如果有的話去掉就好了。
以上這篇解決mybatis-generator生成Mapper檔案沒有Selective結尾的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。