Spring boot结合Spring-Data-JPA操作MySQL数据库
来源:互联网 发布:手机wifi扫描不到网络 编辑:程序博客网 时间:2024/05/22 07:40
上一节学习了Spring-boot的基本知识,这一节进一步学习一下Spring-boot结合Spring-Data-JPA操作MySQL数据库。首先介绍JPA:Java Persistence API,定义了一系列对象持久化的标准,是一个标准。
第一步:在配置文件中引入Spring-Data-JPA和MySQL的依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>第二步:在yml配置文件中配置数据库的地址及相应的jpa。【在我的本地安装的MySQL中已经创建了数据库learn】
spring: server: port:8081 datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/learn username: root password: admin jpa: hibernate: ddl-auto: update # create每次运行都删除原有表创建新表,update不用每次创建新表 show-sql: true # 打印SQL语句第三步:建立数据库中表对应的实体类student
package com.example.domain;import javax.persistence.Entity;import javax.persistence.Id;import javax.validation.constraints.Min;@Entitypublic class Student { @Id @Min(value = 20110001, message = "学号不得小于20110001") private int sno; private String name; private String major; public Student(){ } public int getSno() { return sno; } public void setSno(int sno) { this.sno = sno; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } @Override public String toString() { return "Student{" + "sno=" + sno + ", name='" + name + '\'' + ", major='" + major + '\'' + '}'; }}此时运行程序,数据库中已经成功创建了一张表Student
第四步:数据库操作
(1)查看数据库表
新建StudentRespository接口继承自JpaRepository,然后在StudentController.java中装配,并调用对应方法即可
package com.example.repository;import com.example.domain.Student;import org.springframework.data.jpa.repository.JpaRepository;import java.util.List;public interface StudentRepository extends JpaRepository<Student, Integer>{ //通过major来选择学生 public List<Student> findStudentsByMajor(String major);}
(2)添加一个学生
(3)根据学号查学生信息
(4)更新学生信息
(5)删除学生信息
(6)通过专业选择学生,此时在JpaRepository中并没有对应的接口,所以需要首先在StudentRepository中定义根据专业选择学生的接口,然后在StudentController中直接调用该方法即可
(7)批量添加学生。由于上面的逻辑都不复杂,所以并没有建立专门的service来处理数据逻辑,因此在这里,首先建立一个StudentService类,在其中定义好添加学生的方法,然后在StudentController中调用即可
(8)对添加的属性进行验证,比如在数据库中插入学生信息时,学号不得小于“20110001”。
对原代码做以下修改:
a)在Student实体类的sno属性上加@Min关键字(value为最小值、message为提示信息);
b)将StudentController.java中的addStudent方法的参数修改为Student对象,这样可以使对象属性增多时不用修改此处的代码,同时在参数前加@Valid注解,表示对该参数进行验证,验证返回的参数BindingResult。
参考资料:http://www.imooc.com/learn/767
Git代码
- Spring boot结合Spring-Data-JPA操作MySQL数据库
- Spring Boot结合spring-data-jpa
- 基于Spring boot的Spring data jpa连接MySQL数据库
- Spring data jpa操作数据库
- spring-boot-data-jpa 连接数据库
- spring-boot-data-jpa
- Spring Boot+JPA+Mysql完成数据库整合操作
- • Spring Boot 进 阶- 数 据 访 问-使用spring-data-jpa 操作数据库
- Spring-boot中使用Spring-data-jpa操作DB
- Spring Boot-使用Spring Data JPA简化数据库访问
- Spring Boot与Spring Data JPA、MySql环境搭建
- Spring Data JPA例子[基于Spring Boot、Mysql]
- Spring Data JPA例子[基于Spring Boot、Mysql]
- Spring Data JPA例子[基于Spring Boot、Mysql]
- Spring Boot 添加MySQL数据库及JPA
- JAVA操作数据库一(Spring data jpa)
- Spring Boot+Spring Data JPA+Spring Cache
- spring boot集成data-jpa
- eclipse--开启代码自动提示
- form 中Enctype=multipart/form-data 的作用
- adb环境变量配置
- Unity UGUI 动态添加Button.OnClick()事件
- CSDN日报20170816——《做自由职业者是怎样的体验》
- Spring boot结合Spring-Data-JPA操作MySQL数据库
- 记录一下自己最近的学习曲线路程。。
- MOOC清华《面向对象程序设计》第3章:拷贝构造函数实验
- unity不同平台下访问游戏中文件的路径
- fmt标签格式化输出字符串为日期格式字符串
- Eclipse开发环境配置(Windows)
- 【模板】【数论】快速幂和快速乘法
- MySQL优化原理
- 多态练习题