Druid est une implémentation d'un pool de connexions de base de données sur la plate-forme open source d'Alibaba. Il combine les avantages des pools DB tels que C3P0, DBCP, Proxool, et ajoute également la surveillance du journal, qui peut surveiller les connexions des pools DB et bien l'exécution SQL. On peut dire qu'il s'agit d'un pool de connexion DB créé pour la surveillance (il est censé être le meilleur pool de connexion à l'heure actuelle)
1. Dépendance
Pour les tests, utilisez JDBCTemplate
<! - JDBCTemplate -> <dependency> <proupId> org.springframework.boot </proupId> <Artifactid> printemps-boot-starter-jdbc </letefactid> </pedency> <! - Druid Database Pool -> <Dedency> <proupId> com.alibaba </proupId> <ArtifActid> DRUID </ artifactive> <version> 1.0.26 </ version> </ dépendance> <! - Connecteur MySQL -> <dependency> <proupId> MySQL </prôdID> <ArtifACTID> MySQL-Connector-Java </ArtifActid> <cope> Runtime </cope> </Dependency>
2. Configuration du druide
Druid.properties # Paramètres de base de données printemps.datasource.driverclassname = com.mysql.jdbc.driverspring.datasource.url = jdbc: mysql: // localhost: 3306 / uu_core? useucicode = true & caractéristique = utf8 & aut oreconnect = true & usessl = truspring.datasource.username = rootspring.datasource.password = root # ------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Initialize size, minimum, maximum spring.datasource.initialSize=5spring.datasource.minIdle=1spring.datasource.maxActive=50# Configure the time to get the connection waiting timeout spring.datasource.maxWait=60000# Configure how long it takes to perform a detection interval to detect idle connections that need to be closed, in milliseconds printemps.datasource.TimeBetweenvictionRunsmillis = 60000 # Configurez le temps minimum pour survivre dans la piscine, en millisecondes Spring.datasource.MinevictableIdleTimemillis = 300000Spring.Datasource.ValidationQuery Dualspring.datasource.test WhileIdle = truspring.datasource.testonborrow = falspring.datasource.testonreturn = false # open pscache et spécifiez la taille de PSCCache sur chaque connexion. Configurez les filtres pour la surveillance des statistiques interceptées. Après l'avoir retiré, l'interface de surveillance SQL ne peut pas être comptée. 'wall' est utilisé pour le pare-feu printemps.datasource.filters = stat, wall, log4j # ouvre la fonction Mergesql via la propriété ConnectProperties; Slow SQL Records Spring.DataSource.ConnectionProperties = Druid.Stat.Mergesql = True; Druid.Stat.SlowsQlMillis = 5000 # Merge Surveillance Données de plusieurs Druiddatasource # Spring.Datasource.UseglobaldatasourCestat = 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; import org.springframework.boot.web.servlet.filtergistrationBean; import org.springframework.boot.web.servlet.servletRegrationBean; importation org.springframework.contex org.springframework.context.annotation.configuration; import org.springframework.context.annotation.propertysource; import javax.sql.datasource; / ** * @author zh * @classname cn.aduu.config.druidconfiguration * @Description * / @ configuration @ docine = drow "classpath:druid.properties")public class DruidConfiguration { @Bean(destroyMethod = "close", initMethod = "init") @ConfigurationProperties(prefix = "spring.datasource") public DataSource druidDataSource() { DruidDataSource druidDataSource = new DruidDataSource(); retour druiddatasource; } / ** * Enregistrez un statViewServlet * @return * / @Bean public ServletRegistrationBean DruidStatViewServlet () {//org.springframework.boot.context.embedded.servletRegrationBean fournit la classe pour l'enregistrement. ServletRegistrationBean ServLetRegistrationBean = new ServletRegistrationBean (new StatViewServlet (), "/ Druid / *"); // Ajouter des paramètres d'initialisation: initParams // Whitelist: ServletRegistrationBean.addinitParameter ("Autoriser", "127.0.0.1"); // IP Blacklist (Lorsqu'il y a un point commun, refuser la priorité sur Autoriser): Si refuser est satisfait, invite: Désolé, vous n'êtes pas autorisé à afficher cette page. ServletRegistrationBean.AddinitParameter ("Deny", "192.168.1.73"); // Connectez-vous le mot de passe du compte pour afficher les informations. ServletRegistrationBean.AddInitParameter ("LoginUsername", "Admin"); ServletRegistrationBean.AddInitParameter ("LoginPassword", "123456"); // est-il possible de réinitialiser les données? ServletRegistrationBean.AddInitParameter ("Réinitiable", "false"); Return ServletRegistrationBean; } / ** * Enregistrez-vous un: FilterRegistrationBean * @return * / @Bean public FilterRegistrationBean DruidStatFilter () {FilterRegistrationBean FilterRegistrationBean = new Filter IgistrationBean (new WebStAtFilter ()); // Ajouter des règles de filtre. FilterRegistrationBean.AddurlPatterns ("/ *"); // Ajouter des informations de format qui n'ont pas besoin d'être ignorées. FilterRegistrationBean.AddInitParameter ("exclusions", "*. JS, *. Gif, *. Jpg, *. Png, *. CSS, *. ICO, / Druid / *"); Return FilterRegistrationBean; }}4. Surveillance
Visitez http: // localhost: 8080 / druid et utilisez le mot de passe du compte configuré ci-dessus.
V.
@RestControllerPublic classe HelloController {private static final logger Logger = LoggerFactory.getLogger (helloController.class); @Autowired Private JDBCTemplate JDBCTemplate; @RequestMapping ("Hello") public list <map <string, object >> Bonjour () {list <map <string, objet >> list = jdbcTemplate.Queryforlist ("Sélectionner l'utilisateur, mot de passe dans mysql.user", nouveau objet [] {}); Liste de retour; }}Visitez LocalHost: 8080 / Hello
[{"utilisateur": "root", "mot de passe": "* 81f5e21e35407d884a6cd4a731aebfb6af209e1b"}, {"user": "root", "mot de passe": "* 81f5e21e35407d884a6cd4a731aebfb6af209e1b"]]] Résumer
Ce qui précède est la source de données Springboot qui vous a été présentée par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!