spring boot怎么初始化连接数据库

spring boot怎么初始化连接数据库,第1张

新建Spring Boot项目,依赖选择JPA(spring-boot-starter-data-jpa)和Web(spring-bootstarter-web)。

配置基本属性 在application.properties里配置数据源和jpa的相关属性

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

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

spring.datasource.username=root

spring.datasource.password=123456

spring.jpa.hibernate.ddl-auto=update

spring.jpa.show-sql=true

spring.jackson.serialization.indent_output=true

定义映射实体类

定义Controller类

@RestControllerpublic class PersonCtroller {

@AutowiredPersonServer personServer

@RequestMapping("/rollback")

public Person rollback(Person person){

return personServer.savePersonWithRollBack(person)

}

@RequestMapping("/norollback")

public Person noRollback(Person person){

return personServer.savePersonWithOutRollBack(person)

}

}

定义数据访问层

public interface PersonRepository extends JpaRepository<Person, Long>{}

定义Server层

@Servicepublic class PersonServerImp implements PersonServer {

@Autowired

PersonRepository personRepository

@Transactional(rollbackFor = {IllegalArgumentException.class})

@Override

public Person savePersonWithRollBack(Person person) {

Person p = personRepository.save(person)

if (p.getName().equals("xxx")){

throw new IllegalArgumentException("用户已存在,数据会回滚")

}

return p

}

}

jdbc和连接池对于你这个场景来说,都足够,既然用spring管理了,建议还是使用连接池,另外,spring自身没有实现连接池,一般都是对第三方连接池的包装,常见的有C3P0,dbcp以及最近比较流行的boneCP等,这几个配置都差不多太多,以boneCP为例:

<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"

destroy-method="close">

<property name="driverClass" value="${jdbc.driverClass}" />

<property name="jdbcUrl" value="${jdbc.url}" />

<property name="username" value="${jdbc.user}" />

<property name="password" value="${jdbc.password}" />

<property name="idleConnectionTestPeriod" value="60" />

<property name="idleMaxAge" value="240" />

<property name="maxConnectionsPerPartition" value="30" />

<property name="minConnectionsPerPartition" value="10" />

<property name="partitionCount" value="2" />

<property name="acquireIncrement" value="5" />

<property name="statementsCacheSize" value="100" />

<property name="releaseHelperThreads" value="3" />

</bean>

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

<property name="dataSource" ref="dataSource" />

</bean>

使用jdbcTemplate做你的数据 *** 作即可,jdbcTemplate是spring对jdbc的封装,很实用,也很简单,楼主可以了解下。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10064573.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存