• 首页
  • 脚本说明
    • 脚本介绍
    • 第一个助码脚本程序
    • 常用类型哈希表
    • 常用类型哈希表集合
    • 常用类型字符串
    • 基本数字类型
    • 数据库操作
    • Excel操作
    • 模拟http请求
  • 通用基类
    • ZmHash
    • StringUtil
    • FlowDefine
    • FlowDefineLine
    • ZmHashList
    • FlowDefineStep
    • JobBase
    • IModelData
    • FrameController
    • FrameDao
    • FlowBase
    • ZmActiveRequest
    • ZmQueryConditionList
    • ZmQueryTable
    • ZmStr2StrHash
    • ZmReturnMsg
    • MainModel
    • ViewModelBase
    • ZmConfig
    • ZmListBase
    • ZmList
    • MapperBase
    • ZmServiceBase
    • ZmController
    • IZmServiceBase
    • ActionModelView
    • ZmPageData
    • ReturnMessage
    • ReturnData
    • SearchData
    • FrameFlow
  • 数据库操作
    • BaseProvider
    • ZmSqlParam
    • ZmSqlParamList
  • 工具函数
    • JsonHelper
    • HttpUtil
    • RandomUtil
    • VerificationCode
    • CryptUtil
    • ZmQRCode
    • SmsSenderHelper
    • ZmUtil
    • ExcelUtil
  • 首页
  • 脚本说明
    • 脚本介绍
    • 第一个助码脚本程序
    • 常用类型哈希表
    • 常用类型哈希表集合
    • 常用类型字符串
    • 基本数字类型
    • 数据库操作
    • Excel操作
    • 模拟http请求
  • 通用基类
    • ZmHash
    • StringUtil
    • FlowDefine
    • FlowDefineLine
    • ZmHashList
    • FlowDefineStep
    • JobBase
    • IModelData
    • FrameController
    • FrameDao
    • FlowBase
    • ZmActiveRequest
    • ZmQueryConditionList
    • ZmQueryTable
    • ZmStr2StrHash
    • ZmReturnMsg
    • MainModel
    • ViewModelBase
    • ZmConfig
    • ZmListBase
    • ZmList
    • MapperBase
    • ZmServiceBase
    • ZmController
    • IZmServiceBase
    • ActionModelView
    • ZmPageData
    • ReturnMessage
    • ReturnData
    • SearchData
    • FrameFlow
  • 数据库操作
    • BaseProvider
    • ZmSqlParam
    • ZmSqlParamList
  • 工具函数
    • JsonHelper
    • HttpUtil
    • RandomUtil
    • VerificationCode
    • CryptUtil
    • ZmQRCode
    • SmsSenderHelper
    • ZmUtil
    • ExcelUtil
