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

求职网站开发开发游戏的软件

求职网站开发,开发游戏的软件,做分类信息网站模板,房屋设计装修网站1.Redis入门 2.在Java中操作Redis 3.店铺营业状态设置 BUG!!! 今天在启动项目时#xff0c;用到了Redis缓存数据库#xff0c;但是却出现了报错信息#xff1a; ERR Client sent AUTH, but no password is set。Caused by: io.lettuce.core.RedisCommandExecutionException…1.Redis入门 2.在Java中操作Redis 3.店铺营业状态设置 BUG!!! 今天在启动项目时用到了Redis缓存数据库但是却出现了报错信息 ERR Client sent AUTH, but no password is set。Caused by: io.lettuce.core.RedisCommandExecutionException: ERR Client sent AUTH, but no password is set原因 产生这个问题的原因异常信息里已经说明就是Redis服务器没有设置密码但客户端向其发送了AUTHauthentication身份验证请求携带着密码导致报错。既然是没有设置密码导致的报错那我们就把Redis服务器给设置上密码就好了。一共有2种方式设置密码 一、命令行方式 1、先进入Redis服务器 C:\Program Files (x86)\Redis-x64-3.2.100redis-cli.exe2、查看是否设置了密码 127.0.0.1:6379 auth 123456 (error) ERR Client sent AUTH, but no password is set1 2 3、报错说明没有设置密码然后再执行配置命令 127.0.0.1:6379 config set requirepass rootOK4、返回OK后即代表配置成功这个时候再执行查看密码命令 redis 127.0.0.1:6379 AUTH 123456 Ok返回OK就说明已经配置成功了。 这种配置方式存在一个很严重的问题就是当我们将Redis服务器关掉之后这些配置就会失效下次再启动服务器需要重新设置 二、修改配置文件 还有一种方式就是一劳永逸的方式就是直接修改配置文件里的参数。在redis.windows.conf我的是这个配置文件或者redis.conf我看网上有说是这个配置文件的的配置文件中找到requirepass这个参数设置参数密码然后保存配置文件重启Redis。 # requirepass foobared requirepass 123456 //123456是设置的密码本来这种方式非常简单但是在实际过程中却遇见了一些问题那就是配置不生效明明配置文件里都已经配置了密码但是还会报错后来在Redis启动时发现Redis报错了 Warning: no config file specified, using the default config. In order to specify a config file use C:\Program Files (x86)\Redis-x64-3.2.100\redis-server.exe/path/to/redis.conf后来查阅之后才知道原来Redis启动时需要指定配置文件否则还会使用默认配置而我在Windows里启动.exe应用程序时还是习惯性的双击应用程序启动导致Redis一直使用的是默认配置。 这样我们就需要在命令行窗口通过命令行的方式来启动并指定配置文件 C:\Program Files (x86)\Redis-x64-3.2.100redis-server.exe redis.windows.conf这样我们的Redis服务器的密码就正式配置完成了。 ———————————————— 原文链接链接描述 文档分组功能实现 /*** 通过knife4j生成接口文档* return*/Beanpublic Docket docket1() {ApiInfo apiInfo new ApiInfoBuilder().title(苍穹外卖项目接口文档).version(2.0).description(苍穹外卖项目接口文档).build();Docket docket new Docket(DocumentationType.SWAGGER_2).groupName(管理端接口).apiInfo(apiInfo).select().apis(RequestHandlerSelectors.basePackage(com.sky.controller.admin)).paths(PathSelectors.any()).build();return docket;}Beanpublic Docket docket2() {ApiInfo apiInfo new ApiInfoBuilder().title(苍穹外卖项目接口文档).version(2.0).description(苍穹外卖项目接口文档).build();Docket docket new Docket(DocumentationType.SWAGGER_2).groupName(用户端接口).apiInfo(apiInfo).select().apis(RequestHandlerSelectors.basePackage(com.sky.controller.user)).paths(PathSelectors.any()).build();return docket;}4.菜品的起售和禁售 1. 根据产品原型进行需求分析分析出业务规则 菜品起售表示该菜品可以对外售卖在用户端可以点餐 菜品停售表示此菜品下架用户端无法点餐。业务规则为如果执行停售操作则包含此菜品的套餐也需要停售。 2. 设计 菜品起售停售 功能的接口 上述两部分代码在这里 店铺的营业状态修改菜品起售停售的开发 5.新增套餐 5.1 需求分析和设计 产品原型 业务规则 套餐名称唯一套餐必须属于某个分类套餐必须包含菜品名称、分类、价格、图片为必填项添加菜品窗口需要根据分类类型来展示菜品新增的套餐默认为停售状态 接口设计共涉及到4个接口 根据类型查询分类已完成根据分类id查询菜品图片上传已完成新增套餐 数据库设计 setmeal表为套餐表用于存储套餐的信息。具体表结构如下 字段名数据类型说明备注idbigint主键自增namevarchar(32)套餐名称唯一category_idbigint分类id逻辑外键pricedecimal(10,2)套餐价格imagevarchar(255)图片路径descriptionvarchar(255)套餐描述statusint售卖状态1起售 0停售create_timedatetime创建时间update_timedatetime最后修改时间create_userbigint创建人idupdate_userbigint最后修改人id setmeal_dish表为套餐菜品关系表用于存储套餐和菜品的关联关系。具体表结构如下 字段名数据类型说明备注idbigint主键自增setmeal_idbigint套餐id逻辑外键dish_idbigint菜品id逻辑外键namevarchar(32)菜品名称冗余字段pricedecimal(10,2)菜品单价冗余字段copiesint菜品份数 5.2代码开发 keyProperty(仅对insert和update有用)此属性的作用是将插入或更新操作时的返回值赋值给PO类的某个属性通常会设置为主键对应的属性。如果需要设置联合主键可以在多个值之间用逗号隔开。 useGeneratedKeys(仅对insert和update有用)此属性会使MyBatis使用JDBC的getGeneratedKeys()方法来获取由数据库内部生产的主键如MySQL和SQLServer等自动递增的字段其默认值为false。 当使用的数据库不支持主键自动增长如Oracle或者支持增长的数据库取消了主键自增的规则时也可用MyBatis提供的另一种方式来自定义生成主键具体配置实例如下。 insert idinsertClass parameterTypexx.xx.xxselectKey keyPropertyid resultTypeInteger orderBEFOREselect if(max(id) is null, 1, max(id) 1) as newId from tableName/selectKeyinsert into tableNme (id,attribute1,attribute2,attribute3)values(#{id},#{value1},#{value2},#{value3},) /insertorder的属性可以被设置为BEFORE或AFTER。如果设置为BEFORE那么它会首先执行元素中的配置来设置主键然后执行插入语句如果设置为AFTER那么它会首先执行执行插入语句,然后执行元素中的配置内容 keyColumn(仅对insert和update有用)此属性用于设置第几列是主键当主键不是表中的第一列时需要设置。在需要联合主键时值可以用逗号隔开。 原文链接原文链接 parameterType的详解1、MyBatis的参数映射和字段映射的区别 MyBatis的参数映射不同于字段映射参数映射中的参数是指传入SQL语句的参数而字段映射指的是将JDBC ResultSets数据映射成JavaBean。 MyBatis的真正强大在于它的参数映射和字段映射如果拿它跟具有相同功能的 JDBC 代码进行对比你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本让用户能更专注于 SQL 代码。 2、MyBatis的参数映射配置 MyBatis的参数映射利用的属性是parameterType。 parameterType将会传入这条语句的参数的类全限定名或别名。这个属性是可选的因为 MyBatis 可以通过类型处理器TypeHandler推断出具体传入语句的参数默认值为未设置unset。 对于大多数简单的使用场景你都不需要使用复杂的参数比如 select idselectUsers resultTypeUserselect id, username, passwordfrom userswhere id #{id} /select上面的这个示例说明了一个非常简单的命名参数映射。鉴于参数类型parameterType会被自动设置为 int这个参数可以随意命名。原始类型或简单数据类型比如 Integer 和 String因为没有其它属性会用它们的值来作为参数。 然而如果传入一个复杂的对象行为就会有点不一样了。比如 insert idinsertUser parameterTypeUserinsert into users (id, username, password)values (#{id}, #{username}, #{password}) /insert如果 User 类型的参数对象传递到了语句中会查找 id、username 和 password 属性然后将它们的值传入预处理语句的参数中。对传递语句参数来说这种方式真是干脆利落。不过参数映射的功能远不止于此。 和 MyBatis 的其它部分一样参数也可以指定一个特殊的数据类型如下所示 #{property,javaTypeint,jdbcTypeNUMERIC}新增套餐的代码 6.分页查询菜品 6.1 需求分析和设计 产品原型 业务规则 根据页码进行分页展示每页展示10条数据可以根据需要按照套餐名称、分类、售卖状态进行查询 接口设计 6.2 代码实现 6.2.1 SetmealController /*** 分页查询* param setmealPageQueryDTO* return */ GetMapping(/page) ApiOperation(分页查询) public ResultPageResult page(SetmealPageQueryDTO setmealPageQueryDTO) {PageResult pageResult setmealService.pageQuery(setmealPageQueryDTO);return Result.success(pageResult); }6.2.2 SetmealService /*** 分页查询* param setmealPageQueryDTO* return */ PageResult pageQuery(SetmealPageQueryDTO setmealPageQueryDTO);6.2.3 SetmealServiceImpl /*** 分页查询* param setmealPageQueryDTO* return */ public PageResult pageQuery(SetmealPageQueryDTO setmealPageQueryDTO) {int pageNum setmealPageQueryDTO.getPage();int pageSize setmealPageQueryDTO.getPageSize();PageHelper.startPage(pageNum, pageSize);PageSetmealVO page setmealMapper.pageQuery(setmealPageQueryDTO);return new PageResult(page.getTotal(), page.getResult()); }6.2.4 SetmealMapper /*** 分页查询* param setmealPageQueryDTO* return */ PageSetmealVO pageQuery(SetmealPageQueryDTO setmealPageQueryDTO);6.2.5 SetmealMapper.xml select idpageQuery resultTypecom.sky.vo.SetmealVOselects.*,c.name categoryNamefromsetmeal sleft joincategory cons.category_id c.idwhereif testname ! nulland s.name like concat(%,#{name},%)/ifif teststatus ! nulland s.status #{status}/ifif testcategoryId ! nulland s.category_id #{categoryId}/if/whereorder by s.create_time desc /select苍穹外卖–套餐分页查询的开发 7.删除套餐 7.1 需求分析和设计 产品原型 业务规则 可以一次删除一个套餐也可以批量删除套餐起售中的套餐不能删除 接口设计 7.2 代码实现 7.2.1 SetmealController /*** 批量删除套餐* param ids* return */ DeleteMapping ApiOperation(批量删除套餐) public Result delete(RequestParam ListLong ids){setmealService.deleteBatch(ids);return Result.success(); }7.2.2 SetmealService /*** 批量删除套餐* param ids */ void deleteBatch(ListLong ids);7.2.3 SetmealServiceImpl /*** 批量删除套餐* param ids */ Transactional public void deleteBatch(ListLong ids) {ids.forEach(id - {Setmeal setmeal setmealMapper.getById(id);if(StatusConstant.ENABLE setmeal.getStatus()){//起售中的套餐不能删除throw new DeletionNotAllowedException(MessageConstant.SETMEAL_ON_SALE);}});ids.forEach(setmealId - {//删除套餐表中的数据setmealMapper.deleteById(setmealId);//删除套餐菜品关系表中的数据setmealDishMapper.deleteBySetmealId(setmealId);}); }7.2.4 SetmealMapper /*** 根据id查询套餐* param id* return */ Select(select * from setmeal where id #{id}) Setmeal getById(Long id);/*** 根据id删除套餐* param setmealId */ Delete(delete from setmeal where id #{id}) void deleteById(Long setmealId);7.2.5 SetmealDishMapper /*** 根据套餐id删除套餐和菜品的关联关系* param setmealId */ Delete(delete from setmeal_dish where setmeal_id #{setmealId}) void deleteBySetmealId(Long setmealId);
http://www.dnsts.com.cn/news/256572.html

