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

html5搭建手机网站用地方名字做网站

html5搭建手机网站,用地方名字做网站,php网站开发实训报告,手机平台Java阶段五Day15 文章目录 Java阶段五Day15分层其他依赖dao-apidao-implinfrustructuredomainadaptermain 测试整合项目main前台师傅功能luban-front配置师傅相关表格ER图ER练习案例鲁班表格ER关系#xff08;非常重要#xff09; 前台师傅接口——师傅入驻adapterdomaininfr…Java阶段五Day15 文章目录 Java阶段五Day15分层其他依赖dao-apidao-implinfrustructuredomainadaptermain 测试整合项目main前台师傅功能luban-front配置师傅相关表格ER图ER练习案例鲁班表格ER关系非常重要 前台师傅接口——师傅入驻adapterdomaininfrustructuredao-impl映射文件main模块启动 分层其他依赖 保证最后 main 启动的时候可以支持SSM框架内容 简单的启动测试案例能否从 main 启动时获取controller service repository dao接口代理 dao-api 定义持久层接口定义使用的数据库表格对应po dependencygroupIdorg.example/groupIdartifactIdworker-po/artifactIdversion1.0-SNAPSHOT/version /dependency dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId /dependencydao-impl 定义持久层实现看到实现的依赖jpa hibernate mybatis dependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion2.1.0/version /dependencyinfrustructure domain 添加一个公用common dependencygroupIdorg.example/groupIdartifactIdworker-common/artifactIdversion1.0-SNAPSHOT/version /dependencyadapter 需要spring mvc等支持 !--私服提供的 adapter支持依赖-- dependencygroupIdcom.tedu.inn/groupIdartifactIdinn-spring-adapter-support/artifactIdversion1.0.0-SNAPSHOT/version /dependencymain 负责整合跑通应用 !--持久层整合-- dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIddependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.1.4/version/dependency /dependency !--TODO dubbo配置-- !--TODO nacos--测试整合项目main main 提供了所需的启动 web 应用依赖内容 配置持久层 依赖 编写持久层实现(xml映射文件) namespace对应接口全路径 select标签的id值对应接口的方法名称 编写持久层接口 main扫描接口包 SpringBootApplication MapperScan(cn.tedu.luban.test.dao) public class WorkerServerApplication {//检测以下是否能够创建myabtis的实现对象DaoTestpublic static void main(String[] args) {//从启动方法获取返回值,spring上下文对象ConfigurableApplicationContextcontext SpringApplication.run(WorkerServerApplication.class, args);DaoTest proxy context.getBean(DaoTest.class);System.out.println(proxy.getClass().getName());int select proxy.select();System.out.println(select);} }yaml 数据源mybatis各种属性 server:port: 9001 spring:application:name: luban-worker-serverdatasource:url: jdbc:mysql://localhost:3306/tarena_tp_luban_worker?useSSLfalseuseUnicodetruecharacterEncodingutf-8serverTimezoneAsia/ShanghaiallowMultiQueriestrueusername: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driver # mybatis mybatis:configuration:cache-enabled: false # 不启用mybatis缓存map-underscore-to-camel-case: true # 映射支持驼峰命名法log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 将运行的sql输出到控制台mapper-locations: classpath*:mapper/*.xml前台师傅功能 luban-front配置 项目中 vue.config.js 的文件配置了前端请求的代理代理会根据配置向外发出请求 一共配置了4个代理 访问功能的网关 图片上传服务 只考虑上传访问演示系统环境中图片上传是没问题的考虑的是读取图片rpc调用必须使用本地attach base基本服务 在系统中查询服务区域,查询服务类型,都可以访问演示系统提供的base服务 登录注册 师傅相关表格ER图 目标 掌握ER图分析创建过程 ER图——实体关系图entity Relationship 在设计项目之初做数据库设计的一个阶段性分析过程产出ER图数据库的概念设计 ER练习案例 设计步骤需求分析实体确定实体关系 需求请给一个论坛设计功能包含用户可以登录用户可以申请成为版主论坛有板块用户可以在板块里发帖可以回帖版主可以删除所有回帖和发帖用户只能删除自己的回帖和发帖 确定实体 用户 版主 板块 帖子 回帖 实体关系 需要根据实体提供的功能完成实体与其他实体的关系确定最后需要优化删除间接关系保留最清晰联系。最终由创建数据库DBA决定到底如何关联实体对应表格 数据库设计六个阶段 需求分析概念设计逻辑设计物理设计数据库创建数据库运维 如果设计到表格落地 user: table_user role: table_role user_role: table_user_role reply: table_reply(uerId)外键需要加到哪里 如果是1对1的表格任何一方理论上做外键但是应该区分主从表 主表 核心数据 从表 数据依赖主表数据存在 鲁班表格ER关系非常重要 鲁班平台需求描述 支持运营商 供应商 厂家入住提供维修需求订单的平台可以允许用户登录注册线下培训考核成为师傅进行抢单并且对订单结果负责的一个服务平台系统 运营商 / 厂家 / 供应商 入住用户的登录注册用户成为师傅需要师傅入住师傅入住后绑定给一个平台账号厂家提供需求单平台定义结算分润师傅入住时选择服务区域师傅入住时选择服务分类师傅入住时上传身份信息图片师傅查询需求单抢单生成订单师傅签到上传施工图片完成订单平台进行订单结算 实体确定 前台师傅接口——师傅入驻 从上向下开发业务功能 adapter 接收请求 controllerdomain 处理业务 servicerepository 定义domain接口 **Repository infrustructure 定义repositoryImpldao-api 接口定义持久层功能dao-impl xml 映射文件 sql 语句 adapter WorkerServerController package com.tarena.luban.worker.server.controller;import com.tarena.tp.luban.worker.server.dto.param.WorkerCreateParam; import com.tedu.inn.protocol.exception.BusinessException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/**前台师傅接口1. 入住 写操作2. 查询详情,查询的是已经审核通过的当前登录的师傅信息*/ RestController RequestMapping(/worker) public class WorkerServerController {Autowiredprivate WorkerServerService workerServerService;/*** 返回 通用数据result*/PostMapping(/create)public Long createWorker(RequestBody WorkerCreateParam workerCreateParam) throws BusinessException {//调用 worker service 新增return workerServerService.create(workerCreateParam);} }domain 相关代码处理的问题后端代码如何获取userId WorkerServerService package com.tarena.luban.worker.server.manange; import com.tarena.luban.worker.server.repository.WorkerAreaRepository; import com.tarena.luban.worker.server.repository.WorkerCategoryRepsoitory; import com.tarena.luban.worker.server.repository.WorkerRepository; import com.tarena.passport.protocol.LoginUser; import com.tarena.passport.sdk.context.SecurityContext; import com.tarena.tp.luban.worker.server.common.enums.ResultEnum; import com.tarena.tp.luban.worker.server.dto.param.WorkerAreaParam; import com.tarena.tp.luban.worker.server.dto.param.WorkerCategoryParam; import com.tarena.tp.luban.worker.server.dto.param.WorkerCreateParam; import com.tedu.inn.commons.utils.Asserts; import com.tedu.inn.protocol.exception.BusinessException; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils;import java.util.List;/*** author liner* version 1.0*/ Service Slf4j public class WorkerServerService {Autowiredprivate WorkerRepository workerRepository;Autowiredprivate WorkerAreaRepository workerAreaRepository;Autowiredprivate WorkerCategoryRepsoitory workerCategoryRepsoitory;/*** 1. 补充userId* 2. 检查 手机号* 3. 检查 身份证 和真实名称是否匹配 TODO* 4. 存储 worker workerCategory workerArea* 使用定义好的repository接口* param workerCreateParam* return*/Transactional(rollbackFor Exception.class)public Long create(WorkerCreateParam workerCreateParam) throws BusinessException {//获取userIdLong userIdgetUserIdByToken();//检查 手机号 身份证 TODOcheckPhoneAndIdCard(workerCreateParam);//挨个存储对应数据到持久层workerCreateParam.setUserId(userId);Long idsaveWorker(workerCreateParam);saveWorkerArea(workerCreateParam);saveWorkerCategory(workerCreateParam);return id;}/*** 先删除,后新增* param workerCreateParam*/private void saveWorkerCategory(WorkerCreateParam workerCreateParam) {workerCategoryRepsoitory.deleteByUserId(workerCreateParam.getUserId());ListWorkerCategoryParam workerCategoryParams workerCreateParam.getWorkerCategoryParams();if (!CollectionUtils.isEmpty(workerCreateParam.getWorkerCategoryParams())){//循环workerCategoryParams.forEach(param - {param.setUserId(workerCreateParam.getUserId());workerCategoryRepsoitory.save(param);});}}/*** 先删除,后新增* param workerCreateParam*/private void saveWorkerArea(WorkerCreateParam workerCreateParam) {workerAreaRepository.deleteByUserId(workerCreateParam.getUserId());//循环存储 foreach//TODO 批量存ListWorkerAreaParam workerAreaParams workerCreateParam.getWorkerAreaParams();for (WorkerAreaParam workerAreaParam : workerAreaParams) {//提交的参数 workerCategoryParam中和workerParam类似的,也没有userId;workerAreaParam.setUserId(workerCreateParam.getUserId());//insert into worker_areaworkerAreaRepository.save(workerAreaParam);}}/*** 1. 当前用户有可能已经是师傅了.* 1.1 先查讯数据库是否有当前用户.师傅信息 有就报错 没有 就新增* 1.2 不管有没有 如果有就删除.重新新增* param workerCreateParam* return*/private Long saveWorker(WorkerCreateParam workerCreateParam) {//如果当前用户在数据库中有师傅信息,就删除 重新入住师傅信息workerRepository.delete(workerCreateParam.getUserId());Long idworkerRepository.save(workerCreateParam);//TODO rpc 调用 将身份信息,worker-id,和当前图片传递给attach系统,做更新return id;}private void checkPhoneAndIdCard(WorkerCreateParam workerCreateParam) {//TODOlog.info(check phone and idCard,now passed);}private Long getUserIdByToken() throws BusinessException {LoginUser loginToken SecurityContext.getLoginToken();//判断 user登录还是没登录 如果loginUser是空的,说明没登录Asserts.isTrue(loginTokennull,new BusinessException(ResultEnum.USER_TOKEN_VERIFY_FAILED));return loginToken.getUserId();}}infrustructure 实现domain定义的repository接口根据代码需求创建dao-api的dao接口 dao-impl映射文件 worker insert deleteworkerArea insert deleteworkerCategory insert delete 实现xml映射文件从源代码中粘贴修改 namespace 对应当前接口类不需要方法的删除根据当前接口中方法名确定标签的 id 是否对应根据接口中方法参数确定 sql 中 #{参数名} 是否正确 insert标签 insert idinsert parameterTypecom.tarena.tp.luban.worker.po.Worker useGeneratedKeystrue keyColumnidkeyPropertyidmybatis可以通过 useGeneratedKeys属性 决定是否要补充参数的属性值 keyColumn就是读取数据库的字段 keyProperty补充到对象的属性 main模块启动 spring-boot-starter-web 底层web容器 默认tomcat tomcat容器里默认加载servlet容器会有servlet-api存在 main依赖分层的模块依赖中存在servlet-api会和main starter-web冲突
http://www.pierceye.com/news/658276/

