6. datasource - mysql

在任何一个平台都逃离不了数据库的操作,那么在spring boot中怎么接入数据库呢?

很简单,我们需要在application.properties进行配置一下,application.properties路径是src/main/resources下,对于application.properties更多的介绍请自行百度进行查找相关资料进行查看,在此不进行过多的介绍,以下只是mysql的配置文件。

       大体步骤:

       (1)在application.properties中加入datasouce的配置

       (2)在pom.xml加入mysql的依赖。

    (3)获取DataSouce的Connection进行测试。

 

src/main/resources/application.properties:

########################################################

###datasource

########################################################

spring.datasource.url = jdbc:mysql://localhost:3306/test

spring.datasource.username = root

spring.datasource.password = root

spring.datasource.driverClassName = com.mysql.jdbc.Driver

spring.datasource.max-active=20

spring.datasource.max-idle=8

spring.datasource.min-idle=8

spring.datasource.initial-size=10

 

 

pom.xml配置:

<dependency>

              <groupId>mysql</groupId>

              <artifactId>mysql-connector-java</artifactId>

</dependency>

到此相关配置就ok了,那么就可以在项目中进行测试了,我们可以新建一个class Demo进行测试,实体类创建完毕之后,我们可能需要手动进行编写建表语句,这时候我们可能就会想起Hibernate的好处了。那么怎么在spring boot使用Hibernate好的特性呢?So easy,具体怎么操作,请看下篇文章之JPA – Hibernate。

 

转载于:https://www.cnblogs.com/blackCatFish/p/9892909.html