相关文章:

  • 中国网站androidstudio安装教程
  • 关于当当网站建设方案广东省自然资源厅领导分工
  • PHP网站新闻发布怎么做wordpress入门书籍
  • 网站域名hkwordpress获取gallery
  • 做3d效果的网站做pc端网站服务
  • 保定做网站开发的公司有哪些国内服务器租用
  • 做公益做的好的的网站硬件开发有哪些方向
  • 如何个网站做二维码网页制作工具不包括
  • 网站开发设计课程教案dedecms做网站注意事项
  • 网站开发技术教材装修公司联系方式汇总
  • 企业网站哪个好html5鱼缸
  • 浮山网站建设深圳设计师
  • 设计网络网站有哪些功能数字作品商城wordpress
  • 中国建设银行总部网站万网影
  • 临淄网站建设yx718平面设计素材包
  • 柳州做网站哪家好ftp发布asp.net网站
  • 建设网站与服务器手机网站单页面
  • 请兼职做企业网站设计怎么收费手机网站引导页js插件
  • 国内优秀设计网站seo诊断报告示例
  • 产品网站开发计划表如何做自己的网站后台
  • 网站建设帮助中心游戏制作软件免费版
  • 泸州住房城乡建设局官方网站西安网站制作模板
  • 西安网站搭建建设定制装修公司做网站热门关键词
  • 设计感很强的中文网站建站之星导出网站
  • 沈阳怎么做网站电子商务主要就业岗位
  • 网站建设丩金手指排名壹陆建网页还是网站好
  • 做cms网站步骤东莞土木建筑学会网站
  • 网站建设 6万个人站长适合做什么网站
  • 昆明铁路局建设工程网站新手怎么做seo
  • 群晖的网站开发在哪些网站做推广比较好