Spring boot整合Mybatis-plus過程解析
Mybatis初期使用比較麻煩,需要很多配置文件、實(shí)體類、dao層映射、還有很多其他的配置。初期開發(fā)使用generator可以根據(jù)表結(jié)構(gòu)自動(dòng)生產(chǎn)實(shí)體類、dao層代碼,這樣是可以減輕一部分開發(fā)量;后期mybatis進(jìn)行大量的優(yōu)化,現(xiàn)在可以使用注解版本,自動(dòng)管理dao層和配置文件。
maven 依賴 注意:本文使用的是mysql,數(shù)據(jù)庫依賴就不展示了
<!-- 引入mvbatie -plus starter--><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>2.3</version> </dependency> <!-- 模板引擎 mybatis使用code生成代碼需要 --><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.0</version></dependency>
代碼模版引擎需要velocity或freemarker(mybatis-plus默認(rèn)使用velocity,兩者任選其一),這里使用velocity
代碼生成器
public static void main(String[] args) {CodeGeneration codeGeneration = new CodeGeneration();codeGeneration.execute();}/** * * @ClassName: CodeGeneration * @Description: 代碼生成器 */public void execute() {AutoGenerator mpg = new AutoGenerator();// 全局配置GlobalConfig gc = new GlobalConfig();//生成的代碼路徑(系統(tǒng)路徑)gc.setOutputDir('/Users/wangxiaowei/wxw/eclipseWorkSpace/study/src/main/java');gc.setFileOverride(true);gc.setActiveRecord(false);// 不需要ActiveRecord特性的請(qǐng)改為falsegc.setEnableCache(false);// XML 二級(jí)緩存gc.setBaseResultMap(true);// XML ResultMapgc.setBaseColumnList(false);// XML columListgc.setAuthor('wxw');// 作者// 自定義文件命名,注意 %s 會(huì)自動(dòng)填充表實(shí)體屬性!gc.setControllerName('%sController');gc.setServiceName('%sService');gc.setServiceImplName('%sServiceImpl');gc.setMapperName('%sDao');gc.setXmlName('%sMapper');mpg.setGlobalConfig(gc);// 數(shù)據(jù)源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setDbType(DbType.MYSQL);dsc.setDriverName('com.mysql.jdbc.Driver');dsc.setUsername('xxx');//數(shù)據(jù)庫用戶名dsc.setPassword('xxx');//密碼//數(shù)據(jù)庫路徑dsc.setUrl('jdbc:mysql://localhost:30870/horus_dev?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true');mpg.setDataSource(dsc);// 策略配置StrategyConfig strategy = new StrategyConfig();strategy.setTablePrefix(new String[] { '' });// 此處可以修改為您的表前綴strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略// 需要生成的表的名稱,這里app_user_info即為表名strategy.setInclude(new String[] { 'app_user_info',});strategy.setSuperServiceClass(null);strategy.setSuperServiceImplClass(null);strategy.setSuperMapperClass(null);mpg.setStrategy(strategy);// 包配置PackageConfig pc = new PackageConfig();pc.setParent('com.wang.study');//父包,下面的子包均在這父包之下pc.setController('controller');//上面生成的controller類 放到controller子包pc.setService('service');//上面生成的service 放到service子包,下面類似pc.setMapper('dao');pc.setEntity('pojo');pc.setXml('mapper');mpg.setPackageInfo(pc);// 執(zhí)行生成mpg.execute();}
mybatis 基礎(chǔ)配置(這里使用的properties)
#數(shù)據(jù)源spring.datasource.url=jdbc:mysql://localhost:30870/horus_dev?useUnicode=true&characterEncoding=utf-8spring.datasource.username =xxxspring.datasource.password =xxxspring.datasource.type =com.alibaba.druid.pool.DruidDataSource#mapper文件mybatis-plus.mapper-locations=classpath:com/wang/study/mapper/*.xml#數(shù)據(jù)庫表對(duì)應(yīng)的實(shí)體類所在包mybatis-plus.type-aliases-package=com/wang/study/pojo#日志 打印sqllogging.level.com.wang.study.dao=debug
mybatis-plus 分頁,在配置類里添加以下配置
/** * mybatis-plus分頁插件<br> * 文檔:http://mp.baomidou.com<br> */ @Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); paginationInterceptor.setDialectType('mysql'); return paginationInterceptor; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. jsp網(wǎng)頁實(shí)現(xiàn)貪吃蛇小游戲2. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))3. JavaScript實(shí)現(xiàn)組件化和模塊化方法詳解4. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息5. HTML5 Canvas繪制圖形從入門到精通6. .Net Core和RabbitMQ限制循環(huán)消費(fèi)的方法7. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式8. SpringMVC+Jquery實(shí)現(xiàn)Ajax功能9. ASP中if語句、select 、while循環(huán)的使用方法10. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明
