摘要:整合想著每次搭建新項目時框架都要從新搭建,基本常用的也就哪幾種,現在就來搭建一種常用的后臺框架,以后新開小項目可以直接拿來使用項目整體結構圖新建空白項目,選中依賴略,也可以完全根據本人代碼操作文件依賴項展示
springboot整合tkMapper
想著每次搭建新項目時框架都要從新搭建,基本常用的也就哪幾種,現在就來搭建一種常用的springboot后臺框架,以后新開小項目可以直接拿來使用
項目整體結構圖
1.新建springboot空白項目,選中web依賴(略,也可以完全根據本人代碼操作)
2.pom文件依賴項展示
4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.5.RELEASE com.cxt demo 0.0.1-SNAPSHOT demo Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2 mysql mysql-connector-java 8.0.16 runtime tk.mybatis mapper-spring-boot-starter RELEASE tk.mybatis mapper 3.4.5 com.alibaba druid 1.1.3 org.springframework.boot spring-boot-maven-plugin org.mybatis.generator mybatis-generator-maven-plugin 1.3.2 ${basedir}/src/main/resources/generator/generatorConfig.xml true true mysql mysql-connector-java 8.0.16 tk.mybatis mapper-generator 1.1.3
application.yml文件內容
server: port: 8081 #數據源配置 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource #Druid連接池 url: jdbc:mysql://localhost:3306/springboot-demo?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=true&nullCatalogMeansCurrent=true username: root #數據庫用戶名 password: root #數據庫密碼 driver-class-name: com.mysql.cj.jdbc.Driver #mysql驅動 initialSize: 10 #初始化連接池大小 minIdle: 10 #初始化最小連接池數量 maxActive: 100 #初始化最大連接池數量 maxWait: 6000 #配置獲取連接等待超時的時間 timeBetweenEvictionRunsMills: 6000 #配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 minEvictableIdleTimeMillis: 30000 #配置一個連接在池中最小生存的時間,單位是毫秒 validationQuery: SELECT "x" #測試連接 mybatis: mapper-locations: classpath:/mapper/*.xml configuration: map-underscore-to-camel-case: true #打印sql #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl mapper: identity: MYSQL # 配置主鍵自動增長(使用MYSQL原生方式) logging: level: com.cxt.demo: debug # 分頁插件 pagehelper: reasonable: true page-size-zero: true params: pageNum=start;pageSize=limit support-methods-arguments: true
新建MyBaseMapper,( 注意此接口不能被掃描到 *)
package com.cxt.demo.tk; import org.springframework.stereotype.Repository; import tk.mybatis.mapper.common.ExampleMapper; import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.MySqlMapper; /** * @author liBai * @Classname MyBaseMapper * @Description TODO base mapper 不能被掃描 * @Date 2019-06-02 10:41 */ @Repository public interface MyBaseMapperextends Mapper , MySqlMapper , ExampleMapper { }
啟動類添加掃描mapper
注意此處@MapperScan要引tk包下面的,否則會報錯
(import tk.mybatis.spring.annotation.MapperScan;)
package com.cxt.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import tk.mybatis.spring.annotation.MapperScan; /** * @author liBai * mapperscan 要引tk包下面的 */ @SpringBootApplication @MapperScan(basePackages = "com.cxt.demo.dao") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
添加MybatisConfigurer配置類
package com.cxt.demo.config; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.springframework.boot.SpringBootConfiguration; import org.springframework.context.annotation.Bean; import javax.annotation.Resource; import javax.sql.DataSource; /** * @author liBai * @Classname MybatisConfigurer * @Description TODO * @Date 2019-06-02 10:42 */ @SpringBootConfiguration public class MybatisConfigurer { @Resource private DataSource dataSource; @Bean public SqlSessionFactory sqlSessionFactoryBean() throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setTypeAliasesPackage("com.cxt.demo.bean"); return bean.getObject(); } }
數據庫創建sql語句(測試tkmapper鏈接數據庫)
CREATE TABLE `test_sys` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(45) NOT NULL, PRIMARY KEY (`id`,`name`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; #插入數據 INSERT INTO `springboot-demo`.`test_sys` (`id`, `name`) VALUES ("1‘, "test1"); INSERT INTO `springboot-demo`.`test_sys` (`id`, `name`) VALUES ("2‘, "test2"); INSERT INTO `springboot-demo`.`test_sys` (`id`, `name`) VALUES ("3‘, "test3");
generator自動生成bean,dao,mapper,generator配置內容如下
點擊maven命令執行生成相對應的bean,dao,mapper
或者使用maven命令
mybatis-generator:generate –e
創建HelloController
package com.cxt.demo.controller; import com.cxt.demo.service.HelloService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author liBai * @Classname HelloController * @Description TODO * @Date 2019-06-02 10:49 */ @RestController @RequestMapping("/test") public class HelloController { @Autowired private HelloService helloService; @RequestMapping("/hello") public String hello(){ return helloService.sayHello(); } }
創建HelloService
package com.cxt.demo.service; /** * @author liBai * @Classname HelloService * @Description TODO * @Date 2019-06-02 10:49 */ public interface HelloService { String sayHello(); }
創建HelloServiceImpl實現
package com.cxt.demo.service.impl; import com.cxt.demo.bean.TestSys; import com.cxt.demo.dao.TestSysMapper; import com.cxt.demo.service.HelloService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * @author liBai * @Classname HelloServiceImpl * @Description TODO * @Date 2019-06-02 10:50 */ @Service @Slf4j public class HelloServiceImpl implements HelloService { @Autowired private TestSysMapper testSysMapper; @Override public String sayHello() { TestSys testSys = testSysMapper.selectByPrimaryKey("1"); log.debug("testSys = [{}]",testSys.toString()); return testSys.getName(); } }
瀏覽器測試,url中輸入 http://localhost:8081/test/hello 顯示
到此為止,springboot整合通用mapper,使用mysql的demo就結束了,后續整合請關注后續博客
源碼地址 https://github.com/TianPuJun/...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77789.html
摘要:相隔很久,我又回來了,獻上一篇整合的教程給新手看一下吧,技術點不怎么有,最簡單的配置,入手即用,那下面開始本章在我的上一篇文章為基礎繼續整合的,不知道的可以見我的整合整合下面開始引入依賴整合文件根據自己配置添加信息代碼,用戶 相隔很久,我又回來了,獻上一篇整合redis 的教程給新手看一下吧,技術點不怎么有,最簡單的配置,入手即用,那下面開始 本章在我的上一篇文章為基礎繼續整合的,不知...
摘要:首先聲明下,是基于注釋來生成文檔的,它不基于任何框架,而且支持大多數編程語言,為了系列的完整性,所以標了個題。二準備工作安裝完安裝它的項目源碼。輸命令輸入目錄輸出目錄是我的工程名。 首先聲明下,apidoc是基于注釋來生成文檔的,它不基于任何框架,而且支持大多數編程語言,為了springboot系列的完整性,所以標了個題。 一、apidoc簡介 apidoc通過在你代碼的注釋來生成ap...
摘要:另外很容易構建風格的,簡單優雅帥氣,正如它的名字。配置一些基本的信息。三寫生產文檔的注解通過注解表明該接口會生成文檔,包括接口名請求方法參數返回信息的等等。四參考資料中使用構建強大的文檔 swagger,中文拽的意思。它是一個功能強大的api框架,它的集成非常簡單,不僅提供了在線文檔的查閱,而且還提供了在線文檔的測試。另外swagger很容易構建restful風格的api,簡單優雅帥氣...
前言 SpringBoot是一個全家桶,可以方便的集成各種開發工具。日志框架是一個在線應用必需的,本文介紹了當前主流日志框架Logback與SpringBoot的集成方法 準備工作 完成SpringBoot 1024行代碼 - Getting Started(一個簡單的web應用) 具體步驟 1. 添加Logback的配置文件logback-springboot.xml 其中文件名需要為logba...
摘要:它使用約定大于配置的理念讓你的項目快速運行起來。如何使用構建工程第一步,當然是安裝傻瓜式教程,請自行百度。包名,填完和后自動生成,默認即可。確認無誤,點完成創建即可。 微信公眾號:一個優秀的廢人如有問題或建議,請后臺留言,我會盡力解決你的問題。 前言 新年立了個 flag,好好運營這個公眾號。具體來說,就是每周要寫兩篇文章在這個號發表。剛立的 flag 可不能這么快打臉。下面送上本周第...
閱讀 923·2023-04-26 01:34
閱讀 3356·2023-04-25 20:58
閱讀 3258·2021-11-08 13:22
閱讀 2107·2019-08-30 14:17
閱讀 2521·2019-08-29 15:27
閱讀 2673·2019-08-29 12:45
閱讀 2996·2019-08-29 12:26
閱讀 2810·2019-08-28 17:51