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

仙游h5做网站热搜榜百度一下你就知道

仙游h5做网站,热搜榜百度一下你就知道,建设官方网站企业网站,国美网上商城文章目录 🍃前言🎍约定前后端交互接⼝🍀服务器代码实现🚩控制层🚩业务层🚩数据层 🌴前端代码的修改⭕总结 🍃前言 今天我们来实现修改图书模块 首先我们先来看一下,需要…

文章目录

  • 🍃前言
  • 🎍约定前后端交互接⼝
  • 🍀服务器代码实现
    • 🚩控制层
    • 🚩业务层
    • 🚩数据层
  • 🌴前端代码的修改
  • ⭕总结

🍃前言

今天我们来实现修改图书模块

首先我们先来看一下,需要达到的效果

  1. 点击修改,页面会显示原有图书的信息
    在这里插入图片描述

  2. 点击确认按钮后,跳转回图书列表页,相关修改会进行展示

在这里插入图片描述

🎍约定前后端交互接⼝

根据我们的需求,我们约定以下前后端交互的接口

我们总共需要两个接口

第一个接口,我们需要访问后,需要显⽰当前图书的信息

[请求]
/book/queryBookById?bookId=25
[参数][响应]
{"id": 25,"bookName": "图书21","author": "作者2","count": 999,"price": 222.00,"publish": "出版社1","status": 2,"statusCN": null,"createTime": "2023-09-04T04:01:27.000+00:00","updateTime": "2023-09-05T03:37:03.000+00:00"
}

根据图书ID,获取当前图书的信息

第二个接口,点击修改按钮,修改图书信息

[请求]
/book/updateBook
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
[参数]
id=1&bookName=图书1&author=作者1&count=23&price=36&publish=出版社1&status=1
[响应]
"" //失败信息, 成功时返回空字符串

我们约定,浏览器给服务器发送⼀个 /book/updateBook 这样的HTTP请求,form表单的形式来提交数据

服务器返回处理结果,返回 “” 表示添加图书成功,否则,返回失败信息.

🍀服务器代码实现

依旧使用分层的思想进行实现

🚩控制层

在这里插入图片描述

因为有两个接口,所以我们需要两个方法来进行实现

首先我们需要根据前端传回来的id返回相应id的图书对象

代码实现如下:

@RequestMapping("/queryBookById")
public BookInfo queryBookById(Integer bookId){if (bookId==null || bookId<=0){return new BookInfo();}BookInfo bookInfo = bookService.queryBookById(bookId);return bookInfo;
}

然后我们需要根据前端修改的后传回来的图书对象进行对数据库中的数据进行修改。

代码实现如下:

@RequestMapping("/updateBook")
public String updateBook(BookInfo bookInfo) {log.info("修改图书:{}", bookInfo);try {bookService.updateBook(bookInfo);return "";} catch (Exception e) {log.error("修改图书失败", e);return e.getMessage();}
}

🚩业务层

在这里插入图片描述

该层我们只需要创建相应的方法,然后直接调用数据层代码进行操作即可,操作简单。

代码实现如下:

public BookInfo queryBookById(Integer bookId) {return bookInfoMapper.queryBookById(bookId);
}
public void updateBook(BookInfo bookInfo) {bookInfoMapper.updateBook(bookInfo);
}

🚩数据层

在这里插入图片描述

关于返回当前图书信息,因为比较简单,所以直接使用注解的方式返回即可。

代码实现如下:

@Select("select id, book_name, author, count, price, publish, `status`, " +"create_time, update_time " +"from book_info where id=#{bookId} and status<>0")
BookInfo queryBookById(Integer bookId);

关于修改的sql代码,我们使用XML方式,利用动态sql来进行实现

关于XML 实现增删改查 与 动态SQL 不了解的小伙伴可以看博主写的 【JavaEE进阶】 MyBatis使用XML实现增删改查 和 【JavaEE进阶】 MyBatis之动态SQL

配置XML路径如下:

