1:后端
后台代码结构
yml配置
server:
port: 8080
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/jpa?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
实体类代码
@Data
@Entity
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String sex;
private Integer gradeId;
}
dao层(dao层只有一个分页方法)
public interface StudentDao extends JpaRepository<Student,Integer> {
@Query(value = "select * from Student where name like concat('%',?,'%') ",nativeQuery = true)
Page<Student> findByName(String name, Pageable pageable);
}
测试层接口
public interface StudentService {
/**
* 查询
* @return
*/
Page<Student> getAll(Integer page, Integer size, String name);
/**
* 保存
* @param student
* @return
*/
Student save(Student student);
/**
* 修改
* @param student
* @return
*/
Student update(Student student);
/**
* 删除
* @param id
*/
void delete(Integer id);
}
测试层实现类
@Service
public class StudentServiceImpl implements StudentService {
@Autowired
private StudentDao studentDao;
@Override
public Page<Student> getAll(Integer page, Integer size, String name) {
if (page==null||page==0){
page=1;
}
Page<Student> pages = null;
PageRequest of=