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

枣庄网站建设哪家强做网站都需要买什么

枣庄网站建设哪家强,做网站都需要买什么,网站建设维护员是做什么的,wordpress首页地址3.综合案例 3.1 功能介绍 以上是我们在综合案例要实现的功能。除了对数据的增删改查功能外#xff0c;还有一些复杂的功能#xff0c;如 批量删除、分页查询、条件查询 等功能 批量删除 功能#xff1a;每条数据前都有复选框#xff0c;当我选中多条数据并点击 批量删除 按…3.综合案例 3.1 功能介绍 以上是我们在综合案例要实现的功能。除了对数据的增删改查功能外还有一些复杂的功能如 批量删除、分页查询、条件查询 等功能 批量删除 功能每条数据前都有复选框当我选中多条数据并点击 批量删除 按钮后会发送请求到后端并删除数据库中指定的多条数据。 分页查询 功能当数据库中有很多数据时我们不可能将所有的数据展示在一页里这个时候就需要分页展示数据。 条件查询 功能数据库量大的时候我们就需要精确的查询一些想看到的数据这个时候就需要通过条件查询。 3.2 环境准备 环境准备我们主要完成以下两件事即可 将静态页面导入到 idea中 执行资料中提供的 tb_brand.sql脚本 3.2.1 工程准备 创建SpringBoot项目brand-case把静态页面复制到resources/static目录下。 3.2.2 创建表 下面是tb_brand.sql脚本中创建表的语句 -- 删除tb_brand表 drop table if exists tb_brand; -- 创建tb_brand表 create table tb_brand (-- id 主键id int primary key auto_increment,-- 品牌名称brand_name varchar(20),-- 企业名称company_name varchar(20),-- 排序字段ordered int,-- 描述信息description varchar(100),-- 状态0禁用 1启用status int ); -- 添加数据 insert into tb_brand (brand_name, company_name, ordered, description, status) values (华为, 华为技术有限公司, 100, 万物互联, 1),(小米, 小米科技有限公司, 50, are you ok, 1),(格力, 格力电器股份有限公司, 30, 让世界爱上中国造, 1),(阿里巴巴, 阿里巴巴集团控股有限公司, 10, 买买买, 1),(腾讯, 腾讯计算机系统有限公司, 50, 玩玩玩, 0),(百度, 百度在线网络技术公司, 5, 搜搜搜, 0),(京东, 北京京东世纪贸易有限公司, 40, 就是快, 1),(小米, 小米科技有限公司, 50, are you ok, 1),(三只松鼠, 三只松鼠股份有限公司, 5, 好吃不上火, 0),(华为, 华为技术有限公司, 100, 万物互联, 1),(小米, 小米科技有限公司, 50, are you ok, 1),(格力, 格力电器股份有限公司, 30, 让世界爱上中国造, 1),(阿里巴巴, 阿里巴巴集团控股有限公司, 10, 买买买, 1),(腾讯, 腾讯计算机系统有限公司, 50, 玩玩玩, 0),(百度, 百度在线网络技术公司, 5, 搜搜搜, 0),(京东, 北京京东世纪贸易有限公司, 40, 就是快, 1),(华为, 华为技术有限公司, 100, 万物互联, 1),(小米, 小米科技有限公司, 50, are you ok, 1),(格力, 格力电器股份有限公司, 30, 让世界爱上中国造, 1),(阿里巴巴, 阿里巴巴集团控股有限公司, 10, 买买买, 1),(腾讯, 腾讯计算机系统有限公司, 50, 玩玩玩, 0),(百度, 百度在线网络技术公司, 5, 搜搜搜, 0),(京东, 北京京东世纪贸易有限公司, 40, 就是快, 1),(小米, 小米科技有限公司, 50, are you ok, 1),(三只松鼠, 三只松鼠股份有限公司, 5, 好吃不上火, 0),(华为, 华为技术有限公司, 100, 万物互联, 1),(小米, 小米科技有限公司, 50, are you ok, 1),(格力, 格力电器股份有限公司, 30, 让世界爱上中国造, 1),(阿里巴巴, 阿里巴巴集团控股有限公司, 10, 买买买, 1),(腾讯, 腾讯计算机系统有限公司, 50, 玩玩玩, 0),(百度, 百度在线网络技术公司, 5, 搜搜搜, 0),(京东, 北京京东世纪贸易有限公司, 40, 就是快, 1),(华为, 华为技术有限公司, 100, 万物互联, 1),(小米, 小米科技有限公司, 50, are you ok, 1),(格力, 格力电器股份有限公司, 30, 让世界爱上中国造, 1),(阿里巴巴, 阿里巴巴集团控股有限公司, 10, 买买买, 1),(腾讯, 腾讯计算机系统有限公司, 50, 玩玩玩, 0),(百度, 百度在线网络技术公司, 5, 搜搜搜, 0),(京东, 北京京东世纪贸易有限公司, 40, 就是快, 1),(小米, 小米科技有限公司, 50, are you ok, 1),(三只松鼠, 三只松鼠股份有限公司, 5, 好吃不上火, 0),(华为, 华为技术有限公司, 100, 万物互联, 1),(小米, 小米科技有限公司, 50, are you ok, 1),(格力, 格力电器股份有限公司, 30, 让世界爱上中国造, 1),(阿里巴巴, 阿里巴巴集团控股有限公司, 10, 买买买, 1),(腾讯, 腾讯计算机系统有限公司, 50, 玩玩玩, 0),(百度, 百度在线网络技术公司, 5, 搜搜搜, 0),(京东, 北京京东世纪贸易有限公司, 40, 就是快, 1); 3.3 查询所有功能 如上图所示是查询所有品牌数据在页面展示的效果。要实现这个功能要先搞明白如下问题 什么时候发送异步请求 页面加载完毕后就需要在页面上看到所有的品牌数据。所以在 mounted() 这个构造函数中写发送异步请求的代码。 请求需要携带参数吗 查询所有功能不需要携带什么参数。 响应的数据格式是什么样 后端是需要将 ListBrand 对象转换为 JSON 格式的数据并响应回给浏览器。响应数据格式如下 整体流程如下 我们先实现后端程序然后再实现前端程序。 3.3.1 后端实现 3.3.1.1 dao方法实现 在 com.ambow.mapper.BrandMapper 接口中定义抽象方法同时在接口上添加Mapper注解并使用 Select 注解编写 sql 语句 Mapper public interface BrandMapper {/*** 查询所有* return*/Select(select * from tb_brand)ListBrand selectAll(); } 由于表中有些字段名和实体类中的属性名没有对应所以需要在 com/ambow/mapper/BrandMapper.xml 映射配置文件中定义结果映射 使用resultMap 标签。映射配置文件内容如下 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.ambow.mapper.BrandMapperresultMap idbrandResultMap typebrandresult propertybrandName columnbrand_name /result propertycompanyName columncompany_name //resultMap /mapper 定义完结果映射关系后在接口 selectAll() 方法上引用该结构映射。使用 ResultMap(brandResultMap) 注解 完整接口的 selectAll() 方法如下 Mapper public interface BrandMapper {/*** 查询所有* return*/Select(select * from tb_brand)ResultMap(brandResultMap)ListBrand selectAll(); } 3.3.1.2 service方法实现 在 com.ambow.service 包下创建 BrandService 接口在该接口中定义查询所有的抽象方法 public interface BrandService {/*** 查询所有* return*/ListBrand findAll(); } 并在 com.ambow.service 下再创建 impl 包impl 表示是放 service 层接口的实现类的包。 在该包下创建名为 BrandServiceImpl 类 BrandServiceImpl 类代码如下 Service public class BrandServiceImpl implements BrandService {Autowiredprivate BrandMapper brandMapper;Overridepublic ListBrand findAll() {return brandMapper.selectAll();;} } 3.3.1.3 controller实现 在 com.ambow.controller 包下定义名为 BrandController 的控制器类。并在其中定义findAll()方法 该方法逻辑如下 调用service的 findAllAll() 方法查询所有的品牌数据 将获取的品牌集合ListBrand以JSON形式返回。 代码如下 RestController RequestMapping(/brand) public class BrandController {Autowiredprivate BrandService brandService;RequestMapping(/findAll)public ListBrand findAll(){return brandService.findAll();}} 3.3.1.4 测试后端程序 在浏览器输入访问控制器的资源路径 http://localhost:8080/brand-case/findAll 如果没有报错并能看到如下信息表明后端程序没有问题 3.3.2 前端实现 前端需要在页面加载完毕后发送 ajax 请求所以发送请求的逻辑应该放在 mounted() 钩子函数中。而响应回来的数据需要赋值给表格绑定的数据模型从下图可以看出表格绑定的数据模型是 tableData 前端代码如下 mounted(){//当页面加载完成后发送异步请求获取数据var _this this;axios({method:get,url:http://localhost:8080/brand-case/findAll}).then(function (resp) {_this.tableData resp.data;})} 3.4 添加功能 上图是添加数据的对话框当点击 提交 按钮后就需要将数据提交到后端并将数据保存到数据库中。下图是整体的流程 页面发送请求时需要将输入框输入的内容提交给后端程序而这里是以 json 格式进行传递的。而具体的数据格式如下 注意由于是添加数据所以上述json数据中id是没有值的。 3.4.1 后端实现 3.4.1.1 dao方法实现 在 BrandMapper 接口中定义 insertBrand() 添加方法并使用 Insert 注解编写sql语句 /*** 添加数据* param brand*/Insert(insert into tb_brand (brand_name,company_name,ordered,description,status) values(#{brandName},#{companyName},#{ordered},#{description},#{status}))int insertBrand(Brand brand); 3.4.1.2 service方法实现 在 BrandService 接口中定义 addBrand() 添加数据的业务逻辑方法 /*** 添加数据* param brand*/ boolean addBrand(Brand brand); 在 BrandServiceImpl 类中重写 addBrand() 方法并进行业务逻辑实现 Override public boolean addBrand(Brand brand) {return (brandMapper.insertBrand(brand) 1)?true:false; } 3.4.1.3 controller实现 在 com.ambow.controller 包中的BrandController中定义名为 addBrand 的方法。该方法的逻辑如下 接收页面提交的数据。页面到时候提交的数据是 json 格式的数据 将接收到的数据转换为 Brand 对象 调用 service 的 add() 方法进行添加的业务逻辑处理 给浏览器响应添加成功的标识这里直接给浏览器响应 true 表示成功 代码实现如下 PostMapping(/addBrand) public boolean addBrand(RequestBody Brand brand){return brandService.addBrand(brand); } ​ 3.4.2 前端实现 上图左边是页面效果里面的 提交 按钮可以通过上图右边看出绑定了一个 单击事件而该事件绑定的是 addBrand 函数所以添加数据功能的逻辑代码应该写在 addBrand() 函数中。在此方法中需要发送异步请求并将表单中输入的数据作为参数进行传递。如下 // 添加数据 addBrand() {var _this this;// 发送ajax请求添加数据axios({method:post,url:http://localhost:8080/brand-case/addBrand,data:_this.brand}).then(function (resp) {//响应数据的处理逻辑}) } 在 then 函数中的匿名函数是成功后的回调函数而 resp.data 就可以获取到响应回来的数据如果值是 success 表示数据添加成功。成功后我们需要做一下逻辑处理 关闭新增对话框窗口 如下图所示是添加数据的对话框代码从代码中可以看到此对话框绑定了 dialogVisible 数据模型只需要将该数据模型的值设置为 false就可以关闭新增对话框窗口了。 重新查询数据 数据添加成功与否用户只要能在页面上查看到数据说明添加成功。而此处需要重新发送异步请求获取所有的品牌数据而这段代码在 查询所有 功能中已经实现所以我们可以将此功能代码进行抽取抽取到一个 selectAll() 函数中 // 查询所有数据 selectAll(){var _this this;axios({method:get,url:http://localhost:8080/brand-case/findAll}).then(function (resp) {_this.tableData resp.data;}) } 那么就需要将 mounted() 钩子函数中代码改进为 mounted(){//当页面加载完成后发送异步请求获取数据this.selectAll(); } 同时在新增响应的回调中调用 selectAll() 进行数据的重新查询。 弹出消息给用户提示添加成功 上图左边就是 elementUI 官网提供的成功提示代码而上图右边是具体的效果。 注意上面的this需要的是表示 VUE 对象的this。 综上所述前端代码如下 // 添加数据 addBrand() {var _this this;// 发送ajax请求添加数据axios({method:post,url:http://localhost:8080/brand-case/addServlet,data:_this.brand}).then(function (resp) {if(resp.data success){//添加成功//关闭窗口_this.dialogVisible false;// 重新查询数据_this.selectAll();// 弹出消息提示_this.$message({message: 恭喜你添加成功,type: success});}}) }
http://www.w-s-a.com/news/957727/