数据库操作
说明 数据库操作,数据库操作助码支持两种,一种是使用实体,第二种是使用原生sql查询 使用实体方式 只要软件中建立了表实体,那么就自动会有实体的三层结构,主要使用 service,和 entity 需要导入相关包: import com.zhumadev.startzhuma.iservice.IDemoSingleTableService; import com.zhumadev.startzhuma.entity.DemoSingleTable; 注入service对象 @IServiceAutowired private IDemoSingleTableService demoSingleTableService; 示例中试用到的方法 createData 插入实体对象 modifyData 更新实体对象 selectByIdWithFill 根据主键查询实体对象 查询外会填充实体关联信息 selectListKeyEqValue 根据字段名称和字段值查询数据列表 deleteData 根据主键删除实体对象,添加删除消息 更多方法参考 ZmServiceBase 服务(Service)的基类的说明 示例 ZmScript //实体操作测试 public ZmHash TestEntity() { ZmHash log=new ZmHash(); ZmReturnMsg msg=new ZmReturnMsg(); DemoSingleTable data=new DemoSingleTable(); data.TableName = "实体测试"; data.TableNum = 5; //实体添加数据 this.demoSingleTableService.createData(data,msg); int newAddId=data.TableId; log.Add("添加了一条数据,数据id为:",newAddId); //查询刚刚添加的数据 DemoSingleTable selectdata=this.demoSingleTableService.selectByIdWithFill(newAddId,true,true); log.Add("查询刚刚添加的数据TableName",selectdata.TableName ); //修改数据名称为 实体测试修改 selectdata.TableName= "实体测试修改"; this.demoSingleTableService.modifyData(selectdata,msg); //重新查询 selectdata=this.demoSingleTableService.selectByIdWithFill(newAddId,true,true); log.Add("查询修改后的数据的数据TableName",selectdata.TableName ); List list = this.demoSingleTableService.selectListKeyEqValue("TableId",newAddId); log.Add("删除前数据条数",list.GetCount()); //删除刚刚添加的数据 this.demoSingleTableService.deleteData(newAddId,msg); list = this.demoSingleTableService.selectListKeyEqValue("TableId",newAddId); log.Add("删除后数据条数",list.GetCount()); return log; } 使用原生sql查询 弱类型方式 需要先找到数据库查询对象,在控制器、服务层、作业等等地方都可以通过下面语句找到数据库查询对象 BaseProvider curDb = base.GetCurDb(); 示例中试用到的方法 InsertIntIdentityByParamList 根据sql参数列表插入数据并返回自增列id整型,sql参数名称就是列(col)名称 UpdateByConditions 根据参数列表更新符合条件列表的数据 SelectHashWhere 根据传入表数据和where条件生成并执行sql语句,并返回hash结构 SelectHashListWhere 根据传入表数据和where条件生成并执行sql语句,并返回hashlist结构 Delete 删除符合条件列表的数据 更多方法参考 BaseProvider说明 本方式可以通过可视化码流/微流的方式生成 示例 ZmScript //数据库弱类型操作测试 public ZmHash TestDbProvide() { ZmHash log=new ZmHash(); BaseProvider curDb = base.GetCurDb(); ZmReturnMsg msg=new ZmReturnMsg(); ZmHash data=new ZmHash(); ZmSqlParamList editParamList=new ZmSqlParamList(); editParamList.AddStringParam("table_name", "弱类型测试",50); editParamList.AddIntParam("table_num", 5); //弱类型添加数据 int newAddId=curDb.InsertIntIdentityByParamList("demo_single_table",editParamList); log.Add("添加了一条数据,数据id为:",newAddId); //查询刚刚添加的数据 ZmHash selectdata= curDb.SelectHashWhere("demo_single_table", " table_id="+newAddId, "*"); log.Add("查询刚刚添加的数据TableName",selectdata.GetStringValue("table_name") ); //修改数据名称为 实体测试修改 ZmQueryConditionList queryConditions = new ZmQueryConditionList(); queryConditions.Add("table_id", "Equal", newAddId, false); editParamList=new ZmSqlParamList(); editParamList.AddStringParam("table_name", "弱类型测试修改",50); curDb.UpdateByConditions("demo_single_table", editParamList, queryConditions); //重新查询 selectdata= curDb.SelectHashWhere("demo_single_table", " table_id="+newAddId, "*"); log.Add("查询修改后的数据的数据TableName",selectdata.GetStringValue("table_name") ); ZmHashList list = curDb.SelectHashListWhere("demo_single_table", " table_id="+newAddId, "*"); log.Add("删除前数据条数",list.GetCount()); //删除刚刚添加的数据 curDb.Delete("demo_single_table",queryConditions); list = curDb.SelectHashListWhere("demo_single_table", " table_id="+newAddId, "*"); log.Add("删除后数据条数",list.GetCount()); return log; } 使用存储过程示例 ZmScript BaseProvider curDb = base.GetCurDb(); if(curDb.isSupportProcedure()){ //判断当前数据库提供者是否支持存储过程 ZmSqlParamList paramlist = new ZmSqlParamList(); paramlist.AddIntParam("id", 0); ZmSqlParam countParam = paramlist.AddIntParam("count", 2); //inout 参数的用法 countParam.setInOutTypeInOut(); ZmSqlParam ocParam = paramlist.AddIntParam("oc", 0); // out参数用法 ocParam.setInOutTypeOut(); //调用存储过程并返回ZmHashList ZmHashList hashlist = curDb.ExecProcHashListParams("my_test_proc", paramlist); //参数返回以后的类型转换 int newCount = ZmUtil.toInt(countParam.getParamValue()); int newoc =ZmUtil.toInt(ocParam.getParamValue()); } else{ //对于不支持存储过程的数据处理 } 示例视频包含的内容 使用实体方式的操作数据库 使用数据库原生sql方式的操作
上一篇:基本数字类型
下一篇:Excel操作
联系电话:17321408562 上海洽发信息科技有限公司 张经理 2022 上海洽发 沪ICP备16029095号-6