springboot使用jpa案例
1 创建entity实体类并生成数据库表
@Entity
@Table(name="student")
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer stuid;
private String stuname;
public Integer getStuid() {
return stuid;
}
public void setStuid(Integer stuid) {
this.stuid = stuid;
}
public String getStuname() {
return stuname;
}
public void setStuname(String stuname) {
this.stuname = stuname;
}
}
2 创建Dao接口
@Repository
public interface StudentDao extends JpaRepository<Student,Integer> {
}
3 创建service层接口
public interface StudentService {
//查询所有学生信息
public Iterable<Student> getStudent();
//添加学生信息
public Student addStudent(Student student);
//修改学生信息
public Student updaStudent(Student student);
//删除学生信息
public void delStuddent(Integer stuid);
}
4 创建service层接口实现类
@Service("studentService")
public class StudentServiceImpl implements StudentService{
@Resource
private StudentDao studentDao;
//查询所有学生信息
@Override
public Iterable<Student> getStudent() {
return studentDao.findAll();
}
//添加学生信息
@Override
public Student addStudent(Student student) {
return studentDao.save(student);
}
//修改学生信息
@Override
public Student updaStudent(Student student) {
return studentDao.save(student);
}
//删除学生信息
@Override
public void delStuddent(Integer stuid) {
studentDao.delete(stuid);
}
}
5 编写application.yml文件
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///springbootjpa
username: root
password: 123
jpa:
hibernate:
ddl-auto: update
6 编写Controller层
@RestController
@RequestMapping("/onejpa")
public class JpaController {
@Resource
private StudentService studentService;
//查询数据
@RequestMapping("/getStudent")
public Iterable<Student> getStudent(){
return studentService.getStudent();
}
//添加数据
@RequestMapping("/addStudent")
public Student addStudent(){
Student student=new Student();
student.setStuname("张三");
return studentService.addStudent(student);
}
//修改数据
@RequestMapping("/updaStudent")
public Student updaStudent(){
Student student=new Student();
student.setStuid(1);
student.setStuname("李四");
return studentService.updaStudent(student);
}
//删除数据
@RequestMapping("/delStudent")
public void delStudent(){
studentService.delStuddent(1);
}
}
7 启动程序
@SpringBootApplication
public class StartSpringBoot {
public static void main(String[] args) {
SpringApplication.run(StartSpringBoot.class,args);
}
}
@Entity@Table(name="student")public class Student { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer stuid; private String stuname;
public Integer getStuid() { return stuid;}
public void setStuid(Integer stuid) { this.stuid = stuid;}
public String getStuname() { return stuname;}
public void setStuname(String stuname) { this.stuname = stuname;}}
springboot使用jpa案例的更多相关文章
- Springboot+Atomikos+Jpa+Mysql实现JTA分布式事务
1 前言 之前整理了一个spring+jotm实现的分布式事务实现,但是听说spring3.X后不再支持jotm了,jotm也有好几年没更新了,所以今天整理springboot+Atomikos+jp ...
- 【极简版】SpringBoot+SpringData JPA 管理系统
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 在上一篇中已经讲解了如何从零搭建一个SpringBo ...
- 带你搭一个SpringBoot+SpringData JPA的环境
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 不知道大家对SpringBoot和Spring Da ...
- 二、springboot使用jpa
花了几天时间,好好看了看springboot的jpa部分,总结了常用的形式. 1.通过STS工具添加jpa的依赖项 要连mysql,测试的时候需要web,顺便添加了lombok不写set和get方法了 ...
- Springboot+MyBatis+JPA集成
1.前言 Springboot最近可谓是非常的火,本人也在项目中尝到了甜头.之前一直使用Springboot+JPA,用了一段时间发现JPA不是太灵活,也有可能是我不精通JPA,总之为了多学学Sp ...
- 第11章—使用对象关系映射持久化数据—SpringBoot+SpringData+Jpa进行查询修改数据库
SpringBoot+SpringData+Jpa进行查询修改数据库 JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分.但它又不限于EJB 3.0,你可以在Web应用.甚至桌面应用 ...
- 集成Springboot+MyBatis+JPA
1.前言 Springboot最近可谓是非常的火,本人也在项目中尝到了甜头.之前一直使用Springboot+JPA,用了一段时间发现JPA不是太灵活,也有可能是我不精通JPA,总之为了多学学Spri ...
- SpringBoot Data JPA 关联表查询的方法
SpringBoot Data JPA实现 一对多.多对一关联表查询 开发环境 IDEA 2017.1 Java1.8 SpringBoot 2.0 MySQL 5.X 功能需求 通过关联关系查询商店 ...
- 用SpringBoot+MySql+JPA实现对数据库的增删改查和分页
使用SpringBoot+Mysql+JPA实现对数据库的增删改查和分页 JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述 ...
随机推荐
- 精通react之react-router4源码分析(100代码实现router功能)
1.react-router4 是一个 react 组件 通过和 location / histroy 结合,来显示页面不同URL对应显示不同的组件 其中包含了三种路由.hash / boswer 等 ...
- 通过werkzeug了解wsgi
Django有wsgi当做socket,而flask自身是没有wsgi的,他是通过werkzeug来实现的. 看源码 下面看下源码是如何实现的: #这是我们写的flask代码from flask im ...
- arm-linux-系列工具,ld,ar,as,objcopy
ref :http://www.360doc.com/content/14/0509/09/17268421_376009916.shtml 一.编译器相关知识学习 GNU GCC简介: GNU GC ...
- [BZOJ5197] [CERC2017]Gambling Guide
[BZOJ5197] [CERC2017]Gambling Guide 题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=5197 Solut ...
- docker stack 部署 mssql
=============================================== 2019/12/8_第1次修改 ccb_warlock == ...
- java转换编码报错java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern
Exception in thread "main" java.lang.IllegalArgumentException: URLDecoder: Illegal hex cha ...
- java之抽象类介绍
什么抽象方法和抽象类 抽象方法 在类里面定义的没有方法体且用关键字“abstract”来修饰的方法就是抽象方法,所谓的没有方法体指的是在方法声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名 ...
- 中控考勤机使用 zkemkeeper SDK订阅考勤数据事件失效解决方式
问题 前同事编写的对中控考勤机数据集成项目当中,打卡数据不能实时进行上传到平台当中,一直靠定时全量上传来同步数据. 阅读代码后,发现代码中有实时上传数据的逻辑,但是运行一段时间后,中控zkemkeep ...
- installer
if (args.Length == 0) { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new MyServi ...
- C# 的ToString 常用方法
货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025E 科学型 25000.ToString(&q ...