麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
787
2023-12-14
如何用springboot连接数据库新建Spring Boot项目,依赖选择JPA(spring-boot-starter-data-jpa)和Web(spring-bootstarter-web)配置基本属性 在application.properties里配置数据源和jpa的相关属性
spring.datasource.driverClassName=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/springboot
spring.datasource.username=rootspring.datasource.password=123456spring.jpa.hibernate.ddl-auto=updatespring.jpa.show-sql=true
spring.jackson.serialization.indent_output=true定义映射实体类定义Controller类@RestControllerpublic class PersonCtroller {
@Autowired PersonServer 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 JpaRepositoryPerson, 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; } }7浏览器访问springboot连接***读取不到数据网络的问题springboot连接***读取不到数据多数是网络连接异常导致1、首先打开电脑检查网络。
2、其次打开springboot进行测试网络连接是否异常3、最后等待网络连接正常后,将springboot和***重新连接,即可读取数据spring boot 连接mysql 有几种方式1、属性配置文件(application.properties)。
spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=rootspring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver12341234如果使用JNDI,则可以替代 spring.datasource 的 url、username、password,如:
spring.datasource.jndi-name=java:tomcat/datasources/example 11值得一提的是,无论是Spring Boot默认的DataSource配置还是你自己的DataSource bean,都会引用到外部属性文件中的属性配置。
所以假设你自定义的DataSource bean,你可以在定义bean时设置属性,也可以在属性文件中,以“spring.datasource为什么springboot只配置application文件就能访问数据库
因为springboot的约定优于配置,只需要在配置文件中按指定key设置数据库即可Spring Boot教程第5篇:beatsqlBeetSql是一个全功能DAO工具, 同时具有Hibernate 优点 Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用。
beatlsql 优点 引入依赖 这几个依赖都是必须的 整合阶段 由于springboot没有对 beatlsql的快速启动装配,所以需要我自己导入相关的bean,包括数据源,包扫描,事物管理器等 在application加入以下代码:
在resouces包下,加META_INF文件夹,文件夹中加入spring-devtools.properties: restart.include.beetl=/beetl-2.3.2.jar restart.include.beetlsql=/beetlsql-2.3.1.jar
在templates下加一个index.btl文件 加入jar和配置beatlsql的这些bean,以及resources这些配置之后,springboot就能够访问到数据库类 举个restful的栗子。
初始化数据库的表 bean 数据访问dao层 接口继承BaseMapper,就能获取单表查询的一些性质,当你需要自定义sql的时候,只需要在resouses/sql/account.md文件下书写文件:
其中“=== ”上面是唯一标识,对应于接口的方法名,“* ”后面是注释,在下面就是自定义的sql语句,具体的见官方文档 web层 这里省略了service层,实际开发补上 通过postman 测试,代码已全部通过。
个人使用感受,使用bealsql做了一些项目的试验,但是没有真正用于真正的生产环境,用起来非常的爽但是springboot没有提供自动装配的直接支持,需要自己注解bean另外使用这个orm的人不太多,有木有坑不知道,在我使用的过程中没有遇到什么问题。
另外它的中文文档比较友好
springboot怎么连接数据库新建Spring Boot项目,依赖选择JPA(spring-boot-starter-data-jpa)和Web(spring-bootstarter-web)配置基本属性 在application.properties里配置数据源和jpa的相关属性。
spring.datasource.driverClassName=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/springboot
spring.datasource.username=rootspring.datasource.password=123456spring.jpa.hibernate.ddl-auto=updatespring.jpa.show-sql=true
spring.jackson.serialization.indent_output=true定义映射实体类定义Controller类@RestControllerpublic class PersonCtroller {
@Autowired PersonServer 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 JpaRepositoryPerson, 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; } }
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。