中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

單手擼了個springboot+mybatis+druid

發布時間:2020-08-14 23:09:48 來源:ITPUB博客 閱讀:169 作者:jaybril 欄目:編程語言

本文旨在用最通俗的語言講述最枯燥的基本知識

最近身邊的程序員掀起了學習springboot的熱潮,說什么學會了springboot在大街上就可以橫著走、什么有了springboot媽媽再也不擔心我的編程了、什么BAT都喜歡的框架…聽得作者那個心癢癢的,于是找了個時間,下載了個idea來玩一波springboot,對了…用springboot最好用idea,如果你還在用eclipse,刪了吧。

在這里解釋一下為什么是springboot+mybatis+druid,是因為作者認為但凡任何一個有靈魂的項目,都少不了數據庫,作者不喜歡用JPA那種混SQL的語法,因此選了mybatis,而Druid是阿里系(真香~)的一種數據庫連接池框架,在上一個項目作者用的屢試不爽,因此打算繼續用,為啥屢試不爽?看文末吧。

文章提綱:

  1. 創建springboot工程

  2. 配置pom.xml

  3. 配置數據源

  4. 設置mybatis

  5. hello world

  6. 設置Druid監控配置

1. 創建springboot工程

只要你有idea,創建一個springboot工程,就跟捏死一個螞蟻一樣簡單,因為idea里深度集成了對springboot項目的支持,你直接不停的next到最后,它就會幫你創建出一個springboot工程。

  1. 首先打開idea->Create New project->選擇項目類型:這里選擇spring initializr,然后next。

    單手擼了個springboot+mybatis+druid

  2. 創建項目,填寫項目名稱,注意:不要能駝峰寫法,可以用中橫線,填寫完畢后繼續next。

  3. 選擇依賴,所謂依賴就是你在設計這個項目的框架時,分析這個項目需要用到哪些jar或者組件,比如緩存要用到Redis,數據庫要用到MySQL等…這里因為演示項目,就不選擇太多其它亂七八糟的依賴了。

  4. 選好依賴之后,又是一路狂點next,直到最后finish一下,一個springboot項目就創建好了。

2. 配置pom.xml

想想,我們需要哪些jar?
數據庫要用到mybatis,數據庫連接池要用到Druid、MySQL橋接器要用到mysql-connector,因此要maven倉庫(點我去倉庫)中找到搜索這些pom加進去。注意,mybatis要用mybatis-spring-boot-starter。



 1

       

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->


2          < dependency >
3              < groupId > mysql </ groupId >
4              < artifactId > mysql-connector-java </ artifactId >
5              < version > 5.1.6 </ version >
6          </ dependency >
7          <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
8          < dependency >
9              < groupId > com.alibaba </ groupId >
10              < artifactId > druid </ artifactId >
11              < version > 1.1.10 </ version >
12          </ dependency >
13          <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
14          < dependency >
15              < groupId > org.mybatis.spring.boot </ groupId >
16              < artifactId > mybatis-spring-boot-starter </ artifactId >
17              < version > 1.3.2 </ version >
18          </ dependency >

把上面這些pom放到pom.xml的dependencies中


細心的老鐵會發現,MySQL的version里的內容是紅色的,這是什么原因呢?
這是因為我們引入pom時,這些版本的jar在本地maven倉庫還沒有,而Druid的pom里的version沒有顯示紅色,是因為之前的項目用到了這個版本的Druid,已經被下載到本地Maven倉庫里了。
因此我們需要把本地沒有的jar下載到本地倉庫,右鍵pom.xml彈出菜單,選擇Maven,彈出菜單選擇reimport

Reimport過程中再idea底部會有進度條顯示,等進度條消失,在觀察pom.xml,紅色已經消失,說明依賴已經裝備完成。

  1. 配置數據源

接下來就是要多springboot項目做一個全局配置,默認會在src->main->resource目錄下生產空白文件application.properties,作者喜歡用yml因此直接改名成yml即可。
首先是數據源的配置,下面是一份數據源的配置,每個參數的解釋都寫了注釋,因此讀者可以直接復制一下內容進去,只需要改一下url、username、password



 1

