当前位置: 首页 > news >正文

网站建设找祥赢带seo服务的网站定制

网站建设找祥赢,带seo服务的网站定制,烟台seo外包,wordpress改字体插件目 录 一、实验目的和要求 1、实验目的 2、实验要求 二、实验实现思路及步骤 1、实验思路 2、实验步骤 3、实验方案 三、主要开发工具 四、实验效果及实现代码 1、留言本数据库构建实现 #xff08;1#xff09;建立javaee-project数据库 #xff08;2#xf…目  录 一、实验目的和要求 1、实验目的 2、实验要求 二、实验实现思路及步骤 1、实验思路 2、实验步骤 3、实验方案 三、主要开发工具 四、实验效果及实现代码 1、留言本数据库构建实现 1建立javaee-project数据库 2建立message数据表 3建立user数据表 2、留言本首页模块功能实现 1留言本留言信息呈现 2留言本留言记录查询 3留言本链接跳转 3、留言本登录模块功能实现 1留言本登录验证 2留言本登录成功 3留言本登录退出 4、留言本发布留言模块功能实现 1留言本发布留言内容验证 2留言本留言发布 5、留言本留言回复模块功能实现 1留言本留言回复信息 2留言本留言回复发布成功 6、留言本删除留言模块功能实现 1留言本留言删除验证 2留言本留言删除成功 五、遇到的问题和解决方法 六、心得体会 一、实验目的和要求 1、实验目的 熟练掌握Mybatis框架基本用法web项目中集成Mybatis。 2、实验要求 实现简单留言本的发贴和回复功能效果图如下 二、实验实现思路及步骤 1、实验思路 1设计一个包括留言ID主键自增留言者姓名留言内容留言时间等属性的数据库来存储留言信息。 2在Java中创建一个实体类该类对应数据库中的表有一系列的getter和setter方法用于访问和修改这些属性。 3Mapper层包含了所有与数据库操作相关的接口这些接口定义了如何执行数据库操作。这些接口是MyBatis框架的主要部分它们定义了如何将Java对象映射到数据库中的记录以及如何从数据库中检索记录并映射回Java对象。 4对于每个Mapper接口创建一个XML文件来定义如何将接口的方法映射到数据库中的SQL语句。这些XML文件包含了要执行的SQL语句、参数如何映射到SQL语句中等的详细信息。 5创建一个名为mybatis-config.xml的配置文件来完成Mapper接口的路径和XML映射文件的路径配置。 6Service层包含了业务逻辑的实现通常会调用Mapper层的方法来操作数据库并根据业务需求进行数据的处理。Service实现类Impl是Service层的具体实现它们实现了Service层的接口并实现了相关的业务逻辑。 7创建Controller层Controller层负责处理用户请求并调用服务层的业务逻辑处理HTTP请求将请求参数转化为entity对象并调用service层的方法。 2、实验步骤 1确定留言本需要存储的数据包括留言者的姓名、留言的内容、留言的时间等可以考虑使用关系型数据库如MySQL来存储这些数据。 2定义数据模型实体类反映数据库中的表结构每个属性对应一个字段。使用Java的类来表示这些实体利用IDE的ORM工具IntelliJ IDEA来自动生成这些类和它们对应的数据访问接口。 3定义数据访问接口Mapper层包含对数据库进行各种操作的方法并为每个接口创建一个XML映射文件该文件包含如何将接口的方法映射到SQL语句的详细信息。 4定义业务逻辑层Service层该层包含判断留言是否已经存在、统计留言数量等一系列业务逻辑的实现调用Mapper层的方法来访问数据库并根据业务需求处理数据。 5设计用户界面Controller层该层处理添加留言、查看留言等一系列用户请求接收用户的输入并将其转换为程序可以理解的命令然后调用Service层的方法来执行这些命令。 6配置数据源、Mapper接口和XML映射文件的路径等一系列事务管理器以确保事务的一致性。 3、实验方案 1使用MySQL建立基于MyBatis的留言本需要使用的数据库javaee-project以及数据表message、user通过MyBatis配置文件连接对应的数据库并通过调用数据库中的留言信息数据进行相关留言信息的发布、删除、查看、回复等操作。 2根据课本、PPT和老师课堂中讲解的内容使用IDEA-Java编译软件制作基于MyBatis的留言本。 3将代码编写过程中遇到的问题及时的进行记录并在课后向老师进行提问将遇到的问题进行及时的处理和解答并将所有的问题和解决方法进行汇总归纳。 4完成最终的项目以及基于MyBatis留言本的实验报告最后进行实验报告排版的检查并提交。 三、主要开发工具 IDEA-Java开发工具、Navicat-MySQL开发工具 四、实验效果及实现代码 1、留言本数据库构建实现 1建立javaee-project数据库 打开SQLYog进行数据库的创建数据库创建完毕以后再在数据库中添加留言信息数据表message和用户信息数据表user对应的数据库构建界面如图1-1所示 图1-1 数据库构建界面 核心代码 CREATE DATABASE javaee-project;USE javaee-project; 2建立message数据表 a、message数据表属性设置 留言信息数据表message包括昵称nickname、QQ号码qq、电子邮件地址email、留言内容msg、回复IDreply_id、创建时间create_time、更新时间update_time以及留言类型type对应的message属性设置界面如图1-2所示 图1-2 message属性设置界面 核心代码 CREATE TABLE message (id int NOT NULL AUTO_INCREMENT,nickname varchar(255) DEFAULT NULL,qq varchar(255) DEFAULT NULL,email varchar(255) DEFAULT NULL,msg varchar(255) DEFAULT NULL,reply_id int DEFAULT NULL,create_time datetime DEFAULT CURRENT_TIMESTAMP,update_time datetime DEFAULT CURRENT_ON UPDATE CURRENT_TIMESTAMP,type tinyint DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT108 DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci b、message数据表信息 通过Sql语句进行留言信息数据表message的创建并在数据表中添加一部分留言数据信息记录对应的message数据信息界面如图1-3所示 图1-3 message数据表信息界面 3建立user数据表 a、user数据表属性设置 用户信息数据表user包括用户名name、密码password、角色role和生日birthday对应的user属性设置界面如图1-4所示 图1-4 user属性设置界面 核心代码 CREATE TABLE user (id int NOT NULL AUTO_INCREMENT,name varchar(255) DEFAULT NULL,password varchar(255) DEFAULT NULL,role varchar(255) DEFAULT NULL,birthday varchar(255) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT3 DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci b、user数据表信息 通过Sql语句进行用户信息数据表user的创建并在数据表中添加一部分用户数据信息记录对应的user数据信息界面如图1-5所示 图1-5 user数据表信息界面 2、留言本首页模块功能实现 1留言本留言信息呈现 项目创建完毕后启动项目在留言本的首页可以看到所有用户发布的留言以及对留言作出的回复信息并会将留言数据按5条为一段进行分页划分处理操作整个页面采用动画流动设计为留言本添加了色彩渲染对应的留言本信息呈现界面如图2-1所示 图2-1 留言本信息呈现界面 核心代码 video autoplayautoplay loop classfillWidth mutedmuted styleposition: absolutesource src./image/background.mp4/videofooter classmain-footer stylebackground: #f7ecb5div classcontainerdiv classpull-right hidden-xs/divdiv aligncenterstrongbb stylecolor: #0d6aad; margin-left: 30px设计者/b于立伟b stylecolor: #720e9e; margin-left: 30pxQQ邮箱a href https://mail.qq.com/3443531275qq.com/a/bb stylecolor: #720e9e; margin-left: 30px手机号13830758370/bb stylecolor: rgba(12,32,150,0.29); margin-left: 30pxCO启 img src./image/logoYW.jpg styleborder-radius: 50% width20px height20px/ 航/bb stylecolor: #720e9e; margin-left: 30pxB站视频号a hrefhttps://www.bilibili.com/video/BV1mh4y1M7id/尾鲤鱼/a/b/b/strong/div/div/footer 2留言本留言记录查询 a、键入查询信息 当需要查看指定用户的留言信息时可以在留言本最上方的搜索框中输入自己想要查询的数据记录此处采用了模糊查询的方式对应的键入查询界面如图2-2所示 图2-2 键入查询界面 核心代码 RequestMapping(/replyByNickname.do)public void replyByNickname(HttpServletRequest request, HttpServletResponse response) {try {request.setCharacterEncoding(UTF-8);String id request.getParameter(id);String msg request.getParameter(replyMsg);Message message new Message();message.setReplyId(Integer.parseInt(id));message.setMsg(msg);message.setType(false);messageService.insert(message);JSONUtil.printByJSON(response, Result.success());} catch (Exception e) {e.printStackTrace();}}Overridepublic ListMessage list() {SqlSession sqlSession MybatisUtils.getSqlsession();MessageMapper mapper sqlSession.getMapper(MessageMapper.class);ListMessage messages mapper.selectMsg();sqlSession.commit();sqlSession.close();return messages;} b、查看查询结果 在搜索框中输入自己想要查询的内容后点击回车键即可完成查询操作对应的查询结果会显示输出到页面中对应的查询结果界面如图2-3所示 图2-3 查询结果界面 核心代码 c:forEach items${messages} varmsgdiv classbox box-default stylebackground: rgba(255, 255, 255, 0.5)div classbox-header with-borderh2 classbox-titleb${msg.nickname}在fmt:formatDate value${msg.createTime} patternyyyy年MM月dd日HH:mm:ss/发布留言/b/h2/divdiv classbox-body aligncenterb stylecolor: #00b3ee; font-size: 18px${msg.msg}/b/divc:if test${msg.replyMessages ! []}c:forEach items${msg.replyMessages} varreplydiv classbox-footerb stylefont-family: 黑体fmt:formatDate value${reply.createTime} patternyyyy年MM月dd日HH:mm:ss/回复${reply.msg}/b/div/c:forEach/c:ifc:if test${user ! null}div classbox-footer styletext-align: centerbutton typebutton classbtn btn-danger data-dismissmodal onclickdeletemsg(${msg.id})删除/buttonbutton typebutton classbtn btn-primary onclickreply(${msg.id})回复/button /div/c:if/div/c:forEach 3留言本链接跳转 a、B站课程录播 在页面的最下方添加了B站的链接键入模块可以通过点击进入到该留言本的设计实现录播视频中对应的B站课程录播界面如图2-4所示 图2-4 B站课程录播界面 核心代码 div aligncenterstrongbb stylecolor: #0d6aad; margin-left: 30px设计者/b于立伟b stylecolor: #720e9e; margin-left: 30pxQQ邮箱a hrefhttps://mail.qq.com/3443531275qq.com/a/bb stylecolor: #720e9e; margin-left: 30px手机号13830758370/bb stylecolor: rgba(12,32,150,0.29); margin-left: 30pxCO启 img src./image/logoYW.jpg styleborder-radius: 50% width20px height20px/ 航/bb stylecolor: #720e9e; margin-left: 30pxB站视频号a hrefhttps://www.bilibili.com/video/BV1mh4y1M7id/尾鲤鱼/a/b/b/strong/div b、QQ邮箱发布 在页面的最下方添加了QQ邮箱的链接键入模块可以通过点击进入到QQ邮箱进行相关信息内容的上传发布操作对应的QQ邮箱发布界面如图2-5所示 图2-5 QQ邮箱发布界面 核心代码 div aligncenterstrongbb stylecolor: #0d6aad; margin-left: 30px设计者/b于立伟b stylecolor: #720e9e; margin-left: 30pxQQ邮箱a hrefhttps://mail.qq.com/3443531275qq.com/a/bb stylecolor: #720e9e; margin-left: 30px手机号13830758370/bb stylecolor: rgba(12,32,150,0.29); margin-left: 30pxCO启 img src./image/logoYW.jpg styleborder-radius: 50% width20px height20px/ 航/bb stylecolor: #720e9e; margin-left: 30pxB站视频号a hrefhttps://www.bilibili.com/video/BV1mh4y1M7id/尾鲤鱼/a/b/b/strong/div 3、留言本登录模块功能实现 1留言本登录验证 a、账号密码验证失败 在用户进行留言本登录的时候通过用户在输入框中输入的信息进行对应的输入内容校验并将不符合的信息进行输出提示对应的账号密码验证失败界面如图3-1所示 图3-1 账号密码验证失败界面 核心代码 $(#login_form).bootstrapValidator({excluded: [:disabled, :hidden, :not(:visible)],//默认指定不验证的情况message : This value is not valid,feedbackIcons : {valid : glyphicon glyphicon-ok,invalid : glyphicon glyphicon-remove,validating : glyphicon glyphicon-refresh},fields : {name: {  /*键名username和input name值对应*/message: 用户名不能为空,validators: {notEmpty: { /*非空提示*/message: 用户名必填不能为空},stringLength: { /*长度提示*/min: 3,max: 30,message: 用户名长度不能小于3位或超过30位},regexp: { /*正则校验*/regexp: /^[a-zA-Z0-9_\.]$/,message: 用户名只能由字母、数字、点和下划线组成。},}},password: {message:密码无效,validators: {notEmpty: {message: 密码不能为空},stringLength: {min: 3,max: 15,message: 密码长度必须在3到15之间}}},}}); b、账号密码验证成功 用户将登录信息全部按照登录提示修改后会在每个文本框的最后出现绿色的小勾从而表示输入信息均已正确对应的账号密码验证成功界面如图3-2所示 图3-2 账号密码验证成功界面 核心代码 name: {  /*键名username和input name值对应*/message: 用户名不能为空,validators: {notEmpty: { /*非空提示*/message: 用户名必填不能为空},stringLength: { /*长度提示*/min: 3,max: 30,message: 用户名长度不能小于3位或超过30位},regexp: { /*正则校验*/regexp: /^[a-zA-Z0-9_\.]$/,message: 用户名只能由字母、数字、点和下划线组成。},}},password: {message:密码无效,validators: {notEmpty: {message: 密码不能为空},stringLength: {min: 3,max: 15,message: 密码长度必须在3到15之间}}} 2留言本登录成功 登录内容全部输入成功后即可进行对应账号的登录操作对应的留言本登录成功界面如图3-3所示 图3-3 留言本登录成功界面 核心代码 RequestMapping(/login.do)public void login(HttpServletRequest request, HttpServletResponse response) {try {request.setCharacterEncoding(UTF-8);String name request.getParameter(name);String password request.getParameter(password);User user userService.login(name, password);request.getSession().setAttribute(user, user);if (Objects.nonNull(user)) {JSONUtil.printByJSON(response, Result.success());}JSONUtil.printByJSON(response, Result.fail());} catch (UnsupportedEncodingException e) {e.printStackTrace();}} 3留言本登录退出 用户发布完毕自己的留言信息后可以点击页面右上角自己的用户名进行登录退出的操作对应的留言本登录退出界面如图3-4所示 图3-4 留言本登录退出界面 核心代码 RequestMapping(/out.do)public void out(HttpServletRequest request, HttpServletResponse response) {request.getSession().removeAttribute(user);JSONUtil.printByJSON(response, Result.success());}$(#login_form).bootstrapValidator({excluded: [:disabled, :hidden, :not(:visible)],//默认指定不验证的情况message : This value is not valid,feedbackIcons : {valid : glyphicon glyphicon-ok,invalid : glyphicon glyphicon-remove,validating : glyphicon glyphicon-refresh} 4、留言本发布留言模块功能实现 1留言本发布留言内容验证 a、昵称验证失败 用户点击发布留言后会弹出对应的发布留言信息弹窗在对应的输入框中按照提示信息填入自己的信息和留言内容即可如果自己的昵称输入有问题则会提示“输入内容必须为字母、数字、点和下划线”对应的昵称验证失败界面如图4-1所示 图4-1 昵称验证失败界面 核心代码 fields : {nickname: {  /*键名username和input name值对应*/validators: {notEmpty: { /*非空提示*/message: 用户名必填不能为空},StringLength: { /*长度提示*/min: 3,max: 30,message: 用户名长度不能小于3位或超过30位},regexp: { /*正则校验*/regexp: /^[a-zA-Z0-9_\.]$/,message: 用户名只能由字母、数字、点和下划线组成。},}} b、邮箱验证失败 如果自己的邮箱输入框中没有填写邮箱号的话会提示“邮箱不能为空”对应的邮箱验证失败界面如图4-2所示 图4-2 邮箱验证失败界面 核心代码 qq: {validators: {notEmpty: {message: qq不能为空},digits:{ // 纯数字验证message: qq只能是数字},stringLength: {min: 3,max: 15,message: qq长度必须在3到15之间}}},email: {validators: {notEmpty: {message: 邮箱不能为空},emailAddress:{ // 邮箱验证message: 请输入正确的邮箱},stringLength: {min: 3,max: 15,message: qq长度必须在3到15之间}}} b、发布留言内容验证成功 用户将留言信息全部按照留言信息提示修改后会在每个文本框的最后出现绿色的小勾从而表示输入信息均已正确对应的发布留言内容验证成功界面如图4-3所示 图4-3 发布留言内容验证成功界面 核心代码 msg : {validators : {notEmpty : {message : 留言内容必填},stringLength : {min : 2,max : 200,message : 留言长度必须2-200字符}}} 2留言本留言发布 a、留言本留言信息 将必须要填写的个人信息填写无误后即可进行留言内容的填写将对应的留言内容填写到留言内容输入框中即可对应的留言本留言信息界面如图4-4所示 图4-4 留言本留言信息界面 核心代码 RequestMapping(/insert.do)public void insert(HttpServletRequest request, HttpServletResponse response) {try {request.setCharacterEncoding(UTF-8);String nickname request.getParameter(nickname);String qq request.getParameter(qq);String email request.getParameter(email);String msg request.getParameter(msg);Message message new Message();message.setEmail(email);message.setMsg(msg);message.setNickname(nickname);message.setQq(qq);message.setType(true);messageService.insert(message);JSONUtil.printByJSON(response, Result.success());} catch (UnsupportedEncodingException e) {e.printStackTrace();}}Overridepublic void insert(Message message) {SqlSession sqlSession MybatisUtils.getSqlsession();MessageMapper mapper sqlSession.getMapper(MessageMapper.class);mapper.insert(message);sqlSession.commit();sqlSession.close();} b、留言本留言发布成功 留言信息填写完毕后即可点击弹窗中的提交留言按钮进行留言信息的发布操作对应的留言本留言发布成功界面如图4-5所示 图4-5 留言本留言发布成功界面 核心代码 div classmodal fade idexampleModal tabindex-1 aria-labelledbyexampleModalLabel aria-hiddentruediv classmodal-dialogdiv classmodal-content stylebackground-image: url(../image/background.png)div classmodal-headerh2 classmodal-title idexampleModalLabel aligncenter stylecolor: #720e9e发布留言/h2/divdiv classmodal-bodyform idmsg_formdiv classform-grouplabel fornickname昵称/labelinput stylebackground-color: #d3dcda typetext classform-control placeholder请输入您的昵称 idnickname namenickname aria-describedbyemailHelp/divdiv classform-grouplabel forQQQQ/labelinput stylebackground-color: #d3dcda typetext classform-control placeholder请输入您的QQ号 idqq nameqq/divdiv classform-grouplabel foremail邮箱/labelinput stylebackground-color: #d3dcda typetext classform-control placeholder请输入您的邮箱号 idemail nameemail/divdiv classform-grouplabel formsg内容/labeltextarea stylebackground-color: #d3dcda classform-control idmsg placeholder请输入发表的内容信息 namemsg rows3/textarea/div/form/divdiv classmodal-footer styletext-align: centerbutton typebutton classbtn btn-secondary data-dismissmodal关闭/buttonbutton typebutton classbtn btn-primary idsend_btn发布留言/button/div/div/div/div 5、留言本留言回复模块功能实现 1留言本留言回复信息 用户登录留言本后可以对所有的留言信息进行回复评论操作点击留言框中的回复按钮即可进行回复内容的填写对应的留言本留言回复信息界面如图5-1所示 图5-1 留言本留言回复信息界面 核心代码 RequestMapping(/reply.do)public void reply(HttpServletRequest request, HttpServletResponse response) {try {request.setCharacterEncoding(UTF-8);String id request.getParameter(id);String msg request.getParameter(replyMsg);Message message new Message();message.setReplyId(Integer.parseInt(id));message.setMsg(msg);message.setType(false);messageService.insert(message);JSONUtil.printByJSON(response, Result.success());} catch (Exception e) {e.printStackTrace();}}Overridepublic void insert(Message message) {SqlSession sqlSession MybatisUtils.getSqlsession();MessageMapper mapper sqlSession.getMapper(MessageMapper.class);mapper.insert(message);sqlSession.commit();sqlSession.close();} 2留言本留言回复发布成功 回复内容填写完毕后即可点击回复弹窗中的发布按钮进行回复信息的发布对应的留言本留言回复发布成功界面如图5-2所示 图5-2 留言本留言回复发布成功界面 核心代码 $(#reply_btn).click(function () {let txt $(#reply_form).serialize()let id $(#id).val()let data txt id idfetch(/message/reply.do, {method:post,headers:{Content-type:application/x-www-form-urlencoded},body:data}).then(res {return res.json()}).then(data {if (data.success) {location.reload()$(#replyModal).modal(hide)}})}) 6、留言本删除留言模块功能实现 1留言本留言删除验证 如果自己的留言发布后感觉有问题需要删除只需要点击留言框中的删除按钮进行留言删除即可但是为了确保无误删除时需要进行删除验证操作对应的留言本留言删除验证界面如图6-1所示 图6-1 留言本留言删除验证界面 核心代码 RequestMapping(/delete.do)public void delete(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {request.setCharacterEncoding(UTF-8);String id request.getParameter(id);messageService.deleteById(Integer.parseInt(id));JSONUtil.printByJSON(response,Result.success());}Overridepublic void deleteById(int parseInt) {SqlSession sqlSession MybatisUtils.getSqlSession();MessageMapper mapper sqlSession.getMapper(MessageMapper.class);mapper.deleteByPrimaryKey(parseInt);mapper.deleteByReplyId(parseInt);sqlSession.commit();sqlSession.close();} 2留言本留言删除成功 如果确认要删除该条留言的话在二次确认的窗口中点击确认按钮即可进行该条记录的删除操作对应的留言本留言删除成功界面如图6-2所示 图6-2 留言本留言删除成功界面 核心代码 function deleteModal(id) {mid id;$(#deleteModal).modal(show)}$(#delete_btn).click(function () {let data idmidfetch(/message/delete.do,{method:post,headers:{Content-type:application/x-www-form-urlencoded},body:data}).then(res{return res.json()}).then(data {if (data.success) {location.reload()$(#deleteModal).modal(hide)}})}); 五、遇到的问题和解决方法 1、运行问题启动Tomcat的过程中出现端口被占用的情况。 解决方法对服务器进行配置将服务器运行的端口号改为别的端口即可找到Tomcat安装目录下的文件“/conf/server.xml”-使用记事本或写字板打开文件在文件中找到“Connector port8080”-将“8080”改为“8888”然后保存配置文件-重启Tomcat服务器。 2、运行问题代码编写完成后进行运行发现网页无法进行页面加载显示页面请求失败。 解决方法由于没有在Tomcat服务器上进行运行所导致先运行服务器然后再运行代码后页面可以正常加载。 3、项目问题JSP页面中遇到编码问题。 解决方法可以先检查JSP页面、JavaBean以及数据库的编码设置是否一致可以手动在代码中设置编码格式也可以在web.xml文件中配置全局的编码过滤器。 4、项目问题JSP页面无法正确地显示数据。 解决方法检查JSP页面中是否包含错误的HTML标签、CSS样式或JavaScript代码这些代码可能会干扰数据的显示也可以检查JavaBean中的数据是否被正确地存储、处理和输出。 5、项目问题JSP页面无法获取到JavaBean中的数据。 解决方法确保JavaBean中需要获取的数据已经被正确地赋值可以在JSP页面中使用EL表达式或者使用Java代码片段的方式获取数据。 6、项目问题JSP页面中的表单无法提交。 解决方法检查表单中的请求方法是否正确是否存在未填写的必填项是否存在重复的表单参数等错误同时也可以检查网络连接是否正常。 7、项目问题页面跳转异常。 解决方法检查代码实现确保页面跳转的 URL 是否正确是否遗漏了必要的转发或者重定向操作另外还可以通过在浏览器中查看控制台日志来定位问题。 8、项目问题请求参数获取失败。 解决方法检查代码实现确保请求参数的名称、类型和格式都与服务器端代码中一致还可以通过在浏览器中查看网络请求信息来定位问题。 9、项目问题项目运行后页面出现了404错误。 解决方法由于在连接数据库的配置文件中数据库名错误导致的将数据库的名字修改为自己的数据库名称后再次启动错误消息。 10、项目问题项目运行后页面出现了500错误。 解决方法由于没有把类名写到配置文件的中所以Tomcat就找不该类此时我们把类名加入进去就可以正常访问了。 六、心得体会 1、基于MyBatis的留言本项目为我提供了宝贵的软件开发和数据库操作经验通过这个项目我深入了解了MyBatis这一优秀的持久层框架并在实践中获得了一些独特的见解。MyBatis的灵活性和强大性给我留下了深刻的印象它支持定制化SQL、存储过程以及高级映射这使得开发者可以更加便捷地操作数据库。 2、利用MyBatis的映射特性将数据库表中的字段与Java对象进行了对应通过使用MyBatis提供的映射文件我可以轻松地实现对数据库的增、删、改、查等操作。此外MyBatis还支持动态SQL可以在运行时根据参数动态生成SQL语句使得操作数据库更加灵活。 3、在开发过程中由于留言本项目的数据量较大如果直接使用MyBatis的默认查询方式可能会影响性能。为了解决这个问题我研究了MyBatis提供的分页查询功能通过在SQL语句中加入分页参数MyBatis可以自动生成对应的分页SQL语句大大提高了查询效率。 4、由于数据库表结构经常变化我需要频繁地更新MyBatis的映射文件为了解决这个问题我深入研究了MyBatis的动态映射特性。通过在映射文件中使用动态SQL语句我可以根据数据库表的实际结构自动生成对应的映射文件避免了因表结构变化而导致的错误。 5、制作基于MyBatis留言本的项目让我深入了解了MyBatis框架的使用和原理同时也在实践中获得了宝贵的经验。在这个过程中我不仅学会了如何使用MyBatis进行数据库操作还学会了如何解决实际开发中遇到的问题。通过这个项目我深刻体会到了MyBatis在持久层框架中的优势以及在项目开发中的重要性。
http://www.zqtcl.cn/news/448234/

