您的位置:首页 > Web前端 > Vue.js

idea+HBuilderX实现springboot+springdata-jpa+vue+axios前后端分离增删改查,分页+解决跨域问题的idea页面

2019-06-04 22:05 2356 查看

运行效果图

HBuilderX的HTML页面正在上传中

idea结构

实体类

@Data
@Entity
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String sex;
private Integer gradeId;
}

service层接口

public interface StudentService {
/**
* 新增信息
* @param student
*/
Student save(Student student);
/**
* 查看全部信息
* @return
*/
Page<Student> getAll(Integer page,String name);
/**
* 修改信息
* @param student
*/
Student update(Student student);
/**
* 删除信息
* @param id
*/
void  datele(Integer id);
}

service层实现类

@Service
public class StudentServiceImpl implements StudentService {
@Autowired
private StudentDao studentDao;
/**
* 新增信息
* @param student
*/
@Override
public Student save(Student student) {
return studentDao.save(student);
}
/**
* 查看全部信息
* @return
*/
@Override
public Page<Student> getAll(Integer page,String name) {
PageRequest request = PageRequest.of((page-1), 2);
Page<Student> studentPage;
if (name == null ){
//分页查询
studentPage =studentDao.findAll(request);
}else {
studentPage = studentDao.findByName(name,request);
}
return studentPage;
}
/**
* 修改信息
* @param student
*/
@Override
public Student update(Student student) {
return studentDao.save(student);
}
/**
* 删除信息
* @param id
*/
@Override
public void datele(Integer id) {
studentDao.deleteById(id);
}
}

dao 层

public interface StudentDao extends JpaRepository<Student,Integer> {
/**
* 按条件分页查询
* @param name
* @param page
* @return
*/
@Query(value = "select * from student where name like concat('%',?,'%') ",nativeQuery = true)
Page<Student> findByName(String name , PageRequest page);
}

controller 控制层

@RestController
@RequestMapping("/student")
@Api(value = "swagger ui 注释 api 级别")
public class StudentController {
@Autowired
private StudentService studentService;
/**
* 查询所有
* @return
*/
@GetMapping("/getAll")
public Page<Student> getAll(Integer page,String name){
if (page == null||page==0){
page = 1;
}
Page<Student> page1 = studentService.getAll(page,name);
return page1;
}
/**
* 新增信息
* @param student
*/
@PostMapping("/save")
public void save(@RequestBody Student student){
studentService.save(student);
}
/**
* 修改信息
* @param student
*/
@PutMapping("/update")
public void update(@RequestBody Student student){
studentService.update(student);
}
@DeleteMapping("/delete")
public void detele(Integer id){
studentService.datele(id);
}
}

pom文件依赖

dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--添加对swagger的依赖-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>

yml配置文件

spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/student?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
password: root
username: root
jpa:
database: mysql
hibernate:
ddl-auto: update
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyComponentPathImpl
show-sql: true
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: