关于JavaEE springboot MVC项目的实战(手把手教学)

解决中文在mysql数据库中不显示的问题,实现Dao层、Entity层、Service层、Controller控制器的交互

题目:

在数据库中新建一个图书类别表(id,类别名称),实现添加图书新类别功能。业务逻辑如下:如果在图书类别表中存在准备要添加的新类别,则该类别不能添加;否则可以添加该新类别。MVC作业,前、后端要实现来源:老师布置的作业

实现截图如下:(前端页面主要用于展示功能交互 没有进行美化)

步骤一:修改pom.xml的配置文件与数据库的创建

先通过mysql黑窗体找到mysql的版本,此处我的版本是mysql5所以下面讲解围绕mysql5,mysql8的用户我会附注

Mysql8如下:

MySQL5配置如下:

配置完后这里使用的是mysql可视化软件Navicat

建立以下的数据库表

如果数据库内容有中文 需要设计时把数据改为utf-8类型

步骤二:建立实体层

以下内容通过右键生成所得

步骤三:写数据访问层DAO

来自CSDN博主解释:

先写一个数据访问层接口 写两个方法:分别为传入id的特性查找数据方法,添加书籍方法

通过类实现接口(查找方法和添加方法):

1.通过以下代码访问自己所创建的数据库

Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai";
String name = "root";
String password ="liuyifan123";
Connection con = DriverManager.getConnection(url,name,password);

2.通过以下mysql类型的代码查询数据(通过id查询):

String sql = "SELECT * FROM books WHERE id=?";

使用PrepareStatement接口,实现数据表的更新操作 要对数据库操作要通过此接口

pst.setString(1,id); 传入一个id查找 从第一个数据开始

4.ResultSet rs = pst.executeQuery();

通过executeQuery对数据进行查询 然后如果有数据则把数据添加到Books类型的新数据中保存反馈

5.获取第1,2列的值将其存入新数据中

 

6.记得要关闭接口

添加方法如上述类似

只需要把mysql类型数据库代码修改并且修改获取列的数据即可 此处books.id是通过穿过来的books数组所得

 

附:

 

可通过小小的测试测试一下 右上角记得选运行的类哦

步骤四:业务逻辑层的编写(实现添加书register此处为添加方法 查询方法为getBooks)

先写业务层接口

通过类实现接口

先声明数据访问层的访问对象

先通过数据访问层查询方法查询数据是否存在不存在则通过add方法添加(传入的books为所想要添加的对象)并返回true

获取数据的方法:

调用数据访问层的findByBooksId获得数据

步骤五:控制器代码的编写

通过RequestMapping(它可以自动检测post或者get对象进行实现)

声明业务逻辑层的声明对象

2.通过页面传入的值进行新建书籍 如果书籍存在则返回注册失败(添加失败)反之返回所添加数据的内容(反馈给前端页面展示用 后端已经通过业务层实现)

3.查询的数据的方法只需要通过传来的id值实现

步骤6:前端页面的编写(此处我想实现特定的值传入进行添加和查询 如果数据不匹配进行友好的页面反馈)

页面通过Vue编写

通过get方法进行数据查询 并且通过以下get的链接进行实时查询(参数可变 通过js实现),通过前端传入的数据后端进行添加,通过后端反馈的数据进行检测数据是否存在,如果存在进行友好的提示。

 

通过add方法进行数据的添加

与上述相同可通过js实现参数可变反馈页面,通过前端传入的数据后端进行添加,通过后端反馈的数据进行检测数据是否存在,如果存在进行友好的提示。

一枚在校大学生,将自己学习心得与大家分享,欢迎大家支持,原创不易,大家一起努力,感谢大家支持! 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值