用到的技术 oracle数据库+mybatis+spring+js+angularjs+jquery+html

在angularjs框架下,oracle,ka,service,controller,HTML五层数据传输。ng-controller对所属HTML页面的控制,index.html内套所含页面,index引入js程序和公共HTML,app.js控制跳转路由。

oracle数据库部分:

存储过程:

1.提前编译好的,运行速度快(密集访问才能体现)

2.把所有对数据库的操作全融合进存储过程里,前台只要建立一条通信通道就可以了

3.公司有自己的书写规范,前五个固定参数和两个游标rc1\rc2

SQL语句:

一些技巧,merge into,字符串操作,COLUMN_VALUE,database link导入数据,转义字符等等。

mybatis:

三种方式

第一种最常用:

commandcontroller.js→commandservice.js→opp-command-service.xml→opp-command-bex.xml→mapper-command.xml→oracle数据库

commandcontroller.js:

CommandService.getfenzuygbh($sessionStorage.cmdfz[idx].FZBH).then(function(data){$scope.ygbhs = data.answers[0];
});

commandservice.js:

service.getfenzuygbh = function(fzbh) {var params = {service: '18001414',v_fzbh: fzbh}return myHttp.post({req: params);
}

opp-command-service.xml:

<service service_code="18001414" service_name="获取分组员工编号"><businesses><service_business business_code="getfenzuygbh" business_method="" serial_no="1" business_name="获取分组员工编号" business_type="1" /></businesses>
</service>

opp-command-bex.xml:

<bex bex_code="getfenzuygbh" bex_type="4" page_mode="0" bex_cate="1" attr1="getfenzuygbh"></bex>

mapper-command.xml:

如果是普通SQL:

<select id="getfenzuygbh" parameterType="hashmap" resultType="java.util.HashMap">select * from t_ygzcy where fzbh = ${v_fzbh}
</select>

如果是存储过程:

<select id="getfenzuygbh" statementType="CALLABLE"  parameterType="hashmap" resultType="java.util.HashMap"><![CDATA[ call up_mid_10000001(${v_ygbh},0,NULL,'',${v_jgid},-1,#{RC1,mode=OUT,jdbcType=CURSOR,javaType=java.sql.ResultSet,resultMap=ProcResultMap},#{RC2,mode=OUT,jdbcType=CURSOR,javaType=java.sql.ResultSet,resultMap=ProcResultMap}) ]]>
</select>

第二种:
commandcontroller.js→commandservice.js→opp-command-service.xml→command-atom.xml→CommandAtom.java→opp-command-bex.xml→mapper-command.xml→oracle数据库

使用java代码编辑逻辑部分,代替存储过程。

commandcontroller.js,commandservice.js与上面写法一样。
opp-command-service.xml;

<service service_code="18001405" service_name="saveCommand新建指令"><businesses><service_business business_code="saveCommandAtom" business_method="" serial_no="1" business_name="saveCommandAtom" business_type="3" /></businesses>
</service>

command-atom.xml:

<atom atom_code="saveCommandAtom" atom_name="saveCommandAtom" atom_class="com.sz.business.atom.customer.CommandAtom" atom_method="saveCommand" attr1="" attr2=""/>

CommandAtom.java:

//逻辑代码就不写了,只写调用代码
int iRetCode = FrameDao.doBexCall("saveCommand", params, result);
iRetCode = FrameDao.doBexCall("saveCmdJsr", map, result);
iRetCode = FrameDao.doBexCall("saveCmdFj", map, result);

opp-command-bex.xml,mapper-command.xml与上面一样:

<bex bex_code="saveCommand" bex_type="4" page_mode="0" bex_cate="1" attr1="saveCommand"></bex>
<bex bex_code="saveCmdJsr" bex_type="4" page_mode="0" bex_cate="1" attr1="saveCmdJsr"></bex>
<bex bex_code="saveCmdFj" bex_type="4" page_mode="0" bex_cate="1" attr1="saveCmdFj"></bex>
<insert id="saveCommand" parameterType="hashmap">insert into .......
</insert>
<insert id="saveCmdJsr" parameterType="hashmap">insert into .......
</insert>
<insert id="saveCmdFj" parameterType="hashmap">insert into ....... </insert>

js:

angularjs:

jquery:

进公司以来的经历

Lucene

CRM

东兴

平安移动app

银河移动crm

前端熟悉过程

功能逻辑实现

数据传递过程

数据库部分书写

我的未来期望,对框架很好奇,想深入的去了解一个产品从无到有的全过程,目前仅仅是在表面用

贴吧的每日学习记录,博客的各种技术记录。自己无法解决的勤于去问

和别人相比,我的努力还远远不够

移动CRMapp项目总结相关推荐

  1. 在k8s中使用gradle构建java web项目镜像Dockerfile

    在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...

  2. Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器

    Dockerfile 将springboot项目jar包打成镜像,并将yml配置文件外挂. # 以一个镜像为基础,在其上进行定制.就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜 ...

  3. SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos

    SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...

  4. Gradle 将项目publish到Nexus,Kotlin将项目发布到nexus,springboot项目发布到maven仓库

    示例见:Gitte 公仓设置 在项目中添加maven-publish的插件 plugins {kotlin("jvm") version "1.3.72"kot ...

  5. springboot项目使用junit4进行单元测试,maven项目使用junit4进行单元测试

    首先,maven项目中引入依赖 <dependency><groupId>junit</groupId><artifactId>junit</ar ...

  6. IDEA设置单个文件、单个包、单个项目的编码格式

    IDEA设置单个文件.单个包.单个项目的编码格式 File-> Settings-> File Enclodings 选择编码格式,确定即可. 注意:此处的编码格式设定以后,该包已经存在的 ...

  7. spring boot项目 中止运行 最常用的几种方法

    spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...

  8. 两步完成项目定时启动,java项目定时启动

    两步完成项目定时设置: 在需要定时启动或运行的方法上面加上注解@Scheduled //当天只跑一次 @Scheduled(cron = "0 40 21 * * ?") 在启动类 ...

  9. Myeclipse中项目没有代码错误提示,jsp页面无编译迹象?如何解决

    在使用Myeclipse开发项目时,发现jsp页面中嵌入的java代码没有编译的迹象,错误的get方法没有报错,没有报错信息我们如何知道我们开发的内容是正确的呢? 接下来就演示一下如何解决

最新文章

  1. as [Frame]元标签
  2. Docker下使用jstat查看jvm的GC信息
  3. JDBC--Statement,PreparedStatement,CallableStatement的区别
  4. Node中require方法的简单实现
  5. Java报表工具FineReport常见的数据集报错错误代码和解释
  6. 聊城大学计算机学院韩玉艳,人工蜂群优化及其在资源管理中的应用.doc
  7. 无法删除所有指定的值_AutoCAD所有系统变量大全
  8. 12如何隐藏dock栏_ iOS 13 隐藏 Dock栏,一张神奇壁纸就可以
  9. GARFIELD@01-25-2005
  10. 检测到无效的异常处理程序例程。_异常控制流(1):异常概述和基本类型
  11. CF991D Bishwock
  12. 2019java后端面试集合篇最值得收藏的(一)
  13. 在jsp代码添加背景图片
  14. java中使用activiti(工作流)
  15. 常见元件贴片焊接不良的解决方法
  16. 聚焦数字经济新基建,复杂美再获认可
  17. SD/eMMC初始化流程、读写流程(dwc mshc)
  18. 【开发教程14】AI语音人脸识别(会议记录仪/人脸打卡机)-AI人脸系统架构
  19. 小知识------SATA
  20. ThinkPad各型号Win7系统恢复光盘镜像下载【官方下载】绝对原版

热门文章

  1. js全部替换与保留指定字条的正则表达式应用
  2. 线程池中阻塞队列的作用?为什么是先添加列队而不是先创建最大线程?
  3. 微信退款接口(你们遇到的坑)
  4. LeetCode101——对称二叉树——c++版本实现
  5. 整活--我是如何用OpenCV做了数字华容道游戏(附源码)
  6. python作用域,变量作用域
  7. **[UE4技巧]** Blender 和 UE4 的建模动画无缝对接(上) — 再也不用满大街找资源啦!
  8. 小王子PPT模板9套,是专门为幼儿园儿童打造的PPT模板
  9. Unity中的Vector2的使用方法
  10. 通俗易懂:图解10大CNN网络架构