apicloud数据交互mcm模块

    混合式开发app,apicloud能快速开发一个中小型甚至大型,功能复杂的app。界面使用html5,js搭建,服务器后端代码减少,调用api云端接口即可。今天浅谈apicloud数据交互模块mcm的简单使用。官方文档个人感觉写得真的很烂,演示的事例太少,刚入门的都不知道怎么使用一些api。并且社区和网上关于这方面的资料比较少,所以自己也是摸石头过河找到点经验和大家分享。

     1.创建应用,添加mcm模块

      

     

  

    2.建立数据库的表

 

    3.数据操作之model,query对象

      model对象实现操作,query对象是实现类似创建sql语句的作用。

     在使用model对象之前,封装一个自定义函数用于初始化改model函数,才能够进行使用。

     

               //初始化****function*******
                function initApiCloud(){
                
                 var model= api.require('model');//model对象
                  model.config({
                      appKey: '自己的appKey',
                       host: 'https://d.apicloud.com'//固定地址
                  });
                  
                  return model;
                }//end

      数据插入: model.insert();


  

 //创建用户---------------
              $("#create").click(function(){
             
                  var model=initApiCloud();//初始化
                  var userName=$('#userName1').val();//获取名字
                  var passWord=$('#passWord').val();//获取密码

                  var jsonModel='{"user_name":'+userName+',"pass_word":'+passWord+'}';

                  model.insert({
                      class: 'home_user',//数据库的表名
                      value: jsonModel     //传入json数据对象
                  }, function (ret, err) {                     //ret为成功返回的插入的数据的对象     err为错误对象

                      var $tbody=$("#tableShow2");  

                      if( $("#tableShow2 tr:first")) {
                          $tbody.empty();
                          show($tbody);
                      }
                  });

              });//创建事件结束--------------

      

       数据查询:model.findAll();得结合query对象使用

       

                 function show(){

                  var model=initApiCloud();//初始化
                  var query= api.require('query');//查询对象

                  query.createQuery(function(ret, err) { //   ret  回调,类似数据库连接对象
                      if (ret && ret.qid) {
                          var queryId = ret.qid; //类似数据库连接池的连接对象 id

                          query.whereEqual({   //   where 语句
                              qid: queryId,
                              column: "user_name",  //字段名
                              value: "test"// 值
                          });

                          query.limit({   // limit语句
                              qid:queryId,
                              value:"20"
                          });

                          model.findAll({   //执行查询操作
                              class: "home_user",
                              qid: queryId
                          }, function(ret, err){  //coding  }

           数据的修改:

 

                  var name=$("#userName3").val();//用户名
                  var newValue=$("#value").val();//新密码

                  var query= api.require('query');//查询对象

                  var model=initApiCloud();//操作对象
                         //创建查询
                  query.createQuery(function (ret, err) {

                       if(ret && ret.qid){

                         var queryId=ret.qid;  //类似数据库连接池session的id
                           query.whereEqual({     //where语句
                               qid: queryId,
                               column: 'user_name',
                               value: name
                           });

                           model.findAll({   //查询操作
                               class: 'home_user',
                               qid: queryId
                           }, function (ret, err) {

                               var getId= ret[0].id;//返回的记录的id
                               

                               model.updateById({
                                   class: 'home_user',
                                   id:getId,
                                   value: {'pass_word':newValue}   //要更改的数据,json形式
                               }, function (ret, err) {
			              //coding...........
			       }

               数据删除:


               $("#delete").click(function(){
              
                   var model=initApiCloud();//model对象

                    var query= api.require('query');//查询query对象

                  query.createQuery(function (ret, err) {

                      if(ret && ret.qid){

                          var queryId=ret.qid;
                          var name=$("#userName2").val();

                          query.whereEqual({   //where语句
                              qid: queryId,
                              column: 'user_name',
                              value: name
                          });

                       
                          model.findAll({    //查询  返回id  
                              class: 'home_user',
                              qid: queryId
                          }, function (ret, err) {

                              if(ret){

                            
                                 model.deleteById({  //通过id(数据库中记录的id,不要和ret.qid这个id混淆,ret.qid那个是类似数据库连接的id)
                              class: 'home_user',
                              id: ret[0].id
                          }, function (ret, err) {
			        //coding.......
			  }

          4.其他不懂的问题,上api调试,测试接口和查询相应的mcm,jquery等形式实现数据交互

     

          

          


  

    


  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GEEK JUMP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值