相关文章:

  • 什么网站的页面做的比较好看网上做平面设计的网站
  • 网站建设单选网站建设学校培训学校
  • 可以做app的网站logo设计在线生成免费标小智
  • 网站变更备案做酒类网站
  • 网站必须要备案吗东莞市非凡网站建设
  • 太原建网站公司网站设计的流程是怎样的
  • 网站开发交易平台北京网站建设的价格低
  • 捷克注册公司网站搜索引擎广告推广
  • 网站的实用性青岛九二网络科技有限公司
  • 广东备案网站网站反链如何做
  • 做网站的实施过程企业建设H5响应式网站的5大好处6
  • ps制作个人网站首页景安搭建wordpress
  • 常德建设网站制作网站建设推广是什么工作
  • 长春服务好的网站建设百度推广话术全流程
  • 做的网站浏览的越多越挣钱基于jsp的网站开发开题报告
  • 好的做问卷调查的网站好网站调用时间
  • 广州微网站建设平台阿里云国外服务器
  • 如何把做好的网站代码变成网页wordpress shortcode土豆 视频
  • 网站改版竞品分析怎么做中山网站建设文化价格
  • 玉林市网站开发公司电话做网站空间 阿里云
  • 南充做网站略奥网络免费的正能量视频素材网站
  • 电子商务网站开发的基本原则汕头网站制作流程
  • 网站访问量突然增加合肥宣传片制作公司六维时空
  • 建设购物网站流程图怎么找网站
  • 阿里云部署多个网站制作小程序网站源码
  • 博罗东莞网站建设网站免费源代码
  • 网站规划与设计范文桂平网站建设
  • 网站备案号密码wordpress邮箱发送信息错误
  • 模板的网站都有哪些关键词搜索工具爱站网
  • 鲜花网站建设的利息分析企业网站建设方案书