Druidは、Alibabaのオープンソースプラットフォームにデータベース接続プールの実装です。 C3P0、DBCP、ProxoolなどのDBプールの利点を組み合わせて、DBプールとSQLの実行を適切に監視できるログモニタリングも追加します。監視用に作成されたDB接続プールと言えます(現在最適な接続プールと言われています)
1。依存関係
テストには、jdbctemplateを使用します
<! - jdbctemplate-> <dependency> groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-jdbc </artifactid> </dependency> <! - druidデータベース接続プール - > <依存関係> <グループ< <バージョン> 1.0.26 </version> </dependency> <! - mysqlコネクタ - > <依存関係> mysql </groupid> <artifactid> mysql-connector-java </artifactid> <scope> runtime </scope> </dependency>
2。ドルイド構成
Druid.Properties#データベース設定spring.datasource.driverclassname = com.mysql.jdbc.driverspring.datasource.url = jdbc:mysql:// localhost:3306/uu_core?useunicode = true&charatereCoding = utf8&ait oReconnect=true&useSSL=truespring.datasource.username=rootspring.datasource.password=root#------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------サイズ、最小、最大spring.datasource.initialsize = 5spring.datasource.minidle = 1spring.datasource.maxactive = 50#spring.datasource.datasource.maxwait = 60000を構成する時間を設定する時間を設定する時間を設定spring.datasource.timebetweenevictionrunsmillis = 60000#プールで生き残る最小時間を構成します。 DUALspring.datasource.testWhileIdle=truespring.datasource.testOnBorrow=falspring.datasource.testOnReturn=false# Open PSCache and specify the size of PSCache on each connection spring.datasource.poolPreparedStatements=false#spring.datasource.maxPoolPreparedStatementPerConnectionSize=20# Configure監視統計のフィルターは傍受されます。削除した後、監視インターフェイスSQLをカウントできません。 「wall」はファイアウォールに使用されますspring.datasource.filters = stat、wall、log4j#connectpropertiesプロパティを介してmergesql関数を開きます。スローSQLレコードspring.datasource.connectionproperties = druid.stat.mergesql = true; druid.stat.slowsqlmillis = 5000#複数のDruiddatasourceのマージ監視データ
3. Druid DataSourceをインスタンス化します
パッケージcn.aduu.config; Import com.alibaba.druid.pool.druiddatasource; Import com.alibaba.druid.support.http.statviewservlet; Import com.alibaba.druid.druid.support.http.webstatfilter; Import; org.springframework.context.properties.configurationproperties; Import org.springframework.boot.web.servlet.filterregistrationbean; Import org.springframework.boot.web.servlet.servletregistrationbean; import.springframework.nant.contextextextext.context.contextextex springframework.context.annotation.configuration; import org.springframework.context.annotation.propertysource; Import javax.sql.datasource;/** * @author zh * @classname cn.aduu.config.druidconfiguration * @desuripution * "classpath:druid.properties")public class druidconfiguration {@bean(destroymethod = "close"、initmethod = "init")@configurationProperties(spring.datasource ")public datasource druiddatasource(){druiddatasource druiddurcudtasoud surce(); Druiddatasourceを返します。 } /** * statviewservlet * @return * /@bean public servletregistrationbean Druidstatviewservlet(){//org.springframework.boot.context.embedded.servletregistrationbeanは登録のためのクラスを提供します。 ServleTregistrationBean ServletRegistrationBean = new ServletRegistrationBean(new StatViewServlet()、 "/Druid/*"); //初期化パラメーターの追加:initparams // whitelist:servletregistrationbean.addinitparameter( "low"、 "127.0.0.1"); // IPブラックリスト(共通性がある場合、拒否は許可を優先します):拒否が満たされた場合、迅速:申し訳ありませんが、このページを表示することは許可されていません。 servletregistrationbean.addinitparameter( "deny"、 "192.168.1.73"); //情報を表示するためにアカウントパスワードをログインします。 servletregistrationbean.addinitparameter( "loglognusername"、 "admin"); servletregistrationbean.addinitparameter( "loginpassword"、 "123456"); //データをリセットすることは可能ですか? servletregistrationbean.addinitparameter( "resetenable"、 "false"); return servletregistrationbean; } / ** *登録1:FilterRegistrationBean * @return * / @bean public filterRegistrationBean DruidStatfilter(){filterregistrationBean filterRegistrationBean = new filterRegistrationBean(new WebStatFilter()); //フィルタールールを追加します。 filterregistrationbean.addurlpatterns( "/*"); //無視する必要のないフォーマット情報を追加します。 filterregistrationbean.addinitparameter( "除外"、 "*。js、*。gif、*。jpg、*。png、*。css、*。ico、/druid/*"); FilterRegistrationBeanを返します。 }}4。監視
http:// localhost:8080/druidにアクセスし、上記で構成されたアカウントパスワードを使用します。
V.テスト
@RestControllerPublic Class Hellocontroller {private static final logger logger = loggerfactory.getLogger(hellocontroller.class); @AutowiredプライベートJDBCTEMPLATE JDBCTEMPLATE; @RequestMapping( "hello")public list <map <string、object >> hello(){list <map <string、object >> list = jdbctemplate.queryforlist( "select user、password from mysql.user"、new object [] {});返品リスト。 }}LocalHost:8080/Helloにアクセスしてください
[{"user": "root"、 "password": "*81f5e21e35407d884a6cd4a731aebfb6af209e1b"}、{"user": "root"、 "password": "*81f5e21e35407d88888884a6cd4a731aeb222222209efb6afb6a要約します
上記は、編集者が紹介したスプリングブートデータソースです。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!