大部分注解都打了注释,希望这篇对你们有用哦~ 谢谢!
首先在实体类
@Data //自动封装getset方法
@Entity // 表示这是给实体
@Table(name = "students") // 表名 会生成表数据
public class Student {
@Id //主键
@GeneratedValue(strategy= GenerationType.IDENTITY) // 自增列
private Long id;
//字段名,可以不写
@Column(name = "name",columnDefinition = "varchar(25) comment '姓名'")
private String name;
@Column
private String sex;
private Integer gradeId;
}
Dao层
//extends JpaRepository<Student,Long> 继承jpa自有的东西,里面有很多方法
public interface StudentDao extends JpaRepository<Student,Long> {
//@Query 可以自己写sql语句 ,nativeQuery = true 多表时使用
@Query(value = "select * from students where name like concat('%',?,'%') ",nativeQuery = true)
List<Student> findByName(String name);
}
servlce
public interface StudentService {
/**
* 新增
*/
Student savn(Student student);
/**
* 修改
*/
Student update(Student student);
/**
* 分页查询
*/
Page<Student> findByPage(Integer pageNum,Integer size,Student student);
/**
* 删除
*/
void del(Long id);
/**
* 根据名字查询
*/
List<Student> findByName(String name);
/**
* 根据id查询
* @param id
* @return
*/
Student findById(Long id);
Impl 实现类
@Service
public class StudentServlceImpl implements StudentService {
@Autowired
private StudentDao studentDao;
//这是新增时 id 不重复 可以不写
@Autowired
private IdWorker idWorker;
@Override
public Student savn(Student student) {
//UUID
//把新增的对象返回给调用者
//分布式服务的时候很多时候会自己设置Id
student.setId(idWorker.nextId());
Student s = studentDao.save(student);
return s;
}
@Override
public Student update(Student student) {
return studentDao.save(student);
}
@Override
public Page<Student> findByPage(Integer pageNum, Integer size,Student student) {
if (pageNum==null