Druid adalah implementasi kumpulan koneksi basis data pada platform open source Alibaba. Ini menggabungkan keunggulan kumpulan DB seperti C3P0, DBCP, Proxool, dan juga menambahkan pemantauan log, yang dapat memantau koneksi kumpulan DB dan eksekusi SQL dengan baik. Dapat dikatakan sebagai kumpulan koneksi DB yang dibuat untuk pemantauan (dikatakan sebagai kumpulan koneksi terbaik saat ini)
1. Ketergantungan
Untuk pengujian, gunakan jdbctemplate
<!-- jdbcTemplate --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><!-- druid database connection pool--><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version> 1.0.26 </version> </dependency> <!-MySQL Connector-> <dependency> <Groupid> mysql </groupid> <ArTifactId> mysql-connector-java </arttifactid> <lume> runtime </seupop> </dependensi>
2. Konfigurasi Druid
druid.properties#pengaturan database spring.datasource.driverclassname = com.mysql.jdbc.driverspring.datasource.url = jdbc: mysql: // localhost: 3306/uu_core? UseUnicode = true & characterencoding = UTF8 & AUT oreconnect = true & usessl = truespring.datasource.username = rootspring.datasource.password = root#-------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Inisialisasi ukuran, minimum, spring maksimum.dataSource.InitialSize = 5spring.datasource.minidle = 1spring.datasource.maxactive = 50# Konfigurasikan waktu untuk mendapatkan waktu tunggu koneksi. spring.datasource.TimeBetweeneVictionRunsmillis = 60000# Konfigurasikan waktu minimum untuk bertahan hidup di kolam renang, dalam milidetik musim semi.datasource.MinevictableIdleTimemillis = 300000Spring.Datasource.ValidationQuery = Pilih 1 dari Dualspring.datasource.testwhileIdle = truespring.datasource.testonborrow = falspring.datasource.testonreturn = false# buka pscache dan tentukan ukuran pscache pada setiap koneksi spring.datasource.poolpredStatements = false# spring.datacorcing. Filter untuk memantau statistik dicegat. Setelah menghapusnya, antarmuka pemantauan SQL tidak dapat dihitung. 'Wall' digunakan untuk firewall spring.datasource.filters = stat, wall, log4j# terbuka fungsi mergesql melalui properti connectProperties; Slow SQL Records spring.datasource.connectionProperties = druid.stat.mergesql = true; druid.stat.slowsqlmillis = 5000# gabungan data pemantauan dari beberapa druiddataSource# spring.dataSource.uslobaldataSourcestat = true = true = true = true = true = dataSource.uslobaldataSourcestat = true = true = true = true = true = true = true.dataSource.UseGlobalDataSourcestat = true = true = true = true = dataSource.UseSlobalDataCestat = true = true = true = datasource
3. Instantiate Druid DataSource
Paket cn.aduu.config; import com.alibaba.druid.pool.druiddataSource; import com.alibaba.druid.support.http.statviewservlet; impor com.alibaba.druid.support.http.webstatfilter; org.springframework.boot.context.properties.configurationproperties; impor org.springframework.boot.web.servlet.filterregistrationBean; impor org.sprramework.boot.web.servlet.servletregistrasi; org.springframework.context.annotation.configuration; impor org.springframework.context.annotation.propertysource; import javax.sql.datasource;/** * @Author zh * @classname cn.aduu.config.druursour "ClassPath: Druid.Properties") Kelas Publik DruidConfiguration {@Bean (DestroyyMethod = "Tutup", initMethod = "init") @configurationProperties (prefix = "spring.datasource") public datasource druidDataSource () {druiddatacource (druiddatacorce (druiddatasource () {druiddataSource (druiddatacorce (druiddatasource () {druiddatacource (druiddatasource () {druiddatacource () kembali DruidDataSource; } /** * Daftarkan StatViewServlet * @return * /@Bean Public ServletRegistrationBean DruidStatViewServlet () {//org.springframework.boot.context.embedded.servletregistrationBean menyediakan kelas untuk registrasi. ServletregistrationBean servletregistrationBean = servletregistrationBean baru (statviewServlet baru (), "/druid/*"); // Tambahkan Parameter Inisialisasi: InitParams // WhiteList: ServletRegistrationBean.AddinitParameter ("Izinkan", "127.0.0.1"); // IP Blacklist (ketika ada kesamaan, DENY MEMBUAT Over Izinkan): Jika DENY puas, cepat: Maaf, Anda tidak diizinkan untuk melihat halaman ini. servletregistrationBean.addinitparameter ("DENY", "192.168.1.73"); // Masuk Kata Sandi Akun untuk melihat informasi. servletregistrationBean.addinitparameter ("loginusername", "admin"); servletregistrationBean.addinitparameter ("LoginPassword", "123456"); // Apakah mungkin untuk mengatur ulang data? servletregistrationBean.addinitparameter ("resetenable", "false"); return servletregistrationBean; } / ** * Daftar satu: filterregistrationBean * @return * / @bean filterregistrationBean druidstatfilter () {filterregistrationBean filterregistrationBean = new filterRegistrationBean (WebStatFilter baru ()); // Tambahkan aturan filter. filterregistrationBean.addurlpatterns ("/*"); // Tambahkan informasi format yang tidak perlu diabaikan. filterregistrationBean.addinitparameter ("pengecualian", "*. js,*. gif,*. jpg,*. png,*. css,*. ico,/druid/*"); return filterregistrationBean; }}4. Pemantauan
Kunjungi http: // localhost: 8080/druid dan gunakan kata sandi akun yang dikonfigurasi di atas.
V. tes
@RestControllerPublic kelas HelloController {private static final Logger Logger = loggerFactory.getLogger (hellocontroller.class); @Autowired private jdbctemplate jdbctemplate; @RequestMapping ("Hello") Daftar Publik <peta <string, objek >> halo () {daftar <peta <string, objek >> Daftar = jdbctemplate.queryforlist ("Pilih pengguna, kata sandi dari mysql.user", objek baru [] {}); daftar pengembalian; }}Kunjungi LocalHost: 8080/Halo
[{"user": "root", "password": "*81f5e21e35407d884a6cd4a731aebfb6af209e1b"}, {"user": "root", "{" {"{" User "{" User "," {"{" {"User", "{" {"{" {"{" {"User", "{" {"User": "{" {"{" User ":" {"{" {"User": "" Meringkaskan
Di atas adalah sumber data springboot yang diperkenalkan oleh editor kepada Anda. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!