本文旨在用最通俗的語言講述最枯燥的基本知識
最近身邊的程序員掀起了學習springboot的熱潮,說什麼學會了springboot在大街上就能夠橫着走、什麼有了springboot媽媽不再擔憂個人編程了、什麼BAT都喜歡的框架...聽得做者那個心癢癢的,因而找了個時間,下載了個idea來玩一波springboot,對了...用springboot最好用idea,若是你還在用eclipse,刪了吧。css
在這裏解釋一下爲何是springboot+mybatis+druid,是由於做者認爲但凡任何一個有靈魂的項目,都少不了數據庫,做者不喜歡用JPA那種混SQL的語法,所以選了mybatis,而Druid是阿里系(真香~)的一種數據庫鏈接池框架,在上一個項目做者用的屢試不爽,所以打算繼續用,爲啥屢試不爽?看文末吧。java
文章提綱:mysql
- 建立springboot工程
- 配置pom.xml
- 配置數據源
- 設置mybatis
- hello world
- 設置Druid監控配置
只要你有idea,建立一個springboot工程,就跟捏死一個螞蟻同樣簡單,由於idea裏深度集成了對springboot項目的支持,你直接不停的next到最後,它就會幫你建立出一個springboot工程。程序員
想一想,咱們須要哪些jar?
數據庫要用到mybatis,數據庫鏈接池要用到Druid、MySQL橋接器要用到mysql-connector,所以要maven倉庫(點我去倉庫)中找到搜索這些pom加進去。注意,mybatis要用mybatis-spring-boot-starter。spring
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency>
把上面這些pom放到pom.xml的dependencies中
細心的老鐵會發現,MySQL的version裏的內容是紅色的,這是什麼緣由呢?
這是由於咱們引入pom時,這些版本的jar在本地maven倉庫尚未,而Druid的pom裏的version沒有顯示紅色,是由於以前的項目用到了這個版本的Druid,已經被下載到本地Maven倉庫裏了。
所以咱們須要把本地沒有的jar下載到本地倉庫,右鍵pom.xml彈出菜單,選擇Maven,彈出菜單選擇reimport
sql
Reimport過程當中再idea底部會有進度條顯示,等進度條消失,在觀察pom.xml,紅色已經消失,說明依賴已經裝備完成。數據庫
- 配置數據源
接下來就是要多springboot項目作一個全局配置,默認會在src->main->resource目錄下生產空白文件application.properties,做者喜歡用yml所以直接更名成yml便可。
首先是數據源的配置,下面是一份數據源的配置,每一個參數的解釋都寫了註釋,所以讀者能夠直接複製一下內容進去,只須要改一下url、username、password編程
spring: #profiles: dev messages: basename: i18n/Messages,i18n/Pages datasource: type: com.alibaba.druid.pool.DruidDataSource # 配置當前要使用的數據源的操做類型 driver-class-name: org.gjt.mm.mysql.Driver # 配置MySQL的驅動程序類 url: jdbc:mysql://localhost:3306/wkt_stat # 數據庫鏈接地址 username: root # 數據庫用戶名 password: root # 數據庫鏈接密碼 dbcp2: # 進行數據庫鏈接池的配置 min-idle: 5 # 數據庫鏈接池的最小維持鏈接數 initial-size: 5 # 初始化提供的鏈接數 max-total: 5 # 最大的鏈接數 max-wait-millis: 200 # 等待鏈接獲取的最大超時時間
繼續在application.yml中設置mybatis,mybatis的配置也簡單,
主要是爲了設置mybatis的配置文件已經mapper文件所在。瀏覽器
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <mappers> </mappers> </configuration>
#mybatis的mapper配置文件 mybatis: config-location: classpath:mybatis-config.xml # mybatis配置文件所在路徑 #mapper-locations: classpath:mapper/*.xml # 全部的mapper映射文件 type-aliases-package: com.becl.dao.mapper # 定義全部操做類的別名所在包 debug: true
最終application.yml的內容以下圖:
緩存
CREATE TABLE Memeber ( `id` int(11) NOT NULL AUTO_INCREMENT , `name` varchar(255) NULL , PRIMARY KEY (`id`) ); INSERT INTO memeber VALUES(1,"jas")
public interface MemeberMapper { /** * 根據ID獲取記錄 * @param id * @return */ public Map findObjectById(Integer id); }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--映射文件配置,namespace指向接口--> <mapper namespace="com.example.mybatisanddruid.mapper.MemeberMapper"> #根據ID查詢記錄 <select id="findObjectById" parameterType="Integer" resultType="Map"> select * from memeber where id = #{value} </select> </mapper>
走到這一步,基本上已是大功告成了,咱們來寫一個測試類試試,在根目錄建立一個controller的包,在包中建立一個Java類,以下:
@Controller @RequestMapping("/test") public class TestController { @Resource private MemeberMapper memeberMapper=null; @RequestMapping("/one") @ResponseBody public Map testdb(){ return memeberMapper.findObjectById(1); } }
建立完以後,咱們運行項目,找到啓動類MybatisAndDruidApplication右鍵run,發現報錯,提示沒有掃描到mapper包,爲何呢?那是mapper須要手動在啓動類中加入:
@MapperScan("com.example.mybatisanddruid.mapper")
這樣啓動類就變成:
@SpringBootApplication @MapperScan("com.example.mybatisanddruid.mapper") public class MybatisAndDruidApplication { public static void main(String[] args) { SpringApplication.run(MybatisAndDruidApplication.class, args); } }
再次運行,沒有報錯,在瀏覽器輸入:http://localhost:8888/test/one
輸出了ID爲1的記錄:
{"name":"jas","id":1}
因而可知,springboot-mybatis已經搭建成功,此時有人會問,那Druid呢?
- 設置Druid監控配置
druid的使用須要作一些配置,如今咱們來在根目錄下建立一個包config,在config包中間建立一個叫作DruidConfig.java,而且在裏寫入下面的內容:
@Configuration public class DruidConfig { @Bean public ServletRegistrationBean druidServlet() { // 主要實現WEB監控的配置處理 ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); // 進行druid監控的配置處理操做 servletRegistrationBean.addInitParameter("allow", "127.0.0.1,192.168.1.159"); // 白名單 servletRegistrationBean.addInitParameter("deny", "192.168.1.200"); // 黑名單 servletRegistrationBean.addInitParameter("loginUsername", "stat"); // 用戶名 servletRegistrationBean.addInitParameter("loginPassword", "Wkt_sTat_1031"); // 密碼 servletRegistrationBean.addInitParameter("resetEnable", "false"); // 是否能夠重置數據源 return servletRegistrationBean ; } @Bean public FilterRegistrationBean filterRegistrationBean() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean() ; filterRegistrationBean.setFilter(new WebStatFilter()); filterRegistrationBean.addUrlPatterns("/*"); // 全部請求進行監控處理 filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.css,/druid/*"); return filterRegistrationBean ; } @Bean @ConfigurationProperties(prefix = "spring.datasource") public DataSource druidDataSource() { return new DruidDataSource(); } }
配置中的內容就不一一細講, 有興趣的直接百度一下druid就出來不少答案了,如今從新運行一下項目,運行成功以後,在瀏覽器中輸入:http://localhost:8888/druid
這時候,druid監控平臺就出現了
此時咱們輸入在DruidConfig中設置的loginUsername和loginPassword點擊登陸,一個完整的druid監控管理平臺就呈如今咱們啦~
Druid很是強大,在這裏你能夠查看SQL的執行狀況、慢SQL、API請求狀況等,根據這些能夠作一些性能的調優,至於詳細的用法,就靠你們自行學習啦~
若是有老鐵須要項目源碼,請加我微信:sisi-ceo。
以爲本文對你有幫助?請分享給更多人
關注「編程無界」,提高裝逼技能