杰信项目第三天知识点(工作表模板+动态生成目录+动态生成重名文件+购销合同增删改查)
//获取模板文件,路径为存放模板文件的路径
HSSFWorkbook wb = new HSSFWorkbook( new FileInputStream(rootpath+"/make/xlsprint/tFACTORY.xls"));
//获得服务器根目录String rootpath = ServletActionContext.getRequest().getRealPath("/");
String dir = rootpath+"/web/tmp/"+ UtilFuns.sysDate() + "/";
static public String sysDate(){String s = "";java.util.Date date=new java.util.Date();SimpleDateFormat dformat=new SimpleDateFormat("yyyy-MM-dd");s = dformat.format(date);return s;}
//new一个路径为dir的文件对象File file = new File(dir);if(!file.exists()){ //不存在时,才创建目录file.mkdirs(); //创建多级目录,只要前面的目录不存在,自动创建。}
String xlsFile = fu.newFile(dir, "factory.xls");
//目录下已经有同名文件,则文件重命名,增加文件序号,工具类方法只返回文件名public String newFile(String sPath, String sFile){String newFileName = new String();String withoutExt = new String();File curFile = new File(sPath + "\\" + sFile);if (curFile.exists()) {for(int counter = 1; curFile.exists(); counter++){withoutExt = this.getNameWithoutExtension(curFile.getName());if(withoutExt.endsWith(counter-1 + ")")){withoutExt = withoutExt.substring(0,withoutExt.indexOf("(")); //idea}newFileName = withoutExt + "(" + counter + ")" + "." + getFileExt(curFile.getName());curFile = new File(sPath + "\\" + newFileName);}}else{newFileName = curFile.getName();}return newFileName;}
FileOutputStream fOut = new FileOutputStream(new File(dir + xlsFile));
//将之前第281行创建的路径和第287行返回的文件名组成了完整的文件路径
public void export() throws IOException{//创建一个老师提供的工具类对象 FileUtil fu = new FileUtil();//获得服务器根目录String rootpath = ServletActionContext.getRequest().getRealPath("/");//先用UtilFuns类中的sysDate方法获取返回的当前日期值,再在根路径下的web下创建临时文件夹tmp,这个dir表示的就是D:\apache-tomcat-7.0.40\webapps\ROOT\/web/tmp/2013-12-25/String dir = rootpath+"/web/tmp/"+ UtilFuns.sysDate() + "/";//new一个路径为dir的文件对象File file = new File(dir);if(!file.exists()){ //不存在时,才创建目录file.mkdirs(); //创建多级目录,只要前面的目录不存在,自动创建。}String xlsFile = fu.newFile(dir, "factory.xls"); //目录下已经有同名文件,则文件重命名,增加文件序号,工具类方法只返回文件名//获取模板文件,路径为存放模板文件的路径HSSFWorkbook wb = new HSSFWorkbook( new FileInputStream(rootpath+"/make/xlsprint/tFACTORY.xls")); //获取第一个工作表HSSFSheet sheet = wb.getSheetAt(0);HSSFRow nRow = null; //创建行对象 值从0开始HSSFCell nCell = null; //创建单元格对象 值从0开始int rowNo = 0; //行号short colNo = 0; //列号rowNo++;rowNo++;FileOutputStream fOut = new FileOutputStream(new File(dir + xlsFile));//将之前第281行创建的路径和第287行返回的文件名组成了完整的文件路径FactoryDAO oDao = (FactoryDAO) this.getDao("daoFactory");List<Factory> dataList = oDao.find("from Factory o where o.state=1");for (Factory f : dataList) {//每次完成一次循环就把行号下移一次nRow = sheet.createRow(rowNo++);nCell = nRow.createCell(colNo++);nCell.setCellValue(f.getFullName());/*** 这里是将文字样式与内容绑定*/nCell.setCellStyle(this.text(wb));nCell = nRow.createCell(colNo++);nCell.setCellValue(f.getFactoryName());nCell.setCellStyle(this.text(wb));nCell = nRow.createCell(colNo++);nCell.setCellValue(f.getContractor());nCell.setCellStyle(this.text(wb));nCell = nRow.createCell(colNo++);nCell.setCellValue(f.getPhone());nCell.setCellStyle(this.text(wb));nCell = nRow.createCell(colNo++);nCell.setCellValue(f.getMobile());nCell.setCellStyle(this.text(wb));nCell = nRow.createCell(colNo++);nCell.setCellValue(f.getInspector());nCell.setCellStyle(this.text(wb));nCell = nRow.createCell(colNo++);nCell.setCellValue(f.getCnote());nCell.setCellStyle(this.text(wb));//每次循环结束将列号重新置0,不然会超出excel范围colNo=0;}wb.write(fOut);//将工作簿对象写入输出流fOut.flush();//刷新缓冲区fOut.close();//关闭输出流}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="cn.itcast.entity"><class name="Contract" table="CONTRACT_C"><id name="id" type="string" column="CONTRACT_ID"><generator class="uuid"></generator></id><property name="offeror" column="OFFEROR" type="string" /><property name="contractNo" column="CONTRACT_NO" type="string" /><property name="signingDate" column="SIGNING_DATE" type="timestamp"/><property name="inputBy" column="INPUT_BY" type="string" /><property name="checkBy" column="CHECK_BY" type="string" /><property name="inspector" column="INSPECTOR" type="string" /><property name="totalAmount" column="TOTAL_AMOUNT" type="big_decimal" /><property name="crequest" column="REQUEST" type="string" /><property name="customName" column="CUSTOM_NAME" type="string"/><property name="shipTime" column="SHIP_TIME" type="timestamp"/><property name="importNum" column="IMPORT_NUM" type="integer" /><property name="deliveryPeriod" column="DELIVERY_PERIOD" type="timestamp"/><property name="remark" column="REMARK" type="string" /><property name="tradeTerms" column="TRADE_TERMS" type="string" /><property name="printStyle" column="PRINT_STYLE" type="string" /><property name="oldState" column="OLD_STATE" type="integer"/><property name="state" column="STATE" type="integer"/><property name="outState" column="OUT_STATE" type="integer"/><property name="createBy" type="string" column="CREATE_BY"/><property name="createDept" type="string" column="CREATE_DEPT"/><property name="createTime" type="timestamp" column="CREATE_TIME"/><!-- Associations --><set name="contractProducts" inverse="true" cascade="all" lazy="false" order-by="ORDER_NO"><key><column name="CONTRACT_ID" /></key><one-to-many class="cn.itcast.entity.ContractProduct" /></set></class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="cn.itcast.entity"><class name="ContractProduct" table="CONTRACT_PRODUCT_C"><id name="id" type="string" column="CONTRACT_PRODUCT_ID" length="40"><generator class="uuid" /></id><property name="productName" column="PRODUCT_NAME" type="string" /><property name="productNo" column="PRODUCT_NO" type="string" /><property name="productImage" column="PRODUCT_IMAGE" type="string" /><property name="productDesc" column="PRODUCT_DESC" type="string" /><property name="loadingRate" column="LOADING_RATE" type="string" /><property name="packingUnit" column="PACKING_UNIT" type="string" /><property name="cnumber" column="CNUMBER" type="integer" /><property name="outNumber" column="OUT_NUMBER" type="integer" /><property name="finished" type="boolean" column="FINISHED"/><property name="grossWeight" column="GROSS_WEIGHT" type="big_decimal" /><property name="netWeight" column="NET_WEIGHT" type="big_decimal" /><property name="sizeLength" column="SIZE_LENGTH" type="big_decimal" /><property name="sizeWidth" column="SIZE_WIDTH" type="big_decimal" /><property name="sizeHeight" column="SIZE_HEIGHT" type="big_decimal" /><property name="productRequest" column="PRODUCT_REQUEST" type="string" /><property name="price" column="PRICE" type="big_decimal" /><property name="amount" column="AMOUNT" type="big_decimal" /><property name="cunit" column="CUNIT" type="string" /><property name="boxNum" column="BOX_NUM" type="integer" /><property name="exPrice" column="EX_PRICE" type="big_decimal" /><property name="exUnit" column="EX_UNIT" type="string" /><property name="noTax" column="NO_TAX" type="big_decimal" /><property name="tax" column="TAX" type="big_decimal" /><property name="costPrice" column="COST_PRICE" type="big_decimal" /><property name="costTax" column="COST_TAX" type="big_decimal" /><property name="orderNo" column="ORDER_NO" type="integer" /><property name="accessories" type="boolean" column="ACCESSORIES"/><!-- Associations --><many-to-one name="factory" class="cn.itcast.entity.Factory" lazy="false"><column name="FACTORY_ID" length="40" /></many-to-one><many-to-one name="contract" class="cn.itcast.entity.Contract" lazy="false"><column name="CONTRACT_ID" length="40" /></many-to-one><set name="extCproducts" inverse="true" cascade="all" lazy="false" order-by="ORDER_NO"><key><column name="CONTRACT_PRODUCT_ID" /></key><one-to-many class="cn.itcast.entity.ExtCproduct" /></set> </class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="cn.itcast.entity"><class name="ExtCproduct" table="EXT_CPRODUCT_C"><id name="id" type="string" column="EXT_CPRODUCT_ID" length="40"><generator class="uuid" /></id><property name="ctype" column="CTYPE" type="integer" /><property name="typeName" type="string" formula="(select c.NAME from SYS_CODE_B c where c.ORDER_NO=CTYPE and c.PARENT_ID='0104')" insert="false" update="false" /><property name="productName" column="PRODUCT_NAME" type="string" /><property name="productNo" column="PRODUCT_NO" type="string" /><property name="productImage" column="PRODUCT_IMAGE" type="string" /><property name="productDesc" column="PRODUCT_DESC" type="string" /><property name="loadingRate" column="LOADING_RATE" type="string" /><property name="packingUnit" column="PACKING_UNIT" type="string" /><property name="cnumber" column="CNUMBER" type="integer" /><property name="outNumber" column="OUT_NUMBER" type="integer" /><property name="finished" type="boolean" column="FINISHED"/><property name="grossWeight" column="GROSS_WEIGHT" type="big_decimal" /><property name="netWeight" column="NET_WEIGHT" type="big_decimal" /><property name="sizeLength" column="SIZE_LENGTH" type="big_decimal" /><property name="sizeWidth" column="SIZE_WIDTH" type="big_decimal" /><property name="sizeHeight" column="SIZE_HEIGHT" type="big_decimal" /><property name="productRequest" column="PRODUCT_REQUEST" type="string" /><property name="price" column="PRICE" type="big_decimal" /><property name="amount" column="AMOUNT" type="big_decimal" /><property name="cunit" column="CUNIT" type="string" /><property name="boxNum" column="BOX_NUM" type="integer" /><property name="exPrice" column="EX_PRICE" type="big_decimal" /><property name="exUnit" column="EX_UNIT" type="string" /><property name="noTax" column="NO_TAX" type="big_decimal" /><property name="tax" column="TAX" type="big_decimal" /><property name="costPrice" column="COST_PRICE" type="big_decimal" /><property name="costTax" column="COST_TAX" type="big_decimal" /><property name="orderNo" column="ORDER_NO" type="integer" /><property name="accessories" type="boolean" column="ACCESSORIES"/><!-- Associations --><many-to-one name="factory" class="cn.itcast.entity.Factory" lazy="false"><column name="FACTORY_ID" length="40" /></many-to-one><many-to-one name="contractProduct" class="cn.itcast.entity.ContractProduct" lazy="false"><column name="CONTRACT_PRODUCT_ID" length="40" /></many-to-one></class>
</hibernate-mapping>
//保存 新增修改public String save(){ContractDAO oDao = (ContractDAO) this.getDao("daoContract");//初始化if(UtilFuns.isEmpty(model.getId())){model.setState(0); //0草稿1已上报}oDao.saveOrUpdate(model);return list(); //转向列表}
<li id="view"><a href="#" οnclick="formSubmit('/contract/contractAction_toview','_self');this.blur();">查看</a></li>
<li id="new"><a href="#" οnclick="formSubmit('/contract/contractAction_tocreate','_self');this.blur();">新建</a></li>
<li id="update"><a href="#" οnclick="formSubmit('/contract/contractAction_toupdate','_self');this.blur();">修改</a></li>
<li id="delete"><a href="#" οnclick="formSubmit('/contract/contractAction_delete','_self');this.blur();">删除</a></li>
改表格内容:
<table id="ec_table" border="0" cellspacing="0" cellpadding="0" class="tableRegion" width="98%" ><thead><tr><td class="tableHeader"><input type="checkbox" name="selid" οnclick="checkAll('id',this)"/></td><td class="tableHeader">序号</td><td class="tableHeader">客户名称</td><td class="tableHeader">收购方</td><td class="tableHeader">合同号</td><td class="tableHeader">制单人</td><td class="tableHeader">审单人</td><td class="tableHeader">验货员</td><td class="tableHeader">交期</td><td class="tableHeader">船期</td><td class="tableHeader">签单日期</td><td class="tableHeader">总金额</td><td class="tableHeader">状态</td></tr></thead><tbody class="tableBody" ><s:iterator value="#dataList" var="dl" status="lineNo"><tr class="odd" οnmοuseοver="this.className='highlight'" οnmοuseοut="this.className='odd'" ><!--这是批处理的选中框--><td><input type="checkbox" name="id" value="${id}"/></td><td><s:property value="#lineNo.index+1"/></td><td>${customName}</td><td>${offeror}</td><td><a href="contractAction_toview?id=${id}">${contractNo}</a></td><td>${inputBy}</td><td>${checkBy}</td><td>${inspector}</td><!--这是将时间格式显示为如2013-12-13的格式,取消精确到时分秒--><td><s:date name="deliveryPeriod" format="yyyy-MM-dd" /></td><td><s:date name="shipTime" format="yyyy-MM-dd" /></td><td><s:date name="signingDate" format="yyyy-MM-dd" /></td><td>${totalAmount}</td><td><!--这是做一个判断,如果页面从数据库查询的状态是1,就是已上报,如果是0就是草稿--><s:if test="state==1">已上报</s:if><s:if test="state==0">草稿</s:if></td></tr></s:iterator></tbody></table>
<table class="commonTable" cellspacing="1"><tr><td class="columnTitle">打印版式:</td><td class="tableContentAuto"><!--这是一个单选框,可以选择是想在一个页面显示两个货物还是一个货物,因为客户有需求,同一个厂家的合同上最多只能显示两个货物,最少一个--><input type="radio" name="printStyle" value="1" class="input"/>一款<input type="radio" name="printStyle" value="2" checked="checked" class="input"/>两款</td></tr> <tr><td class="columnTitle">客户名称:</td><td class="tableContent"><input type="text" name="customName"/></td><td class="columnTitle">收购方:</td><td class="tableContent"><input type="text" name="offeror"/></td></tr><tr><td class="columnTitle">合同号:</td><td class="tableContent"><input type="text" name="contractNo"/></td><td class="columnTitle">签单日期:</td><td class="tableContent"><!--这里用到了一个用js写的日期插件,格式如2013-12-13,并且只读,点击出发事件--><input type="text" style="width:90px;" name="signingDate" value="" readonlyοnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td></tr><tr><td class="columnTitle">制单人:</td><td class="tableContent"><input type="text" name="inputBy"/></td><td class="columnTitle">审单人:</td><td class="tableContent"><input type="text" name="checkBy"/></td></tr> <tr><td class="columnTitle">验货员:</td><td class="tableContent"><input type="text" name="inspector"/></td><td class="columnTitle">总金额:</td><td class="tableContent"><input type="text" name="totalAmount"/></td></tr><tr><td class="columnTitle">船期:</td><td class="tableContent"><!--这里用到了一个用js写的日期插件,格式如2013-12-13,并且只读,点击出发事件--><input type="text" style="width:90px;" name="shipTime" value="" readonlyοnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td> <td class="columnTitle">重要程度:</td><td class="tableContentAuto"><!--这里也是一个单选框,用来选择重要程度,与业务需求相关--><input type="radio" name="importNum" value="1" class="input"/>★<input type="radio" name="importNum" value="2" class="input"/>★★<input type="radio" name="importNum" value="3" checked="checked" class="input"/>★★★</td></tr> <tr><td class="columnTitle">交货期限:</td><td class="tableContent"><!--这里用到了一个用js写的日期插件,格式如2013-12-13,并且只读,点击出发事件--><input type="text" style="width:90px;" name="deliveryPeriod" value="" readonlyοnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td> <td class="columnTitle">贸易条款:</td><td class="tableContent"><input type="text" name="tradeTerms"/></td></tr> <tr><td class="columnTitle">要求:</td><td class="tableContentAuto" colspan="3"><textarea name="crequest" style="height:100px;"></textarea></td></tr> </table>
<table class="commonTable" cellspacing="1"><tr><td class="columnTitle">打印版式:</td><td class="tableContentAuto"><!--获取数据库中的值,如果为1,则value=1的变为选中状态--><input type="radio" name="printStyle" value="1" <s:if test="printStyle==1"> checked="checked"</s:if> class="input"/>一款<input type="radio" name="printStyle" value="2" <s:if test="printStyle==2"> checked="checked"</s:if> class="input"/>两款</td></tr> <tr><td class="columnTitle">客户名称:</td><td class="tableContent"><input type="text" name="customName" value="${customName}"/></td><td class="columnTitle">收购方:</td><td class="tableContent"><input type="text" name="offeror" value="${offeror}"/></td></tr><tr><td class="columnTitle">合同号:</td><td class="tableContent"><input type="text" name="contractNo" value="${contractNo}"/></td><td class="columnTitle">签单日期:</td><td class="tableContent"><!--日期则将数据库查出来的日期格式化成如2013-12-13,然后绑定日期的js方法,单击触发--><input type="text" style="width:90px;" name="signingDate" value="<s:date name="signingDate" format="yyyy-MM-dd"/>" readonlyοnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td></tr><tr><td class="columnTitle">制单人:</td><td class="tableContent"><input type="text" name="inputBy" value="${inputBy}"/></td><td class="columnTitle">审单人:</td><td class="tableContent"><input type="text" name="checkBy" value="${checkBy}"/></td></tr> <tr><td class="columnTitle">验货员:</td><td class="tableContent"><input type="text" name="inspector" value="${inspector}"/></td><td class="columnTitle">总金额:</td><td class="tableContent"><input type="text" name="totalAmount" value="${totalAmount}"/></td></tr><tr><td class="columnTitle">船期:</td><td class="tableContent"><!--日期则将数据库查出来的日期格式化成如2013-12-13,然后绑定日期的js方法,单击触发--><input type="text" style="width:90px;" name="shipTime" value="<s:date name="shipTime" format="yyyy-MM-dd"/>" readonlyοnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td> <td class="columnTitle">重要程度:</td><td class="tableContentAuto"><!--获取数据库中的值,如果为1,则value=1的变为选中状态--><input type="radio" name="importNum" value="1" class="input" <s:if test="importNum==1"> checked="checked"</s:if>/>★<input type="radio" name="importNum" value="2" class="input" <s:if test="importNum==2"> checked="checked"</s:if>/>★★<input type="radio" name="importNum" value="3" class="input" <s:if test="importNum==3"> checked="checked"</s:if>/>★★★</td></tr> <tr><td class="columnTitle">交货期限:</td><td class="tableContent"><!--日期则将数据库查出来的日期格式化成如2013-12-13,然后绑定日期的js方法,单击触发--><input type="text" style="width:90px;" name="deliveryPeriod" value="<s:date name="deliveryPeriod" format="yyyy-MM-dd"/>" readonlyοnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td> <td class="columnTitle">贸易条款:</td><td class="tableContent"><input type="text" name="tradeTerms" value="${tradeTerms}"/></td></tr> <tr><td class="columnTitle">要求:</td><td class="tableContentAuto" colspan="3"><textarea name="crequest" style="height:100px;">${crequest}</textarea></td></tr> </table>
<table class="commonTable" cellspacing="1"><tr><td class="columnTitle">客户名称:</td><td class="tableContent">${customName}</td><td class="columnTitle">收购方:</td><td class="tableContent">${offeror}</td></tr><tr><td class="columnTitle">合同号:</td><td class="tableContent">${contractNo}</td><td class="columnTitle">签单日期:</td><!--由于只是查看,只做日期的格式化,无js事件--><td class="tableContent"><s:date name="signingDate" format="yyyy-MM-dd"/></td></tr><tr><td class="columnTitle">制单人:</td><td class="tableContent">${inputBy}</td><td class="columnTitle">审单人:</td><td class="tableContent">${checkBy}</td></tr> <tr><td class="columnTitle">验货员:</td><td class="tableContent">${inspector}</td><td class="columnTitle">总金额:</td><td class="tableContent">${totalAmount}</td></tr><tr><td class="columnTitle">船期:</td><!--由于只是查看,只做日期的格式化,无js事件--><td class="tableContent"><s:date name="shipTime" format="yyyy-MM-dd"/></td> <td class="columnTitle">重要程度:</td><td class="tableContentAuto"><!--从服务器获取import的数据,等于几就显示几颗星星--><s:if test="importNum==1">★</s:if><s:if test="importNum==2">★★</s:if><s:if test="importNum==3">★★★</s:if></td></tr> <tr><td class="columnTitle">交货期限:</td><!--由于只是查看,只做日期的格式化,无js事件--><td class="tableContent"><s:date name="deliveryPeriod" format="yyyy-MM-dd"/></td> <td class="columnTitle">贸易条款:</td><td class="tableContent">${tradeTerms}</td></tr> <tr><td class="columnTitle">要求:</td><td class="tableContentAuto" colspan="3"><pre>${crequest}</pre></td></tr> </table>
杰信项目第三天知识点(工作表模板+动态生成目录+动态生成重名文件+购销合同增删改查)相关推荐
- SpringBoot+MyBatisPlus+Vue 前后端分离项目快速搭建【后端篇】【快速生成后端代码、封装结果集、增删改查、模糊查找】【毕设基础框架】
前后端分离项目快速搭建[后端篇] 数据库准备 后端搭建 1.快速创建个SpringBoot项目 2.引入依赖 3.编写代码快速生成代码 4.运行代码生成器生成代码 5.编写application.pr ...
- SpringBoot+MyBatisPlus+Vue 前后端分离项目快速搭建【前端篇】【快速生成后端代码、封装结果集、增删改查、模糊查找】【毕设基础框架】
前后端分离项目快速搭建[前端篇] 后端篇 前端篇 创建vue项目 安装所需工具 开始编码 1.在根目录下添加vue.config.js文件 2.编写main.js 3.编写App.vue 4.编写ax ...
- 商城项目16_es简介、详解倒排索引、安装es以及kibana、检索es基本信息、增删改查文档
文章目录 ①. es - 背景.概述.功能.场景 ②. 核心概念 - 索引.类型.文档.映射 ③. es - 详解倒排索引 ④. 安装elasticSearch.kibana 7.4.2 ⑤. 索引操 ...
- 大数据之-Hadoop之HDFS_NameNode和Secondary NameNode工作机制_通过文件的增删改查说明---大数据之hadoop工作笔记0070
然后我们再来说一下,hadoop的集群中的namenode节点的工作原理. 1.我们先来大体的了解一下,如果有客户端要来上传文件,这个过程,会先访问namenode,给namenode节点发送请求 2 ...
- Java-GUI编程实战之管理系统 Day3【学生管理系统GUI设计、学生管理系统增删改查、项目MVC结构介绍、Java技能图谱】
视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...
- 国产化之路-统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作
引言 经过前期的准备工作,.net core 3.1的运行环境和WEB服务器已经搭建完毕,这里需要注意一下,达梦DM8数据库对于Entity Framework Core 3.1 的驱动在NuGet官 ...
- javaweb简单的登录增删改查系统_国产化之路统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作...
引言 经过前期的准备工作,.net core 3.1的运行环境和WEB服务器已经搭建完毕,这里需要注意一下,达梦DM8数据库对于Entity Framework Core 3.1 的驱动在NuGet官 ...
- abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之六(三十二)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- Java项目——模拟电话薄联系人增删改查
该项目模拟了电话本记录联系人的业务功能,用来练习对数据库的增删改查等操作. 菜单类:Menu -- 用来封装主菜单和个选项的子菜单 Person类: Person--联系人的实体类 TelNoteRe ...
最新文章
- 【运营】运营高手的“葵花宝典”,你就是下一个东方不败
- 如何将bing搜索页面以HTML Mashup的方式嵌入到SAP C4C页面
- MySQL 使用Node.js异步查询结果为undefined的简单处理办法
- ShardingSphere 语句解析生成初探
- Android Multimedia框架总结(三)MediaPlayer中创建到setDataSource过程
- python怎么打出pi_随手写了段 Python,微信的地球居然转起来
- 作为测试人员,不要说有错误,要说有什么错误
- 380v pcb 接线端子_220V线圈的接触器改成380V线圈方法
- 数据通信原理_卫星通信系统原理什么 卫星通信系统原理介绍【图文】
- 【解决方案】视频结构化图像智能分析系统EasyNVR助力KTV视频监控建设
- centos7系统时间校对(和北京时间同步)
- 【Jquery练习】tab栏切换
- 零知识证明 Zero Knowledge Proof 以及 Layer2、跨链介绍
- 解决m3u8视频合并问题
- 居安思危——“非常时期”的城市生存
- 面试官问我 “String 的不可变真的是因为 final 吗“,我回答 “是“ 然后就被挂了。。。。。。
- 大数据平台架构设计案例
- 生物信息中的Markov链
- 那个给三千人算命的大师,正在给自己水滴筹
- 浅谈Word中文档标题及编号的设置