一.项目环境搭建pom.xml
org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-thymeleaf org.springframework.boot spring-boot-devtools runtime mysql mysql-connector-java runtime org.springframework.boot spring-boot-starter-test test org.junit.jupiter junit-jupiter-api org.projectlombok lombok org.springframework.boot spring-boot-maven-plugin 二.配置项目资源,使用.yml格式配置server:
port: 8080
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&userSSL=false
jpa:
show-sql: true
hibernate:
ddl-auto: update
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
thymeleaf:
encoding: utf-8
cache: false
mode: HTML5
prefix: /static/admin/
mvc:
static-path-pattern: /**
三.Repository层 就一句,继承JpaRepository
@Repository
public interface NoticeDao extends JpaRepository<Notice,Integer> {
}
四.service层
public interface NoticeService {
/*查询所有公告/
List findAll();
/*添加公告/
Notice save(Notice notice);
/*删除公告列表/
void delete(Notice notice);
/*根据公告id删除/
void deleteById(Integer noticeId);
/*修改公告信息/
Notice updateById(Notice notice);
Notice findById(Integer noticeid);
}
实现类
@Service
public class NoticeServiceImpl implements NoticeService {
@Autowired
private NoticeDao noticeDao;
@Override
public List<Notice> findAll() {
return noticeDao.findAll();
}
@Override
public Notice save(Notice notice) {
return noticeDao.save(notice);
}
@Override
public void delete(Notice notice) {
noticeDao.delete(notice);
}
@Override
public void deleteById(Integer noticeId) {
noticeDao.deleteById(noticeId);
}
@Override
public Notice updateById(Notice notice) {
noticeDao.save(notice);
return notice;
}
@Override
public Notice findById(Integer noticeid) {
return noticeDao.findById(noticeid).get();
}
}
五.controller层使用restful风格请求路径为http://localhost:8080/notice/+方法的value
@RequestMapping("/notice")
@RestController
public class NoticeController {
@Autowired
private NoticeService noticeService;
@RequestMapping(value="/list",method = RequestMethod.GET)
@ResponseBody
public List<Notice> getAll() {
List<Notice> list = noticeService.findAll();
return list;
}
@RequestMapping(value="/findById",method = RequestMethod.GET)
@ResponseBody
public String findById(@PathVariable("noticeid") I