spring:

2   #profiles: dev
3   messages:
4     basename: i18n/Messages,i18n/Pages
5   datasource:
6     type: com.alibaba.druid.pool.DruidDataSource    # 配置當前要使用的數據源的操作類型
7     driver-class-name: org.gjt.mm.mysql.Driver        # 配置MySQL的驅動程序類
8     url: jdbc:mysql://localhost:3306/wkt_stat           # 數據庫連接地址
9     username: root                                  # 數據庫用戶名
10     password: root                            # 數據庫連接密碼
11     dbcp2:                                          # 進行數據庫連接池的配置
12       min-idle: 5                                   # 數據庫連接池的最小維持連接數
13       initial-size: 5                               # 初始化提供的連接數
14       max-total: 5                                  # 最大的連接數
15       max-wait-millis: 200                          # 等待連接獲取的最大超時時間

4. 設置mybatis

繼續在application.yml中設置mybatis,mybatis的配置也簡單,
主要是為了設置mybatis的配置文件已經mapper文件所在。

  1. 首先在resource目錄下創建一個mybatis-config.xml文件,文件內容為:



1


<?xml version="1.0" encoding="UTF-8" ?>


2 <!DOCTYPE configuration
3         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
4         "http://mybatis.org/dtd/mybatis-3-config.dtd">

5 < configuration >
6      < mappers >
7      </ mappers >
8 </ configuration >
  1. 在main包中的根目錄下創建一個存放mapper實體的資源文件,在resource文件下創建一個文件夾mapper用來存放mapper的xml文件。

  2. 配置好資源文件路徑之后,就可以在application.yml中加入mybatis的配置了,如下是一個mybatis的配置內容:



1

#mybatis的mapper配置文件

2 mybatis:
3   config-location: classpath:mybatis-config.xml  # mybatis配置文件所在路徑
4   #mapper-locations: classpath:mapper/*.xml   # 所有的mapper映射文件
5   type-aliases-package: com.becl.dao.mapper # 定義所有操作類的別名所在包
6 debug: true

最終application.yml的內容如下圖:

  1. 此時需要有一個數據庫表來做測試,我們在數據庫創建一個表,并且插入一條數據:



1

CREATE TABLE Memeber (

2 `id`  int(11) NOT NULL AUTO_INCREMENT ,
3 `name`  varchar(255) NULL ,
4 PRIMARY KEY (`id`)
5 );
6
7 INSERT INTO memeber VALUES(1,"jas")
  1. 在mapper包中創建Memeber的mapper接口:



1


public

 


interface

 

MemeberMapper

 

{

2      /**
3      * 根據ID獲取記錄
4      *  @param  id
5      *  @return
6      */

7      public  Map  findObjectById (Integer id) ;
8 }
  1. 在resource中的mapper文件夾創建memberMapper.xml,并且在mapper中增加一個findObjectById的SQL查詢語句。



 1


<?xml version="1.0" encoding="UTF-8"?>


2 <!DOCTYPE mapper
3         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

5 <!--映射文件配置,namespace指向接口-->
6 < mapper   namespace = "com.example.mybatisanddruid.mapper.MemeberMapper" >
7 #根據ID查詢記錄
8 < select   id = "findObjectById"   parameterType = "Integer"   resultType = "Map" >
9         select * from memeber where id = #{value}
10      </ select >
11 </ mapper >

5. hello world

走到這一步,基本上已經是大功告成了,我們來寫一個測試類試試,在根目錄創建一個controller的包,在包中創建一個Java類,如下:



 1


@Controller


2 @RequestMapping ( "/test" )
3 public   class   TestController   {
4      @Resource
5      private  MemeberMapper memeberMapper= null ;
6
7      @RequestMapping ( "/one" )
8      @ResponseBody
9      public  Map  testdb () {
10          return   memeberMapper.findObjectById( 1 );
11     }
12 }

創建完之后,我們運行項目,找到啟動類MybatisAndDruidApplication右鍵run,發現報錯,提示沒有掃描到mapper包,為什么呢?那是mapper需要手動在啟動類中加入:



1


@MapperScan

(

"com.example.mybatisanddruid.mapper"

)

這樣啟動類就變成:



1


@SpringBootApplication


2 @MapperScan ( "com.example.mybatisanddruid.mapper" )
3 public   class   MybatisAndDruidApplication   {
4
5      public   static   void   main (String[] args)   {
6         SpringApplication.run(MybatisAndDruidApplication.class, args);
7     }
8 }

再次運行,沒有報錯,在瀏覽器輸入:http://localhost:8888/test/one
輸出了ID為1的記錄:



1

{"name":"jas","id":1}

由此可見,springboot-mybatis已經搭建成功,此時有人會問,那Druid呢?

  1. 設置Druid監控配置

druid的使用需要做一些配置,現在我們來在根目錄下創建一個包config,在config包中間創建一個叫做DruidConfig.java,并且在里寫入下面的內容:



 1


@Configuration


2 public   class   DruidConfig   {
3      @Bean
4      public  ServletRegistrationBean  druidServlet ()   // 主要實現WEB監控的配置處理
5         ServletRegistrationBean servletRegistrationBean =  new  ServletRegistrationBean( new  StatViewServlet(),  "/druid/*" );  // 進行druid監控的配置處理操作
6         servletRegistrationBean.addInitParameter( "allow" ,
7                  "127.0.0.1,192.168.1.159" );  // 白名單
8         servletRegistrationBean.addInitParameter( "deny" "192.168.1.200" );  // 黑名單
9         servletRegistrationBean.addInitParameter( "loginUsername" "stat" );  // 用戶名
10         servletRegistrationBean.addInitParameter( "loginPassword" "Wkt_sTat_1031" );  // 密碼
11         servletRegistrationBean.addInitParameter( "resetEnable" "false" );  // 是否可以重置數據源
12          return  servletRegistrationBean ;
13     }
14      @Bean
15      public  FilterRegistrationBean  filterRegistrationBean ()   {
16         FilterRegistrationBean filterRegistrationBean =  new  FilterRegistrationBean() ;
17         filterRegistrationBean.setFilter( new  WebStatFilter());
18
19         filterRegistrationBean.addUrlPatterns( "/*" );  // 所有請求進行監控處理
20         filterRegistrationBean.addInitParameter( "exclusions" "*.js,*.gif,*.jpg,*.css,/druid/*" );
21          return  filterRegistrationBean ;
22     }
23      @Bean
24      @ConfigurationProperties (prefix =  "spring.datasource" )
25      public  DataSource  druidDataSource ()   {
26          return   new  DruidDataSource();
27     }
28
29 }

配置中的內容就不一一細講, 有興趣的直接百度一下druid就出來很多答案了,現在重新運行一下項目,運行成功之后,在瀏覽器中輸入:http://localhost:8888/druid
這時候,druid監控平臺就出現了

此時我們輸入在DruidConfig中設置的loginUsername和loginPassword點擊登錄,一個完整的druid監控管理平臺就呈現在我們啦~

單手擼了個springboot+mybatis+druid

Druid非常強大,在這里你可以查看SQL的執行情況、慢SQL、API請求情況等,根據這些可以做一些性能的調優,至于詳細的用法,就靠大家自行學習啦~

如果有老鐵需要項目源碼,請加我:sisi-ceo。




覺得本文對你有幫助?請分享給更多人
關注「編程無界」,提升裝逼技能

單手擼了個springboot+mybatis+druid


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大埔县| 民勤县| 垦利县| 宣威市| 清流县| 交口县| 邵阳县| 图木舒克市| 普洱| 普宁市| 海晏县| 白城市| 沾化县| 明溪县| 长汀县| 万年县| 封丘县| 六安市| 含山县| 宁晋县| 彭水| 贵阳市| 南昌县| 连云港市| 乐昌市| 长葛市| 昌黎县| 山丹县| 永丰县| 定州市| 郧西县| 阜新| 福鼎市| 江安县| 博爱县| 天全县| 昌平区| 荆州市| 平远县| 和硕县| 台中市|