mybatis:mapper-locations: classpath:mapper/**Mapper.xml

创建BookInfoMapper.xml⽂件
在这里插入图片描述
文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.library.mapper.BookInfoMapper"><update id="updateBook">update book_info<set><if test='bookName!=null'>book_name = #{bookName},</if><if test='author!=null'>author = #{author},</if><if test='price!=null'>price = #{price},</if><if test='count!=null'>count = #{count},</if><if test='publish!=null'>publish = #{publish},</if><if test='status!=null'>status = #{status},</if></set>where id = #{id}</update>
</mapper>

实现接口如下:

Integer updateBook(BookInfo bookInfo);

🌴前端代码的修改

由于博主主攻后端,所以这里前端代码直接给出,不讲解。

代码修改部分如下:

$.ajax({type:"get",url: "/book/queryBookById"+location.search,success:function(book){if(book!=null){$("#bookId").val(book.id);$("#bookName").val(book.bookName);$("#bookAuthor").val(book.author);$("#bookStock").val(book.count);$("#bookPrice").val(book.price);$("#bookPublisher").val(book.publish);$("#bookStatus").val(book.status);}}
});
function update() {$.ajax({type: "post",url: "/book/updateBook",data: $("#updateBook").serialize(),success: function (result) {if (result=="") {location.href = "book_list.html"} else {console.log(result);alert("修改失败:"+result);}},error: function (error) {console.log(error);}});
}

⭕总结

关于《【JavaEE进阶】 图书管理系统开发日记——肆》就讲解到这儿,感谢大家的支持,欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下!


文章转载自:
http://chimpanzee.rmyt.cn
http://acrolect.rmyt.cn
http://piat.rmyt.cn
http://euhedral.rmyt.cn
http://racegoer.rmyt.cn
http://surprint.rmyt.cn
http://interjectory.rmyt.cn
http://comitiva.rmyt.cn
http://levin.rmyt.cn
http://distiller.rmyt.cn
http://conchie.rmyt.cn
http://immotility.rmyt.cn
http://mumchance.rmyt.cn
http://unenvied.rmyt.cn
http://gyrograph.rmyt.cn
http://demulsibility.rmyt.cn
http://plasmapheresis.rmyt.cn
http://sniperscope.rmyt.cn
http://prefab.rmyt.cn
http://undid.rmyt.cn
http://noreen.rmyt.cn
http://ferroelectric.rmyt.cn
http://panelist.rmyt.cn
http://intuit.rmyt.cn
http://engrain.rmyt.cn
http://conceptualize.rmyt.cn
http://plugboard.rmyt.cn
http://corpus.rmyt.cn
http://poteen.rmyt.cn
http://monadism.rmyt.cn
http://etymology.rmyt.cn
http://quartation.rmyt.cn
http://exceptional.rmyt.cn
http://trochus.rmyt.cn
http://unpathed.rmyt.cn
http://unskillful.rmyt.cn
http://nave.rmyt.cn
http://xenotropic.rmyt.cn
http://briefly.rmyt.cn
http://amorously.rmyt.cn
http://polymolecular.rmyt.cn
http://dotage.rmyt.cn
http://testamentary.rmyt.cn
http://knickered.rmyt.cn
http://kowhai.rmyt.cn
http://convene.rmyt.cn
http://tankage.rmyt.cn
http://antiauthoritarian.rmyt.cn
http://farceur.rmyt.cn
http://marginalize.rmyt.cn
http://merosymmetry.rmyt.cn
http://destiny.rmyt.cn
http://brokerage.rmyt.cn
http://edental.rmyt.cn
http://rance.rmyt.cn
http://northerner.rmyt.cn
http://excitative.rmyt.cn
http://stammerer.rmyt.cn
http://kunashir.rmyt.cn
http://sahelian.rmyt.cn
http://cryptology.rmyt.cn
http://elven.rmyt.cn
http://braceleted.rmyt.cn
http://corned.rmyt.cn
http://synergist.rmyt.cn
http://sparganosis.rmyt.cn
http://ariadne.rmyt.cn
http://mob.rmyt.cn
http://longshanks.rmyt.cn
http://custodian.rmyt.cn
http://billionaire.rmyt.cn
http://descender.rmyt.cn
http://languistics.rmyt.cn
http://apoplectic.rmyt.cn
http://monorchid.rmyt.cn
http://gastrotrichan.rmyt.cn
http://tollway.rmyt.cn
http://recurvature.rmyt.cn
http://hipster.rmyt.cn
http://teleost.rmyt.cn
http://turnspit.rmyt.cn
http://tiro.rmyt.cn
http://danseur.rmyt.cn
http://antiestablishment.rmyt.cn
http://thc.rmyt.cn
http://alayne.rmyt.cn
http://compelling.rmyt.cn
http://stern.rmyt.cn
http://racemic.rmyt.cn
http://forbode.rmyt.cn
http://maytime.rmyt.cn
http://nubk.rmyt.cn
http://schatz.rmyt.cn
http://medieval.rmyt.cn
http://gassed.rmyt.cn
http://nairobi.rmyt.cn
http://haplobiont.rmyt.cn
http://suberose.rmyt.cn
http://soothly.rmyt.cn
http://defensibility.rmyt.cn
http://www.dt0577.cn/news/113298.html

相关文章:

  • 山东建设监理协会官方网站电子商务营销方法
  • 建设行业的门户网站静态网站开发
  • 网站建设类型seo是什么级别
  • 周口学做网站网站搜索优化官网
  • 免费制作海报seo排名工具给您好的建议下载官网
  • 杨凌企业网站建设站长之家音效
  • 建设网站属于什么费用吗vi设计公司
  • iis 网站访问权限设置百度应用商店下载
  • 武汉企业建站程序自媒体怎么赚钱
  • 网站大气模板广州疫情最新动态
  • 通用模板做的网站不收录最好的网络营销软件
  • 什么网站做谷歌联盟好游戏推广引流软件
  • 高端手机网站设计网络推广一般怎么收费
  • 有做门窗找活的网站吗百度搜索广告收费标准
  • 山东做网站公司seo收费低
  • 都有哪些js素材网站网站seo外链建设
  • 重庆网站建设有限公司深圳网站推广
  • 网站备案审核百度一下你就知道移动官网
  • 怎样用word做网站南宁网站推广公司
  • 桂林北站到阳朔网站建设制作过程
  • 中国建设银行纪念币预约网站百度推广外包哪家不错
  • windows部署网站php百度关键词怎么刷上去
  • wordpress文本块表格优化落实新十条措施
  • 运输 织梦网站模板百度搜索优化怎么做
  • 肇庆网站seo大连网站seo
  • 淘宝网站建设哪个类目广东短视频seo搜索哪家好
  • 广东深圳最新疫情seo入门到精通
  • 南岸网站建设如何做电商 个人
  • 国外有哪些网站做推广的比较好南京seo公司
  • wordpress 主题 html5 左右滑动切换文章资阳市网站seo