新闻详情

新闻详情

首页 / 资讯中心 / 详情

SSM+MySQL电影网站毕设全攻略:从整合配置到避坑实战

发布时间:2026/9/26 12:06:31来源:尧图网络
SSM+MySQL电影网站毕设全攻略:从整合配置到避坑实战
简介这是一份基于SSMMySQL的电影网站设计与实现完整源码及数据库作为个人毕业设计项目答辩评审分达98分代码均经过调试测试可直接运行。项目采用Spring、SpringMVC、MyBatis经典三层架构涵盖电影展示、检索、评价与后台管理等典型业务模块面向计算机、通信、人工智能、自动化等专业学生及从业者可作为课程设计、课程大作业或毕业设计的参考也适合初学者对照学习Java Web整合开发。压缩包共78个文件大小约7.02MB以Java源文件、JSP页面、XML配置和CSS/JS前端资源为主并附数据库SQL脚本、properties配置以及23张界面效果截图目录组织清晰便于按模块查阅。目前已有114人学习下载。下载后可获得完整的可运行工程与数据库初始化脚本既能直接部署体验电影网站业务流程也能基于现有代码进行二次修改与功能扩展对理解SSM框架整合、MyBatis映射及分层开发具有较高的学习借鉴价值。1. 为什么SSMMySQL电影网站成了毕业设计的“标配”每年毕业季Java Web方向的毕设题目里基于SSMMySQL的电影网站能占掉相当大一块。原因并不复杂它不像商城那样要处理订单状态机、支付回调这类复杂业务又比单纯的学生管理系统多出“搜索、分页、关联查询、文件上传”这些面试官爱问的考点。用一套SSMSpring SpringMVC MyBatis把电影信息管理、前台展示、用户登录、评论收藏串起来刚好覆盖一个应届生该展示的CRUD基本功。这篇文章不聊“从零手写框架”的造轮子路线而是按毕业设计最常见、最省力的方式走用Maven聚合工程搭骨架MySQL 8做存储MyBatis写数据访问前端用JSPBootstrap。按这个方案做完你会得到一份能跑、能答辩、能往简历上写的完整源码和数据库脚本。适合正在选题、或者已经开题但对“SSM怎么整合”还模糊的同学也适合想快速复刻一个课设项目的在职读者。2. SSM整合与MySQL表结构先把地基打牢2.1 环境选型版本搭配决定你后面少踩多少坑SSM是三个框架的拼装版本兼容性是第一个拦路虎。我推荐的组合是JDK 1.8 Maven 3.6Spring 5.1.xSpringMVC 5.1.x和Spring同版本MyBatis 3.5.xmybatis-spring 2.0.xMySQL 8.0Tomcat 8.5或9.0。这套组合在网上有大量可查的问题记录遇到报错基本能搜到现成答案。MySQL这边8.0和5.7在连接驱动上有一个关键差异——8.0的驱动类名是com.mysql.cj.jdbc.Driver而且必须处理时区参数。如果用5.7的思维写com.mysql.jdbc.Driver启动直接抛ClassNotFoundException。强烈建议统一用8.0因为新版MySQL Workbench和Navicat对8.0的支持更友好导数据库文件也更顺畅。Tomcat不建议选10.x因为它把javax.servlet换成了jakarta.servletSpring 5和JSP标准标签库JSTL在它下面会大面积报错。很多同学在这上面浪费了两三天最后换回Tomcat 9立刻正常。记住这条线SSM javax Tomcat 9别用Tomcat 10去试探Spring 5的兼容边界。2.2 数据库设计七张表撑起一个电影网站电影网站的数据库设计核心是“电影”和“用户”两个实体外围再挂评论、收藏、订单、分类这些辅助表。下面给出最稳定的最小表结构毕设答辩时也能讲得清楚。-- 电影分类表 CREATE TABLE category ( cid INT PRIMARY KEY AUTO_INCREMENT, cname VARCHAR(50) NOT NULL UNIQUE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; -- 电影信息表 CREATE TABLE movie ( mid INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(120) NOT NULL, director VARCHAR(80), actors VARCHAR(255), category_id INT, price DECIMAL(6,2) DEFAULT 0.00, poster VARCHAR(255), summary TEXT, publish_year VARCHAR(10), duration INT COMMENT 片长分钟, stock INT DEFAULT 100, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, CONSTRAINT fk_movie_category FOREIGN KEY (category_id) REFERENCES category(cid) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; -- 用户表 CREATE TABLE user ( uid INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(64) NOT NULL, nickname VARCHAR(50), phone VARCHAR(20), role TINYINT DEFAULT 0 COMMENT 0-普通用户 1-管理员, register_time DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;订单表、收藏表、评论表三个关联表核心是外键字段要加索引不然数据量上去后连表查询会很慢。注意一点password字段长度至少64位因为后面对密码做MD5加盐后长度不止32位。MySQL 8默认字符集是utf8mb4如果你用5.7但数据库脚本里写了utf8mb4也能正常运行只是要确认MySQl 5.7.2以上。建表时有一个很关键的约定所有表都用InnoDB引擎并显式写ENGINEInnoDB。MySQL 8里InnoDB已经是默认引擎但显式声明可以避免导入老脚本时被MyISAM带偏。外键约束在建表语句里直接声明比在应用层查两遍表再校验数据更靠谱。2.3 整合配置四个配置文件按顺序来SSM整合最常见的做法是pom.xml管依赖web.xml管启动spring-mvc.xml管控制器spring-mybatis.xml管事务和数据源。我按这个顺序贴出来注释直接写清每一段的作用。!-- pom.xml 关键依赖片段 -- dependencies dependency groupIdorg.springframework/groupId artifactIdspring-webmvc/artifactId version5.1.20.RELEASE/version /dependency dependency groupIdorg.mybatis/groupId artifactIdmybatis/artifactId version3.5.16/version /dependency dependency groupIdorg.mybatis/groupId artifactIdmybatis-spring/artifactId version2.0.7/version /dependency !-- MySQL 8 驱动 -- dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.33/version /dependency !-- 数据库连接池 -- dependency groupIdcom.alibaba/groupId artifactIddruid/artifactId version1.2.20/version /dependency /dependencies依赖版本里最容易翻车的是mybatis-spring和Spring版本的匹配问题。mybatis-spring 2.0.x对应Spring 5.x如果你用了mybatis-spring 1.3.x配Spring 5会报NoSuchBeanDefinitionException因为1.x版本没有适配Spring 5的bean定义解析方式。另一个坑是Druid的版本和MySQL驱动的兼容性用1.2.x配8.0驱动是稳的别为了尝鲜上2.x的Druid网上资料少出问题难调试。!-- spring-mybatis.xml 数据源与事务 -- bean iddataSource classcom.alibaba.druid.pool.DruidDataSource property namedriverClassName valuecom.mysql.cj.jdbc.Driver/ property nameurl valuejdbc:mysql://localhost:3306/movie_db?useUnicodetrueamp;characterEncodingutf8amp;useSSLfalseamp;serverTimezoneAsia/Shanghaiamp;allowPublicKeyRetrievaltrue/ property nameusername valueroot/ property namepassword value123456/ property nameinitialSize value2/ property namemaxActive value10/ /beanURL参数里的serverTimezoneAsia/Shanghai必须加MySQL 8不指定时区会直接报Could not create connection to database server。allowPublicKeyRetrievaltrue解决的是MySQL 8默认认证插件caching_sha2_password下连接池首次连接时的公钥获取问题不加它在某些JDBC驱动版本下会一直卡着或报Public Key Retrieval is not allowed。MyBatis的全局配置放在mybatis-config.xml里一般就开启驼峰映射和设置日志实现两个点configuration settings setting namemapUnderscoreToCamelCase valuetrue/ setting namelogImpl valueSTDOUT_LOGGING/ /settings /configuration驼峰映射开启后数据库字段create_time能直接映射到Java属性createTime不用手动写几百个resultMap。logImpl设为STDOUT_LOGGING方便在控制台看SQL日志答辩演示时很有用。生产环境会换成SLF4J但毕设阶段这个配置最省事。如果中间还发现是字段别名大小写问题导致映射失败看一下数据库字段是否真用下划线命名很多人卡在这类“看不见”的问题上。最后web.xml只做三件事加载Spring容器、配DispatcherServlet、配字符编码过滤器。最常见的错误是漏了字符编码过滤器导致POST请求的中文乱码这个下面避坑章节单独展开。3. 用MyBatis把电影CRUD做厚分页、搜索、关联查询3.1 Mapper接口与XML映射最稳妥的写法SSM项目里数据访问层通常分成三件套Mapper接口、Mapper XML、Service实现。这里只讲最核心的查询写法。public interface MovieMapper { ListMovie selectByPage(Param(offset) int offset, Param(limit) int limit); Movie selectById(Param(mid) int mid); ListMovie searchByKeyword(Param(keyword) String keyword, Param(categoryId) Integer categoryId); int insertMovie(Movie movie); int updateMovie(Movie movie); int deleteMovie(Param(mid) int mid); }!-- MovieMapper.xml -- select idsearchByKeyword resultTypecom.demo.entity.Movie SELECT * FROM movie where if testkeyword ! null and keyword ! (title LIKE CONCAT(%, #{keyword}, %) OR director LIKE CONCAT(%, #{keyword}, %) OR actors LIKE CONCAT(%, #{keyword}, %)) /if if testcategoryId ! null AND category_id #{categoryId} /if /where ORDER BY create_time DESC /selectwhere标签的好处是自动处理多余的AND只有categoryId条件时SQL会成为WHERE category_id ?不会残留前导AND。#{keyword}是预编译占位符MyBatis底层用PreparedStatement能防SQL注入。这一点答辩时大概率会被问到记住“#{}走预编译${}走字符串拼接”这个区别就行。LIKE CONCAT(%, #{keyword}, %)不能写成LIKE %#{keyword}%因为#{}里的值不会被拼进字符串字面量那样SQL会执行报错。这个错误出现的频率极高本质是没理解MyBatis的#{}是在JDBC的setString阶段做参数绑定不是模板替换。3.2 分页PageHelper插件是最省力的方案分页最原始的写法是手写LIMIT offset, size并先查COUNT但每个方法都要重复两遍SQL。SSM项目里主流方案是PageHelper只需一行静态方法调用。!-- pom.xml 新增依赖 -- dependency groupIdcom.github.pagehelper/groupId artifactIdpagehelper/artifactId version5.3.2/version /dependency!-- spring-mybatis.xml 中给 SqlSessionFactory 加插件 -- bean idsqlSessionFactory classorg.mybatis.spring.SqlSessionFactoryBean property namedataSource refdataSource/ property namemapperLocations valueclasspath:mapper/*.xml/ property nameplugins array bean classcom.github.pagehelper.PageInterceptor property nameproperties value helperDialectmysql reasonabletrue /value /property /bean /array /property /beanService层调用时在查询前一行加PageHelper.startPage(pageNum, pageSize)紧接着后面的第一条查询会被自动拦截并拼接LIMITpublic PageInfoMovie getMovies(int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); ListMovie movies movieMapper.selectByPage(); return new PageInfo(movies); }PageInfo对象里已经封装了总条数、总页数、当前页、是否有下一页这些字段直接塞进ModelAndView。注意reasonabletrue这个参数的意思是越界页码自动矫正回边界页比如当前只有5页你访问第999页它会默默变成最后一页不会返回空列表。第2页、第8页这种跳转逻辑就交给它不要自己写矫正代码。3.3 电影院线查询关联游标和字段映射的取舍电影和分类、电影和评论都是典型的一对多、多对一关系。最省事的做法是使用“关联查询resultMap”但如果只是要显示分类名称我会选择SELECT作为子查询或JOIN后手写一个VO类。select idselectMovieWithCategory resultTypecom.demo.vo.MovieVO SELECT m.*, c.cname AS categoryName FROM movie m LEFT JOIN category c ON m.category_id c.cid ORDER BY m.create_time DESC /selectMovieVO里增加一个categoryName字段类型为String别的都不用动。这种查询方式比嵌套resultMap更直观调试SQL也容易。如果嵌套评论列表再单独用select嵌套查询按mid查评论配合懒加载能减少SQL量。但毕设项目不建议开懒加载因为配置复杂、调试麻烦不如一次把所需数据查齐全。4. 用户登录、后台管理与文件上传让项目“长全”4.1 Session拦截器权限控制怎么落拦截器是SSM里最常考的细节之一。前半部分是登录校验后半部分是管理员权限校验。public class LoginInterceptor implements HandlerInterceptor { Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session request.getSession(); Object user session.getAttribute(loginUser); // 如果用户没登录重定向到登录页——前台页面可见但需登录才可操作 if (user null) { response.sendRedirect(request.getContextPath() /login); return false; } return true; } }!-- spring-mvc.xml 里加拦截器 -- mvc:interceptors mvc:interceptor mvc:mapping path/user/**/ mvc:mapping path/comment/add/ mvc:exclude-mapping path/user/login/ mvc:exclude-mapping path/user/register/ bean classcom.demo.interceptor.LoginInterceptor/ /mvc:interceptor /mvc:interceptors注意/user/login要排除否则用户还没登录就被拦到登录页形成死循环。另一个容易犯的错是“静态资源也被拦截”CSS、JS文件路径如果匹配了/user/**也会被拦。实际上配置里img和css通常放在/static/**并单独加mvc:resources映射放行mvc:resources mapping/static/** location/static//登录逻辑里密码建议做MD5加盐不要明文存库。Session里只存用户ID和昵称不要把整个用户对象包括密码哈希都塞进去。Session有效期默认30分钟够毕设演示了不必额外调。4.2 电影海报上传MultipartFile与文件存储约定后台管理里管理员要上传海报图SpringMVC里用MultipartFile处理。JSP的表单需要显式声明enctypemultipart/form-data否则文件字段收不到。PostMapping(/admin/movie/add) public String addMovie(ModelAttribute Movie movie, RequestParam(posterFile) MultipartFile posterFile, HttpServletRequest request) throws IOException { if (!posterFile.isEmpty()) { String realDir request.getServletContext().getRealPath(/upload); File dir new File(realDir); if (!dir.exists()) dir.mkdirs(); String filename UUID.randomUUID().toString() posterFile.getOriginalFilename() .substring(posterFile.getOriginalFilename().lastIndexOf(.)); posterFile.transferTo(new File(dir, filename)); movie.setPoster(/upload/ filename); } movieMapper.insertMovie(movie); return redirect:/admin/movie/list; }文件保存路径用getRealPath(/upload)这会把图片存在Tomcat发布目录下毕设演示没问题。但要注意IDE里热部署或重启Tomcat时这个目录可能被清掉所以图片要提前准备好或者用相对路径直接放到项目根目录外的文件目录然后用虚拟目录映射。我一般会建议直接用绝对路径或配置中心避免重启丢文件的尴尬。上传时需要限制文件大小。SpringMVC默认单文件1MB要在spring-mvc.xml里配CommonsMultipartResolver的maxUploadSizebean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolver property namedefaultEncoding valueUTF-8/ property namemaxUploadSize value5242880/ /bean5MB对海报图够用太大应该压缩而不是调大限制。上传成功后返回redirect:/admin/movie/list用重定向避免表单重复提交——这在答辩演示时是个很加分的细节值得专门提出来说。4.3 评论与收藏事务边界怎么划评论表和收藏表是两个高频使用的功能也最容易在事务上写错。评论的写入涉及两步插入comment表并更新movie表评论数。这两个操作必须在一个事务里。Service public class CommentServiceImpl implements CommentService { Transactional(rollbackFor Exception.class) public int addComment(Comment comment) { int rows commentMapper.insertComment(comment); movieMapper.increaseCommentCount(comment.getMovieId()); return rows; } }Transactional默认只回滚RuntimeException所以这里显式声明rollbackFor Exception.class保证SQLException这类受检异常也会触发回滚。increaseCommentCount在Mapper里对应UPDATE movie SET comment_count comment_count 1 WHERE mid #{mid}是原子操作不要先SELECT再UPDATE。收藏功能同理唯一不同是收藏表用唯一索引约束(uid, mid)防止重复收藏SQL层兜底比在Service里先查一遍再插入更可靠。5. 避坑指南SSMMySQL毕设最常见的5个坑5.1 现象数据库连接报Public Key Retrieval is not allowed刚配好Druid启动项目日志里直接抛Public Key Retrieval is not allowed。原因很直接MySQL 8默认认证插件是caching_sha2_password它在非SSL连接下需要向服务器请求公钥做加密传输而JDBC默认不允许这个行为。解决在JDBC URL里加allowPublicKeyRetrievaltrueuseSSLfalse。如果不想依赖这个参数可以在MySQL里把用户认证插件改成mysql_native_passwordALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 你原来的密码; FLUSH PRIVILEGES;但更推荐前者改认证插件会影响数据库的默认安全策略将来部署到服务器可能有新问题。这个坑有50%以上的概率碰到早加参数早安心。5.2 现象启动报错ClassNotFoundException: com.mysql.jdbc.Driver这是典型的MySQL驱动依赖写错。MySQL 6.0之后驱动类名变成了com.mysql.cj.jdbc.Driver老名字com.mysql.jdbc.Driver只在旧版本驱动中存在。如果你pom.xml里引的是mysql-connector-java 5.1.xURL写法也要相应变成useUnicodetruecharacterEncodingutf8并且不需要serverTimezone。解决统一用com.mysql.cj.jdbc.Driver和8.0以上的驱动版本。Druid的driverClassName要从com.mysql.jdbc.Driver改成com.mysql.cj.jdbc.Driver。注意两处都要改有人改了pom没改spring-mybatis.xml里的driverClassName报的错一样。5.3 现象页面中文乱码POST请求的评论内容显示为问号SQL和配置都是utf8mb4但提交中文到页面就乱码。原因多半是web.xml里没配置Spring的字符编码过滤器或者配置了但顺序不对。CharacterEncodingFilter必须放在Filter链的第一个且forceEncoding设成true。filter filter-nameencodingFilter/filter-name filter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-class init-param param-nameencoding/param-name param-valueUTF-8/param-value /init-param init-param param-nameforceEncoding/param-name param-valuetrue/param-value /init-param /filter filter-mapping filter-nameencodingFilter/filter-name url-pattern/*/url-pattern /filter-mappingforceEncodingtrue会同时设置request和response的编码比默认只处理request更彻底。MySQL的连接URL中characterEncodingutf8这个参数也建议保留三处都统一才会完全不乱码——JSP页面编码、Servlet过滤器编码、JDBC URL编码。5.4 现象PageHelper分页不生效或者第一页之后全是重复数据PageHelper分页失效的常见原因是调用了PageHelper.startPage()之后紧跟的不是你要分页的查询而是中间插了一个别的Mapper方法。startPage采用ThreadLocal机制只在“下一条SQL”生效其它查询如果插进来分页就会错位。解决把PageHelper.startPage(pageNum, pageSize)紧贴目标查询语句中间不要有任何代码。如果Controller里需要先查分类列表再查电影列表把分页查询放最后或者把startPage移到Service方法内部紧贴SQL。另外一个坑PageHelper 5.3.2虽然兼容MyBatis 3.5.x但如果你项目里同时存在jsqlparser的其它版本会报ClassNotFound或NoSuchMethodError。这是PageHelper内部依赖冲突排查时看pom依赖树里是否有多个jsqlparser版本统一降到PageHelper依赖的版本即可。5.5 现象命令行或图形工具报ERROR 2002 (HY000) cant connect to local mysql server through socket这个报错通常在操作MySQL时出现比如用mysql -u root -p直接登录时。原因是客户端默认走Unix socket路径一般是/tmp/mysql.sock但服务器监听的socket路径或服务状态不对。常见于MySQL服务没启动或者启动时指定的socket路径不是默认路径。解决先确认MySQL服务是否在运行systemctl status mysql查看如果服务正常运行改用TCP连接mysql -h 127.0.0.1 -P 3306 -u root -p。注意用127.0.0.1会走TCP协议既能绕开socket问题也能顺便验证3306端口有没有监听。如果-h 127.0.0.1能连但localhost不能就是socket路径问题检查/etc/mysql/my.cnf里socket配置。这个问题在Windows上也有对应版本Navicat连接本地数据库时提示“Cant connect to MySQL server on localhost (10061)”一般是服务没启动或端口被占用。检查服务管理器里MySQL服务状态同时确认3306端口有没有被其它程序占用netstat -ano | findstr 3306看一眼。5.6 不要忘记给表的关联字段加索引前三张主表都正常数据量到几万条后电影列表页每次查询都要全表扫描页面卡成PPT。原因很简单所有外键字段包括category_id、uid、movie_id都没建索引。MySQL里外键约束不会自动创建索引InnoDB里外键列如果没有索引会隐式加但搜索条件如果没走外键还是会慢。解决建表SQL里显式给category_id、movie_id、uid加索引比如KEY idx_movie_category (category_id)。如果是已经建好的表用一条ALTER补上ALTER TABLE movie ADD INDEX idx_movie_category (category_id); ALTER TABLE comment ADD INDEX idx_comment_movie (movie_id); ALTER TABLE favorite ADD INDEX idx_fav_user (uid, mid);用EXPLAIN SELECT ...验证一下是否走了索引possible_keys和key列都有值说明生效了。这个优化点如果在答辩时主动说“我做了索引优化并用EXPLAIN验证”效果比憋三个月CRUD都强。6. 答辩前验证与进阶让项目不止于“能用”项目跑起来只是第一步答辩时能讲清楚“为什么这么设计”才是得分点。我建议按下面几条验证路径过一遍。首先用Postman或浏览器逐个接口测试注册、登录、退出的Session状态是否生效电影列表第2页能不能正常渲染搜索关键词带空格或以%开头时有没有异常。这些操作控制在10分钟内能完成是答辩前的最后一道保险。数据层面的验证更重要。打开MySQL的通用查询日志SET GLOBAL general_log ON然后在业务页面点几次操作对照日志看SQL有没有N1查询、有没有在循环里调mapper。我在做这个项目时就用这个办法发现评论列表在循环里查电影表一次页面加载打出30多条SQL后来改成JOIN一次查出全部响应时间从1.5秒降到300毫秒。这个优化值得专门记下来回答“性能优化做了什么”时非常有力。进阶方向有两个都值得花两天时间。第一个是把Druid数据库连接池换成HikariCP在配置文件里改几行就能明显减少连接获取时间也能回应面试官“你用过哪些连接池”的问题。第二个是给热门电影列表加Redis缓存用Spring Data Redis包一层缓存命中时直接返回JSON不查MySQL。这个功能点能让项目从“毕设水平”直接跳到“有生产意识”的评价但注意缓存失效策略要设置好否则会出现电影更新后列表不同步的尴尬。最后提醒一点数据库脚本文件记得放在源码根目录的sql文件夹里README里写清楚MySQL版本、导入步骤和初始账号密码。我当年答辩时评委老师直接打开我的sql目录问“这条create table用没用utf8mb4”因为整个教学楼那个专业的毕设就我一个人写了字符集。这种细节没法临时编全靠平时养成习惯。希望这篇文章能把SSMMySQL电影网站这条路的图纸给你画清楚。框架整合、表结构、Mapper、拦截器、上传、避坑每块都是能直接在你自己项目里复用的零件。碰到了具体报错再回头看对应章节尤其是第5章的五个坑基本覆盖了从建库到分页最常见的翻车位置。动手做遇到问题就定位到章节排查项目跑通的那一刻你会发现“毕业设计”这三个字其实没那么重。希望帮到你。本文还有配套的精品资源点击获取
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

本地 A股量化数据库怎么设计?(方便做因子计算的表结构) 2026/9/26 12:50:40

本地 A股量化数据库怎么设计?(方便做因子计算的表结构)

一句话回答: 做因子计算的本地库,核心原则是存不复权原始价 单独存除权因子记录(复权在查询/计算时按需生成,别把某种复权价写死进库),并用长表(long format)、(symbol, trade_date…

阅读更多 →
在WM_SETCURSOR消息处理函数中设置鼠标的光标:TaoToken统一Key接入Cline的settings.json配置与验证 2026/9/26 12:50:40

在WM_SETCURSOR消息处理函数中设置鼠标的光标:TaoToken统一Key接入Cline的settings.json配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
高效编程助手:VSCode 插件配 TaoToken 的 settings.json 骨架与 ESLint/LaTeX/Markdown 验证 2026/9/26 12:50:40

高效编程助手:VSCode 插件配 TaoToken 的 settings.json 骨架与 ESLint/LaTeX/Markdown 验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
用 Chrome 与 VSCode 爬取网站内容并转为 Markdown 和 HTML 的 TaoToken 配置实战 2026/9/26 12:50:40

用 Chrome 与 VSCode 爬取网站内容并转为 Markdown 和 HTML 的 TaoToken 配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
毕业生必备:9款免费AI论文写作软件,一键生成开题报告与论文大纲|TaoToken统一Key接入指南 2026/9/26 12:50:32

毕业生必备:9款免费AI论文写作软件,一键生成开题报告与论文大纲|TaoToken统一Key接入指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
模型评测:Benchmark与自动化回归测试实战 2026/9/26 12:50:31

模型评测:Benchmark与自动化回归测试实战

模型评测:Benchmark与自动化回归测试实战 专栏:AI/LLM工程化实战 - 从Prompt到Agent的完整落地指南 模块6 模型微调与部署篇 第63篇 摘要 摘要:模型评测决定微调成败,MMLU/GSM8K/C-Eval三大Benchmark各测一种能力,离线评测看固定题集得分,在线评测看真实流量,lm-evaluation-har…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