|
吾爱游客
发表于 2020-9-2 17:54
1、申 请 I D:sacher
2、个人邮箱:sacherer@163.com
3、原创技术文章:
文章1:
后台SpringBoot + MyBatis前台vue,多对多简单三表联查,增删改查(附源码),存在问题sql语句子查询显示出来数据不全分析解决方案,后台解析格式化数据非直接传入数据
地址:https://blog.csdn.net/u010107291/article/details/90246444
因为内容较多,没有全部放
题目需求:(很简单)只是个样子,我们使用vue做前台样式会出现不同,但不影响正常功能。拿到题目,首先设计数据库:
-- 学生表
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`
(
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`date` varchar(255) ,
PRIMARY KEY (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
auto_increment = 1;
-- 中间表
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for s_c
-- ----------------------------
DROP TABLE IF EXISTS `s_c`;
CREATE TABLE `s_c`
(
`id` int(11) NOT NULL auto_increment,
`sid` int(11) NOT NULL,
`cid` int(11) NOT NULL,
PRIMARY KEY (`id`)
index `sid`(`sid`),
index `cid`(`cid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
auto_increment = 1;
-- 课程表
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for classes
-- ----------------------------
DROP TABLE IF EXISTS `classes`;
CREATE TABLE `classes`
(
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
auto_increment = 1;
总共合计三张表,一张学生表,存储学生姓名、日期;一张课程表,存储课程信息;一张中间表,存储学生、课程表直接关系,为多对多。一、分析思路: 1、列表思路 两种思路:①后台使用sql直接处理连接好所选课程,使用group_concat()和group by来处理数据(采用这种思路) ②后台把数据封装起来,只提交数据到前台,由前台处理(最好使用这样的思路来做,但由于我是想练习sql语句,所以我采用第一种思路来处理) 2、新增思路 新增时,只需要新增学生表和中间表即可,由于学生表主键自增,先新增学生表返回主键值,根据对应主键值和课程表的所选id进行新增中间表。 3、修改思路 修改时,首先根据学生表查询学生信息进行回显,在根据学生表主键id查询中间表课程id,然后对课程进行回显处理。然后修改学生表信息,同时删除中间表关于当前学生id的所有课程信息数据,然后根据新选择课程id,学生id进行添加中间表。 4、删除思路 删除根据学生id删除学生表,再根据学生id删除中间表数据。文章2:利用java针对Mysql进行封装成(jdbc)工具类Dbutil完整实现(增删改查注册查重,适合初学者,附源码)
没有全部复制主要内容包括以下几点:也就适合自己学习学习1、private Connection getConnection(String url) 连接数据库,url为数据库名,方便连接。2、private PreparedStatement setPs(String url, String sql) 加载sql语句 url同样内容。3、private void CloseAll() 关流。4、public List<Map<String, Object>> select(String url, String sql, Object[] obj) 查询功能,Object[] obj 充当占位符?。5、public int update(String url, String sql, Object[] obj) 添加、修改、删除功能,obj同上。6、public int register(String url, String sql,String sql1, Object[] obj,Object[] obj1) 注册功能 判断数据库是否存在相同数据
来源: SachersBlog
作者: Sacher
链接: http://www.sachers.top/2019/10/11/2019-10-11-jdbcutils/
本文章著作权归作者所有,任何形式的转载都请注明出处。 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|