spring.application.name=dataIngestionSystem logging.level.org.springframework.boot.autoconfigure= error #spring.datasource.hikari.jdbc-url: jdbc:hive2://10.99.32.76:10000/myhive #spring.datasource.hikari.driver-class-name: org.apache.hive.jdbc.HiveDriver #spring.datasource.hikari.username: #spring.datasource.hikari.password: spring.datasource.name=dataSource spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://10.99.32.76:3306/data_insystm spring.datasource.username=root spring.datasource.password=JktueGFp01mT1J1r bootstrap.servers=10.99.40.14:21007,10.99.40.13:21007,10.99.40.12:21007 manager_username=xxx manager_password=xxx # Kafka????? spring.kafka.bootstrap-servers=10.99.40.14:21007,10.99.40.13:21007,10.99.40.12:21007 # ????????????????? spring.kafka.security.protocol=SASL_PLAINTEXT spring.kafka.properties.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="/opt/client/jkt_keytab/user.keytab" storeKey=false useTicketCache=false serviceName="kafka" principal="jkt_sjzl@HADOOP.COM"; spring.kafka.properties.sasl.mechanism=GSSAPI spring.kafka.properties.security.protocol=SASL_PLAINTEXT # ????key???? spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer # ????key???? spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer # ????value???? spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer #16KB spring.kafka.producer.batch-size=16384 #1?????? spring.kafka.producer.linger.ms=1 #32MB spring.kafka.producer.buffer-memory=33554432 spring.kafka.producer.acks=all #mybatis-plus.mapper-locations=classpath:mapper/*Mpper.xml #mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl #mybatis.mapper-locations=file:config/*/*.xml
最新发布
05-27
### Spring Boot `application.properties` 文件配置指南 以下是对Spring Boot应用程序中的`application.properties`文件进行配置的详细说明,涵盖了MySQL数据源、Kafka连接以及SASL_PLAINTEXT安全协议的支持。 --- #### 1. **MySQL 数据源配置** 为了使Spring Boot能够正确连接到MySQL数据库,需要在`application.properties`中定义数据源的相关属性。以下是必要的配置项: - `spring.datasource.url`: 指定MySQL数据库的URL。 - `spring.datasource.username`: 连接MySQL的用户名。 - `spring.datasource.password`: 连接MySQL的密码。 - `spring.jpa.hibernate.ddl-auto`: 控制Hibernate的行为模式(如更新表结构或创建新表)。 - `spring.datasource.driver-class-name`: 明确指定驱动类名称。 完整示例如下[^1]: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=liykpntuu9?C spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.hibernate.ddl-auto=update ``` > 注意:如果使用较新的MySQL Connector/J版本,请确保URL参数包含`serverTimezone=UTC`以避免时区相关错误。 --- #### 2. **Kafka 配置** 针对Kafka的连接和生产者/消费者设置,可以在`application.properties`中添加以下内容: ##### Kafka Broker 地址 - `spring.kafka.bootstrap-servers`: 定义Kafka集群的地址列表。 ##### Producer 和 Consumer 的通用配置 - `spring.kafka.consumer.group-id`: 消费组ID。 - `spring.kafka.consumer.auto-offset-reset`: 当没有初始偏移量或者当前偏移量不再存在时的操作策略(如`earliest`或`latest`)。 - `spring.kafka.producer.retries`: 生产者失败后的重试次数。 ##### SASL_PLAINTEXT 安全协议配置 根据引用的内容[^2],启用SASL_PLAINTEXT协议需要额外配置以下选项: - `spring.kafka.security.protocol`: 设置为`SASL_PLAINTEXT`。 - `spring.kafka.sasl.mechanism`: 指定SASL机制为`PLAIN`。 - `spring.kafka.sasl.jaas.config`: 提供JAAS登录模块的具体实现。 完整示例如下: ```properties spring.kafka.bootstrap-servers=localhost:9092 spring.kafka.consumer.group-id=my-consumer-group spring.kafka.consumer.auto-offset-reset=earliest spring.kafka.producer.retries=3 # SASL_PLAINTEXT 配置 spring.kafka.security.protocol=SASL_PLAINTEXT spring.kafka.sasl.mechanism=PLAIN spring.kafka.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="password"; ``` > 特别注意:如果环境不允许直接嵌入敏感信息(如用户名和密码),建议通过外部化配置管理工具(如Vault或Secrets Manager)来保护这些凭证。 --- #### 3. **SSL 加密配置(可选)** 虽然问题未提及SSL加密需求,但如果未来扩展涉及此部分,可以参考以下配置[^3]: - `spring.kafka.ssl.trust-store-location`: 指向信任库文件位置。 - `spring.kafka.ssl.trust-store-password`: 访问信任库所需密码。 - `spring.kafka.ssl.key-store-location`: 指向密钥库文件位置。 - `spring.kafka.ssl.key-store-password`: 访问密钥库所需密码。 示例配置如下: ```properties spring.kafka.ssl.trust-store-location=/path/to/third.truststore.jks spring.kafka.ssl.trust-store-password=test12 spring.kafka.ssl.key-store-location=/path/to/third.keystore.jks spring.kafka.ssl.key-store-password=test123 spring.kafka.ssl.key-password=test1234 ``` --- #### 4. **优化 JVM 参数(适用于高负载场景)** 如果计划监控Kafka性能指标并调整JVM内存分配,可以根据引用内容[^4]自定义JVM参数。这通常通过设置`JAVA_OPTS`变量完成,而非直接写入`application.properties`。不过,也可以间接影响其行为,例如增加堆内存大小或开启JMX端口以便远程调试。 示例: ```properties # 可能需要配合操作系统级别的环境变量 JAVA_OPTS="-Xms2G -Xmx2G" management.endpoint.health.show-details=always management.endpoints.web.exposure.include=* management.metrics.export.enabled=true ``` --- ### 总结配置模板 综合上述各部分内容,最终的`application.properties`文件可能类似于以下形式: ```properties # MySQL Data Source Configuration spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=liykpntuu9?C spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.hibernate.ddl-auto=update # Kafka Configuration spring.kafka.bootstrap-servers=localhost:9092 spring.kafka.consumer.group-id=my-consumer-group spring.kafka.consumer.auto-offset-reset=earliest spring.kafka.producer.retries=3 # SASL_PLAINTEXT Security Protocol spring.kafka.security.protocol=SASL_PLAINTEXT spring.kafka.sasl.mechanism=PLAIN spring.kafka.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="password"; # Optional SSL Encryption (if applicable) # spring.kafka.ssl.trust-store-location=/path/to/third.truststore.jks # spring.kafka.ssl.trust-store-password=test12 # spring.kafka.ssl.key-store-location=/path/to/third.keystore.jks # spring.kafka.ssl.key-store-password=test123 # spring.kafka.ssl.key-password=test1234 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值