相关文章:

  • 网页设计 网站建设 哪个好佛山网站建设推广服务
  • 东莞网站建设技术支持产品推广怎么写
  • 银川app购物网站制作公司网站建设怎样提升形象与品牌价值
  • 中山城市建设集团网站信誉好的邯郸网站建设
  • 做网站很赚钱吗贵阳网站建设费用
  • 设计网站的关键点用ps做招生网站
  • 制作网站公司服务器租赁一年的费用网页动画是如何制作出来的
  • 佛山网站优化有莱芜房产网新房
  • 西安英文旅游网站建设中国建筑工程门户商城
  • 山东企业建站软件购物网站是多少
  • 外链收录网站语音识别程序代做网站
  • 天津平台网站建设公司wordpress删除页头页尾
  • 网站加入站长统计wordpress设置手机浏览器
  • 服务器网站备案怎么做网站流量竞品分析
  • 四川省建设工程信息网站上海金融网站制作公
  • php7.2 wordpress黑帽seo软件
  • 网站后台cms做网站项目团队口号
  • 云南哪几个建网站公司九江做网站哪家好
  • 时尚网站模板代码网站模板炫酷
  • 股票网站怎么做动态表格live2d看板娘wordpress
  • 班级网站建设开题报告企业创新平台建设
  • 网站建设有什么要求建设电子商务网站的步骤
  • 百度推广和哪些网站有合作专业网站开发多少钱
  • 相城区住房建设局网站做网站开发电脑配置
  • 成都网站建设制作photoshop网页制作视频教程
  • 深圳网站做的好的公司广州外贸营销网站建设公司
  • 网站你懂我意思正能量晚上不用下载直接进入微信公众号免费模板素材网站
  • 网站设计模板之家南宁seo外包平台
  • 免费舆情网站遵义市双控体系建设网站
  • 企业做网站得多少钱wordpress get_posts