Druid هو تنفيذ تجمع اتصال قاعدة البيانات على النظام الأساسي المصدر المفتوح من Alibaba. فهو يجمع بين مزايا تجمعات DB مثل C3P0 ، DBCP ، Proxool ، ويضيف أيضًا مراقبة السجل ، والتي يمكنها مراقبة اتصالات تجمعات DB وتنفيذ SQL جيدًا. يمكن القول أن تجمع اتصال DB تم إنشاؤه للمراقبة (يقال إنه أفضل مجموعة اتصال في الوقت الحاضر)
1. الاعتماد
للاختبار ، استخدم jdbctemplate
<!-jdbctemplate-> <redency> <roupiD> org.springframework.boot </rougeid> <intifactid> spring-boot-starter-jdbc </tenfactid> </redencid> <!-druid database pool- <sophy> 1.0.26 </version> </sependency> <!-موصل mysql-> <reperence> <roupiD> mysql </rougeid> <StifactId> mysql-connector-java </chopactid> <scope> وقت التشغيل </scope> </reperency>
2. التكوين الدرويد
druid.properties#إعدادات قاعدة البيانات spring.datasource.driverClassName = com.mysql.jdbc.driverspring.datasource.url = jdbc: mysql: // localhost: 3306/uu_core؟ useUnicode = true & phariceencoding = utf8 & aut oreConnect = true & usessl = truespring.datasource.username = rootspring.datasource.password = root#---------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ تهيئة الحجم ، الحد الأدنى ، الحد الأقصى لـ Spring.Datasource.InitialSize = 5Spring.datasource.minidle = 1spring.datasource.MaxActive = 50# تكوين الوقت للوصول إلى مذيعة في انتظار المذنبين. spring.datasource.TimeBetweenevictionRunsMillis = 60000# قم بتكوين الحد الأدنى للوقت للبقاء على قيد الحياة في المجمع ، في milliseconds spring.datasource.minevictableDletimEmillis = 300000Spring.Datasource.ValidationQuery = Select 1 from 1 from 1 from 1 from 1 from 1 from 1 from 1 from 1 from 1 dualspring.datasource.testwhileIdle = truespring.datasource.testonborrow = falspring.datasource.testonreturn = false# open pscache وتحديد حجم pscache في كل اتصال مرشحات لمراقبة إحصائيات تم اعتراضها. بعد إزالته ، لا يمكن حساب واجهة المراقبة SQL. يتم استخدام "الجدار" في جدار الحماية spring.datasource.filters = stat ، الجدار ، وظيفة log4j# open mergesql من خلال خاصية connectProperties ؛ سجلات SQL البطيئة spring.datasource.connectionProperties = druid.stat.mergesql = true ؛ druid.stat.slowsqlmillis = 5000# دمج بيانات مراقبة متعددة druiddatasource# spring.datasource.usglobaldatasourcestat = true
3.
package cn.aduu.config ؛ import com.alibaba.druid.pool.druiddatasource ؛ import com.alibaba.druid.support.http.statviewservlet ؛ import com.alibaba.druid.support.http.webstatfilter ؛ org.springframework.boot.context.properties.ConfigurationProperties ؛ استيراد org.springframework.boot.web.servlet.filterregistrationBean ؛ import org.springframework.boot.web.servletrationBean ؛ org.springframework.context.annotation.configuration ؛ استيراد org.springframework.context.annotation.propertysource ؛ استيراد javax.sql.dataSource ؛/** * @author zh * classname "classpath: druid.properties") الطبقة العامة druidConfiguration {bean (destRymethod = "close" ، initmethod = "init") configurationProperties (prefix = "spring.dataSource") public datasource druiddatasource () {druiddataSource ؛ إرجاع DruiddataSource ؛ } /** * سجل statviewservlet * regurn * /bean public servlegistrationbean druidstatviewservlet () {//org.springframework.boot.context.embedded.servletregistrationbean يوفر الفئة للتسجيل. servletregistrationBean servletregistrationBean = new ServleTregistrationBean (New StatViewServlet () ، "/druid/*") ؛ // إضافة معلمات التهيئة: initparams // القائمة البيضاء: servletregistrationbean.addinitparameter ("السماح" ، "127.0.0.1") ؛ // IP Blacklist (عندما يكون هناك قواسم مشتركة ، فإن Deny له الأسبقية أكثر من السماح): إذا كان الرضا راضيًا ، فاحث: آسف ، لا يُسمح لك بعرض هذه الصفحة. servletregistrationbean.addinitparameter ("Deny" ، "192.168.1.73") ؛ // قم بتسجيل الدخول إلى كلمة مرور الحساب لعرض المعلومات. servletregistrationBean.AddinitParameter ("loginuserName" ، "admin") ؛ ServleTregistrationBean.AddinitParameter ("LoginPassword" ، "123456") ؛ // هل من الممكن إعادة ضبط البيانات؟ servletregistrationBean.addinitParameter ("إعادة ضبط" ، "خطأ") ؛ إرجاع servletregistrationBean ؛ } / ** * سجل واحد: FilterRegistrationBean * regurn * / bean public filterregistrationbean druidstatfilter () {filterregistrationBean filterregistrationBean = new filterregistrationbean (webstatfilter () جديد) ؛ // إضافة قواعد المرشح. FilterRegistrationBean.Addurlpatterns ("/*") ؛ // إضافة معلومات التنسيق التي لا تحتاج إلى تجاهلها. FilterRegistrationBean.AddinitParameter ("الاستثناءات" ، "*. JS ،*. GIF ،*. JPG ،*. PNG ،*. إرجاع FilterregistrationBean ؛ }}4. المراقبة
تفضل بزيارة http: // localhost: 8080/druid واستخدم كلمة مرور الحساب التي تم تكوينها أعلاه.
خامسا الاختبار
RestControllerPublic Class HelloconTroller {private static final logger = loggerfactory.getLogger (HelloconTroller.Class) ؛ @autowired jdbctemplate jdbctemplate ؛ requestmapping ("Hello") قائمة عامة <map <string ، Object >> hello () {list <map <string ، object >> list = jdbctemplate.queryforlist ("حدد المستخدم ، كلمة المرور من mysql.user" ، كائن جديد [] {}) ؛ قائمة العودة }}زيارة LocalHost: 8080/مرحبًا
[{"user": "root" ، "password": "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B"} ، {"user": "root" ، "password": لخص
ما سبق هو مصدر بيانات سبرينغ بوت الذي أدخله المحرر لك. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!