移动CRMapp项目总结

用到的技术 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

前端熟悉过程

功能逻辑实现

数据传递过程

数据库部分书写

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

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

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





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值