相关文章:

  • 电脑做网站教学友情链接交易
  • 为什么选php语言做网站重庆网站优化seo公司
  • 仿站侵权吗字体设计图片
  • 王建设医生个人网站智能网站搭建
  • 博物馆网站做的好的山东企业站点seo
  • 网站做视频怎么赚钱的平面设计公司哪家好
  • 合作建设网站协议php 个人网站 源码
  • 广州外贸营销型网站手机网站如何推广
  • 市总工会网站建设经验材料湖州建设局投标网站
  • ftp网站备份网上北京网站制作公司
  • ps海报模板素材免费怎样给网站做关键词优化
  • 做网站套餐wordpress 显示excel
  • 免费网站搭建临西做网站报价
  • 网站搭建详细步骤app应用网站html5模板下载
  • 苏州网站制作工作室宜宾网站开发公司
  • 哪些网站使用vue做的自己做服务器和网站
  • 怎样查看网站备案号自己录入数据做问卷的网站
  • 怎么提高网站的百度收录网页设计师考试报名
  • 北京网站建设公司联系方式常德网站建设专业品牌
  • 福州网站设计哪家做的好男科医院网站开发策划
  • 网站建设公司swot分析室内设计者联盟官网
  • 深圳手机商城网站设计游戏网站seo怎么做
  • 网站上传 文件夹结构国内响应式网站
  • 做logo图标的网站自助建站系统网站建设开发
  • 韩国站群服务器网络推广公司网站
  • 网站公司设计公司设计上海展会2021门票
  • 做微网站的公司哪家好刷百度关键词排名优化
  • php网站建设一流程胶南网站建设多少钱
  • 网站开发证书网站推广应该怎么做?
  • 网站规划与网页设计案例网站建设php招聘