spring boot 如何访问 mysql的主要方法
本文主要给大家介绍spring boot 如何访问 mysql的主要方法,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,累计多年的实践经验可分享给大家。
spring boot 访问 mysql
方式二:spring data jpa
为什么使用 jpa :
第一次使用 Spring JPA 的时候,感觉这东西简直就是神器,几乎不需要写什么关于数据库访问的代码一个基本的 CURD 的功能就出来了。
如何使用:
在 pom 文件中引入依赖
org.springframework.boot spring-boot-starter-data-jpa org.springframework.data spring-data-commons 2.1.6.RELEASE mysql mysql-connector-java
配置数据库:
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTCspring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.jdbc.Driver# JPA 相关配置spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialectspring.jpa.show-sql=truespring.jpa.hibernate.ddl-auto=update
JPA 相关配置
#在 SrpingBoot 2.0 版本中,Hibernate 创建数据表的时候,默认的数据库存储引擎选择的是 MyISAM (之前是 InnoDB)。这个参数是在建表的时候,将默认的存储引擎切换为 InnoDB 用的。
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
配置在日志中打印出执行的 SQL 语句信息。
spring.jpa.show-sql=true
每次运行程序,没有表格会新建表格,表内有数据不会清空,只会更新
spring.jpa.hibernate.ddl-auto=update
创建 Entity Dao Service Controller 三层文件:
entity:@Entity@Table(name = "user")public class JpaUser {@Id@GeneratedValueprivate Long id;private String name;private int age;private String sex;public Long getId() { return id;}public void setId(Long id) { this.id = id;}public String getName() { return name;}public void setName(String name) { this.name = name;}public int getAge() { return age;}public void setAge(int age) { this.age = age;}public String getSex() { return sex;}public void setSex(String sex) { this.sex = sex;}
}
Dao
写一个接口 继承 JpaRepository 简单的 CRUD 可以直接使用了
@Repositorypublic interface JpaUserDao extends JpaRepository {}Service@Servicepublic class JpaUserService {@AutowiredJpaUserDao userDao;public JpaUser add(JpaUser user){ return userDao.save(user);}public JpaUser update(JpaUser user){ return userDao.save(user);}public JpaUser getById(long id){ return userDao.findById(id).get();}
}
Controller
@RestController@RequestMapping("/jpaUser")public class JpaUserController {@AutowiredJpaUserService userService;@RequestMapping(value = "/add",method = RequestMethod.POST)public Object addUser(@RequestBody JpaUser user){ return userService.add(user);}@RequestMapping(value = "/update",method = RequestMethod.PUT)public Object updateUser(@RequestBody JpaUser user){ return userService.update(user);}@RequestMapping(value = "/find",method = RequestMethod.GET)public Object updateUser(long id){ return userService.getById(id);}
}
完成 启动 访问测试
jpa 配置说明:
spring.jpa.hibernate.ddl-auto=create ----每次运行该程序,没有表格会新建表格,有表会删除表重新创建表
spring.jpa.hibernate.ddl-auto=create-drop ----每次程序结束的时候会清空表
spring.jpa.hibernate.ddl-auto=update ----每次运行程序,没有表格会新建表格,表内有数据不会清空,只会更新表结构
spring.jpa.hibernate.ddl-auto=validate ----运行程序会校验数据与数据库的字段类型是否相同,不同会报错
看了以上spring boot 如何访问 mysql的主要方法介绍,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,大家可以继续关注行业资讯板块,会定期给大家更新行业新闻和知识,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。