[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-public-C7ux2BRH":3,"public-project-articles-C7ux2BRH":17},{"id":4,"uuid":5,"project_id":6,"title":7,"content":8,"type":9,"status":10,"public_enabled":10,"views":11,"sort":12,"created_at":13,"updated_at":14,"project_title":15,"project_slug":16},31,"C7ux2BRH",26,"14. 开发学生选课功能","\n# student_course SQL\n\n```sql\nCREATE TABLE `student_course` (\n  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',\n  `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '课程名称',\n  `no` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '课程编号',\n  `student_id` int(11) DEFAULT NULL COMMENT '学生ID',\n  `course_id` int(11) DEFAULT NULL COMMENT '课程ID',\n  PRIMARY KEY (`id`)\n) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生选课';\n```\n\n# 开发学生选课接口\n\n![image.png](https:\u002F\u002Fcdn.nlark.com\u002Fyuque\u002F0\u002F2023\u002Fpng\u002F751015\u002F1700661584802-356f032e-156a-4a0d-becd-70ddc2fedf13.png#averageHue=%232d2c2b&clientId=u5f1d8ca7-cf3d-4&from=paste&height=203&id=u8505afd7&originHeight=254&originWidth=947&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=27616&status=done&style=none&taskId=u8526a1d6-3d08-4dde-aa52-990f0342f9b&title=&width=757.6)\nService\n![image.png](https:\u002F\u002Fcdn.nlark.com\u002Fyuque\u002F0\u002F2023\u002Fpng\u002F751015\u002F1700661608355-bc4ef2e9-5bc6-471b-9b7b-ddafa2eb6a48.png#averageHue=%232d2c2c&clientId=u5f1d8ca7-cf3d-4&from=paste&height=392&id=uc1d84ffd&originHeight=490&originWidth=1392&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=54183&status=done&style=none&taskId=u82a6416b-6dbd-45b1-855f-5aaf7816231&title=&width=1113.6)\nMapper\n![image.png](https:\u002F\u002Fcdn.nlark.com\u002Fyuque\u002F0\u002F2023\u002Fpng\u002F751015\u002F1700661619832-e5c54806-39b3-4c0b-8e08-c84216fecdfc.png#averageHue=%2331302d&clientId=u5f1d8ca7-cf3d-4&from=paste&height=268&id=u779f507b&originHeight=335&originWidth=1340&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=41168&status=done&style=none&taskId=u5f6b33ac-b21a-4ad6-9dfd-7b1ad7f8d9b&title=&width=1072)\n\n# Mybatis 动态查询\n\n```xml\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n\u003C!DOCTYPE mapper\n  PUBLIC \"-\u002F\u002Fmybatis.org\u002F\u002FDTD Mapper 3.0\u002F\u002FEN\"\n  \"http:\u002F\u002Fmybatis.org\u002Fdtd\u002Fmybatis-3-mapper.dtd\">\n\u003Cmapper namespace=\"org.mybatis.example.BlogMapper\">\n  \u003Cselect id=\"selectBlog\" resultType=\"Blog\">\n    select * from Blog where id = #{id}\n  \u003C\u002Fselect>\n\u003C\u002Fmapper>\n```\n\n查询学生选课记录的动态 sql\n\n```xml\n\u003Cselect id=\"selectAll\" resultType=\"com.example.entity.StudentCourse\">\n    select * from student_course\n    \u003Cwhere>\n        \u003Cif test=\"name != null\">and name like concat('%', #{name}, '%')\u003C\u002Fif>\n        \u003Cif test=\"no != null\">and no like concat('%', #{no}, '%')\u003C\u002Fif>\n        \u003Cif test=\"studentId != null\">and student_id = #{studentId}\u003C\u002Fif>\n    \u003C\u002Fwhere>\n    order by id desc\n\u003C\u002Fselect>\n```\n\n# 经典错误\n\n![image.png](https:\u002F\u002Fcdn.nlark.com\u002Fyuque\u002F0\u002F2023\u002Fpng\u002F751015\u002F1700663285355-f73620a3-7982-4edb-9147-1558418b36c2.png#averageHue=%23302f2e&clientId=u5f1d8ca7-cf3d-4&from=paste&height=318&id=u4e2d4c5b&originHeight=397&originWidth=1656&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=135317&status=done&style=none&taskId=u885d3f10-4789-409f-bfbe-08740913b68&title=&width=1324.8)\n**Invalid bound statement (not found): com.example.mapper.StudentCourseMapper.selectAll\n**![image.png](https:\u002F\u002Fcdn.nlark.com\u002Fyuque\u002F0\u002F2023\u002Fpng\u002F751015\u002F1700663417113-bcb6d78a-9163-44be-972e-bd8832c0b001.png#averageHue=%236a5d45&clientId=u5f1d8ca7-cf3d-4&from=paste&height=253&id=u249602bd&originHeight=316&originWidth=1356&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=56158&status=done&style=none&taskId=u293b9498-e8c0-4272-beaf-de6d52f4311&title=&width=1084.8)\n\n# Vue 删除二次确认\n\n```vue\nconst del = (id) => {\n  ElMessageBox.confirm('删除数据后无法恢复，您确认删除吗？', '删除确认', { type: 'warning' }).then(res => {\n    request.delete('\u002FstudentCourse\u002Fdelete\u002F' + id).then(res => {\n      if (res.code === '200') {\n        load()    \u002F\u002F 重新获取数据\n        ElMessage.success(\"操作成功\")\n      } else {\n        ElMessage.error(res.msg)\n      }\n    })\n  }).catch(res => {})\n}\n```\n\n# Vue 根据角色动态拼接参数\n\n![image.png](https:\u002F\u002Fcdn.nlark.com\u002Fyuque\u002F0\u002F2023\u002Fpng\u002F751015\u002F1700664207460-a33debc8-af1a-4c92-adb2-39843c976502.png#averageHue=%232f2b2b&clientId=u0acbd781-9bba-4&from=paste&height=376&id=u30a198fa&originHeight=470&originWidth=1020&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=48023&status=done&style=none&taskId=uc6a4b38e-5344-4e7b-8578-a7e39522ee9&title=&width=816)\n","coding",1,1221,32,"2024-04-16 02:35:58","2026-05-03 22:49:02","SpringBoot+Vue3的学生成绩管理系统","student-performance",{"project":18,"items":19},{"id":6,"title":15,"slug":16},[20,27,33,39,45,51,57,63,68,74,80,86,92,97,98,104],{"id":21,"uuid":22,"project_id":6,"title":23,"type":9,"status":10,"public_enabled":10,"views":24,"sort":25,"created_at":26,"updated_at":14,"project_title":15,"project_slug":16},18,"7r0zrxqF","01. 学生成绩管理系统介绍",3753,19,"2025-01-09 10:22:30",{"id":25,"uuid":28,"project_id":6,"title":29,"type":9,"status":10,"public_enabled":10,"views":30,"sort":31,"created_at":32,"updated_at":14,"project_title":15,"project_slug":16},"h5U5WN1A","02. 脚手架介绍",3957,20,"2025-01-09 10:22:49",{"id":31,"uuid":34,"project_id":6,"title":35,"type":9,"status":10,"public_enabled":10,"views":36,"sort":37,"created_at":38,"updated_at":14,"project_title":15,"project_slug":16},"aKzqZqzY","03. 实现登录功能",3607,21,"2024-04-16 02:36:48",{"id":37,"uuid":40,"project_id":6,"title":41,"type":9,"status":10,"public_enabled":10,"views":42,"sort":43,"created_at":44,"updated_at":14,"project_title":15,"project_slug":16},"xve1cq5m","04. 开发课程管理页面",1907,22,"2024-04-16 02:36:40",{"id":43,"uuid":46,"project_id":6,"title":47,"type":9,"status":10,"public_enabled":10,"views":48,"sort":49,"created_at":50,"updated_at":14,"project_title":15,"project_slug":16},"KUfmmtjB","05. 开发课程分页查询接口",1303,23,"2024-04-16 02:36:36",{"id":49,"uuid":52,"project_id":6,"title":53,"type":9,"status":10,"public_enabled":10,"views":54,"sort":55,"created_at":56,"updated_at":14,"project_title":15,"project_slug":16},"5aLIaQCP","06. 开发课程前后台数据对接",1040,24,"2024-04-16 02:36:32",{"id":55,"uuid":58,"project_id":6,"title":59,"type":9,"status":10,"public_enabled":10,"views":60,"sort":61,"created_at":62,"updated_at":14,"project_title":15,"project_slug":16},"dTwkIyqR","07. 开发课程新增和编辑功能",990,25,"2024-04-16 02:36:27",{"id":61,"uuid":64,"project_id":6,"title":65,"type":9,"status":10,"public_enabled":10,"views":66,"sort":6,"created_at":67,"updated_at":14,"project_title":15,"project_slug":16},"NlyNo5n8","08. 开发课程管理删除功能",666,"2024-04-16 02:36:23",{"id":6,"uuid":69,"project_id":6,"title":70,"type":9,"status":10,"public_enabled":10,"views":71,"sort":72,"created_at":73,"updated_at":14,"project_title":15,"project_slug":16},"dDLZGpA4","09. 开发学生登录功能",1019,27,"2024-04-16 02:36:20",{"id":72,"uuid":75,"project_id":6,"title":76,"type":9,"status":10,"public_enabled":10,"views":77,"sort":78,"created_at":79,"updated_at":14,"project_title":15,"project_slug":16},"5qCBv54l","10. 开发学生注册功能",811,28,"2024-04-16 02:36:15",{"id":78,"uuid":81,"project_id":6,"title":82,"type":9,"status":10,"public_enabled":10,"views":83,"sort":84,"created_at":85,"updated_at":14,"project_title":15,"project_slug":16},"smeYDA8N","11. 开发学生管理功能",1060,29,"2024-04-16 02:36:10",{"id":84,"uuid":87,"project_id":6,"title":88,"type":9,"status":10,"public_enabled":10,"views":89,"sort":90,"created_at":91,"updated_at":14,"project_title":15,"project_slug":16},"eji2Bt8v","12. 开发文件上传下载功能",914,30,"2024-04-16 02:36:07",{"id":90,"uuid":93,"project_id":6,"title":94,"type":9,"status":10,"public_enabled":10,"views":95,"sort":4,"created_at":96,"updated_at":14,"project_title":15,"project_slug":16},"BkumMnOk","13. 开发个人资料功能",980,"2024-04-16 02:36:03",{"id":4,"uuid":5,"project_id":6,"title":7,"type":9,"status":10,"public_enabled":10,"views":11,"sort":12,"created_at":13,"updated_at":14,"project_title":15,"project_slug":16},{"id":12,"uuid":99,"project_id":6,"title":100,"type":9,"status":10,"public_enabled":10,"views":101,"sort":102,"created_at":103,"updated_at":14,"project_title":15,"project_slug":16},"fLHT6xiE","15. 开发成绩管理功能",1253,33,"2024-04-16 02:35:54",{"id":105,"uuid":106,"project_id":6,"title":107,"type":9,"status":10,"public_enabled":10,"views":108,"sort":109,"created_at":110,"updated_at":111,"project_title":15,"project_slug":16},56,"k3gvEqlV","基于SpringBoot+Vue3的学生成绩管理系统资料汇总",355,100,"2024-12-26 16:23:07","2026-05-07 15:36:12.649662+00"]