一个基于 Spring Boot 的新闻发布系统的概要和关键代码部分。您可以根据这些信息自行完成完整的项目。
一、系统概要
- 系统分为前端和后端两部分,前端负责展示新闻列表和详情,后端负责提供新闻的发布、查询和删除功能。
- 后端使用 Spring Boot 框架,内置 Tomcat 服务器,简化了部署过程。
- 使用 MyBatis 作为持久层框架,与数据库交互,存储新闻数据。
- 前端与后端之间通过 RESTful API 进行通信。 二、关键代码部分
- 创建 Spring Boot 项目,添加 Web 和 MyBatis 模块。
- 配置 application.properties,设置数据库连接信息:
spring.datasource.url=jdbc:mysql://localhost:3306/news?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
- 创建 News 类,用于存储新闻数据:
publicclassNews{privateInteger id;privateString title;privateString content;privateDate publishTime;// Getters and setters }
- 创建 NewsMapper 接口,用于定义与数据库的交互:
publicinterfaceNewsMapper{List<News>findAll();NewsfindById(Integer id);voidaddNews(News news);voiddeleteNews(Integer id);}
- 创建 NewsMapper.xml,用于编写 SQL 语句:
<mappernamespace="com.example.news.mapper.NewsMapper"><selectid="findAll"resultType="com.example.news.model.News">
SELECT * FROM news
</select><selectid="findById"resultType="com.example.news.model.News">
SELECT * FROM news WHERE id = #{id}
</select><insertid="addNews"parameterType="com.example.news.model.News">
INSERT INTO news (title, content, publish_time) VALUES (#{title}, #{content}, #{publishTime})
</insert><deleteid="deleteNews"parameterType="java.lang.Integer">
DELETE FROM news WHERE id = #{id}
</delete></mapper>
- 创建 NewsService 接口,用于定义业务逻辑:
publicinterfaceNewsService{List<News>findAll();NewsfindById(Integer id);voidaddNews(News news);voiddeleteNews(Integer id);}
- 创建 NewsServiceImpl 类,实现 NewsService 接口:
@ServicepublicclassNewsServiceImplimplementsNewsService{@AutowiredprivateNewsMapper newsMapper;@OverridepublicList<News>findAll(){return newsMapper.findAll();}@OverridepublicNewsfindById(Integer id){return newsMapper.findById(id);}@OverridepublicvoidaddNews(News news){
newsMapper.addNews(news);}@OverridepublicvoiddeleteNews(Integer id){
newsMapper.deleteNews(id);}}
- 创建 NewsController 类,用于处理前端请求:
@RestController@RequestMapping("/api/news")publicclassNewsController{@AutowiredprivateNewsService newsService;@GetMappingpublicList<News>findAll(){return newsService.findAll();}@GetMapping("/{id}")publicNewsfindById(@PathVariableInteger id){return newsService.findById(id);}@PostMappingpublicvoidaddNews(@RequestBodyNews news){
newsService.addNews(news);}@PutMapping("/{id}")publicvoidupdateNews(@PathVariableInteger id,@RequestBodyNews news){// 更新新闻逻辑 }@DeleteMapping("/{id}")publicvoiddeleteNews(@PathVariableInteger id){
newsService.deleteNews(id);}}
在这个 NewsController 类中,我们定义了以下方法:
findAll
:获取所有新闻。findById
:根据 ID 获取新闻。addNews
:创建新闻。updateNews
:更新新闻。deleteNews
:删除新闻。 这些方法用于处理前端发起的请求,并执行相应的操作。在实际项目中,你可能需要根据具体需求对这些方法进行修改和扩展。 创建前端页面,使用 AJAX 与后端进行通信。 这只是一个简单的新闻发布系统的概要和关键代码部分。您可以根据这些信息自行完成完整的项目。如有需要,您可以添加更多功能,如用户认证、权限控制、分页、搜索等。
本文转载自: https://blog.csdn.net/weixin_70919935/article/details/133495125
版权归原作者 :)232 所有, 如有侵权,请联系我们删除。
版权归原作者 :)232 所有, 如有侵权,请联系我们删除。