【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看
首先回顾一下我们的Mapper映射文件
ContractMapper.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="cn.hpu.jk.mapper.ContractMapper"><resultMap type="cn.hpu.jk.domain.Contract" id="contractRM"><id property="id" column="CONTRACT_ID"/><result property="offeror" column="OFFEROR"/><result property="contractNo" column="CONTRACT_NO"/><result property="signingDate" column="SIGNING_DATE"/><result property="inputBy" column="INPUT_BY"/><result property="checkBy" column="CHECK_BY"/><result property="inspector" column="INSPECTOR"/><result property="totalAmount" column="TOTAL_AMOUNT"/><result property="importNum" column="IMPORT_NUM"/><result property="crequest" column="CREQUEST"/><result property="customName" column="CUSTOM_NAME"/><result property="deliveryPeriod" column="DELIVERY_PERIOD"/><result property="shipTime" column="SHIP_TIME"/><result property="tradeTerms" column="TRADE_TERMS"/><result property="remark" column="REMARK"/><result property="printStyle" column="PRINT_STYLE"/><result property="oldState" column="OLD_STATE"/><result property="state" column="STATE"/><result property="outState" column="OUT_STATE"/><result property="createBy" column="CREATE_BY"/><result property="creatDept" column="CREATE_DEPT"/><result property="creatTime" column="CREATE_TIME"/></resultMap><!-- 查询多个 --><select id="find" parameterType="map" resultMap="contractRM">select * from contract_cwhere 1=1</select><!-- 查询一个 --><select id="get" parameterType="string" resultMap="contractRM">select * from contract_cwhere contract_id=#{id}</select><!-- 新增 --><insert id="insert" parameterType="cn.hpu.jk.domain.Contract">insert into contract_c(CONTRACT_ID,,OFFEROR,CONTRACT_NO,SIGNING_DATE,INPUT_BY,CHECK_BY,INSPECTOR,TOTAL_AMOUNT,IMPORT_NUM,CREQUEST,CUSTOM_NAME,DELIVERY_PERIOD,SHIP_TIME,TRADE_TERMS,REMARK,PRINT_STYLE,OLD_STATE,STATE,OUT_STATE,CREATE_BY,CREATE_DEPT,CREATE_TIME)values(#{id},#{offeror, jdbcType=VARCHAR},#{contractNo, jdbcType=VARCHAR},#{signingDate, jdbcType=TIMESTAMP},#{inputBy, jdbcType=VARCHAR},#{checkBy, jdbcType=VARCHAR},#{inspector, jdbcType=VARCHAR},#{totalAmount, jdbcType=DOUBLE},#{importNum, jdbcType=INTEGER},#{crequest, jdbcType=VARCHAR},#{customName, jdbcType=VARCHAR},#{deliveryPeriod, jdbcType=TIMESTAMP},#{shipTime, jdbcType=TIMESTAMP},#{tradeTerms, jdbcType=VARCHAR},#{remark, jdbcType=VARCHAR},#{printStyle, jdbcType=CHAR},#{oldState, jdbcType=INTEGER},#{state, jdbcType=INTEGER},#{outState, jdbcType=INTEGER},#{createBy, jdbcType=VARCHAR},#{creatDept, jdbcType=VARCHAR},#{creatTime, jdbcType=TIMESTAMP})</insert><!-- 修改 --><update id="update" parameterType="cn.hpu.jk.domain.Contract">update contract_c<set><if test="offeror != null">OFFEROR=#{offeror},</if><if test="contractNo != null">CONTRACT_NO=#{contractNo},</if><if test="signingDate != null">SIGNING_DATE=#{signingDate},</if><if test="inputBy != null">INPUT_BY=#{inputBy},</if><if test="checkBy != null">CHECK_BY=#{checkBy},</if><if test="inspector != null">INSPECTOR=#{inspector},</if><if test="totalAmount != null">TOTAL_AMOUNT=#{totalAmount},</if><if test="importNum != null">IMPORT_NUM=#{importNum},</if><if test="crequest != null">CREQUEST=#{crequest},</if><if test="customName != null">CUSTOM_NAME=#{customName},</if><if test="deliveryPeriod != null">DELIVERY_PERIOD=#{deliveryPeriod},</if><if test="shipTime != null">SHIP_TIME=#{shipTime},</if><if test="tradeTerms != null">TRADE_TERMS=#{tradeTerms},</if><if test="remark != null">REMARK=#{remark},</if><if test="printStyle != null">PRINT_STYLE=#{printStyle},</if><if test="oldState != null">OLD_STATE=#{oldState},</if><if test="state != null">STATE=#{state},</if><if test="outState != null">OUT_STATE=#{outState},</if></set>where contract_id=#{id}</update><!-- 删除一条 --><delete id="deleteById" parameterType="string">delete from contract_cwhere CONTRACT_ID=#{id}</delete><!-- 删除多条(一维字符串数组的形式) --><delete id="delete" parameterType="string">delete from contract_cwhere CONTRACT_ID in <foreach collection="array" item="id" open="(" close=")" separator=",">#{id}</foreach></delete><!-- 修改状态 --><update id="updateState" parameterType="map">update contract_c set state=#{state}where CONTRACT_ID in<foreach collection="ids" item="id" open="(" close=")" separator=",">#{id}</foreach></update>
</mapper>
可见我们已经发提前写好了增删改查的配置语句
我们首先来写增加功能
来看我们的Dao层,因为我们继承了BaseDao以及BaseDaoImpl,所以我们拥有下面的方法:
public void insert(T entity) {this.getSqlSession().insert(ns + ".insert", entity);
}
所以Dao层不用再添加代码。
接下来是我们的Service层
之前我们已经在ContractService以及ContractServiceImpl添加了下面的方法
@Override
public void insert(Contract contract) {//设置UUIDcontract.setId(UUID.randomUUID().toString());contract.setState(0);//默认为草稿contractDao.insert(contract);
}
所以Service层无需添加代码
接下来看Controller层
我们在ContractController中添加以下方法
//跳到添加编辑页面
@RequestMapping("/cargo/contract/tocreate.action")
public String tocreate(){return "/cargo/contract/jContractCreate.jsp";
}//添加
@RequestMapping("/cargo/contract/insert.action")
public String insert(Contract contract){contractService.insert(contract);return "redirect:/cargo/contract/list.action";
}
接下来我们编写编辑页面的jsp文件:
jContractCreate.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="../../base.jsp"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>添加购销合同</title><script language="javascript" src="${ctx}/js/datepicker/WdatePicker.js"></script>
</head>
<body>
<form method="post"><div id="menubar">
<div id="middleMenubar">
<div id="innerMenubar"><div id="navMenubar">
<ul>
<li id="save"><a href="#" οnclick="formSubmit('insert.action','_self');">确定</a></li>
<li id="back"><a href="list.action">返回</a></li>
</ul></div>
</div>
</div>
</div><div class="textbox" id="centerTextbox"><div class="textbox-header"><div class="textbox-inner-header"><div class="textbox-title">添加购销合同信息</div> </div></div>
<div><div><table class="commonTable" cellspacing="1"><tr><td class="columnTitle_mustbe">客户名称:</td><td class="tableContent"><input type="text" name="customName" /></td><td class="columnTitle_mustbe">收购方:</td><td class="tableContent"><input type="text" name="offeror" /></td></tr><tr><td class="columnTitle_mustbe">合同号:</td><td class="tableContent"><input type="text" name="contractNo" /></td><td class="columnTitle_mustbe">签单日期:</td><td class="tableContent"><input type="text" style="width: 90px" name="signingDate" class="Wdate"οnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td></tr><tr><td class="columnTitle_mustbe">制单人:</td><td class="tableContent"><input type="text" name="inputBy" /></td><td class="columnTitle_mustbe">审单人:</td><td class="tableContent"><input type="text" name="checkBy" /></td></tr><tr><td class="columnTitle_mustbe">验货员:</td><td class="tableContent"><input type="text" name="inspector" /></td><td class="columnTitle_mustbe">检验员:</td><td class="tableContent"><input type="text" name="inspector" /></td></tr><tr><td class="columnTitle_mustbe">总金额:</td><td class="tableContent"><input type="text" name="totalAmount" /></td><td class="columnTitle_mustbe">重要程度:</td><td class="tableContent"><input type="radio" name="importNum" value="3" class="input" checked="checked"/><input type="radio" name="importNum" value="2" class="input" checked="checked"/><input type="radio" name="importNum" value="1" class="input" checked="checked"/></td></tr><tr><td class="columnTitle_mustbe">要求:</td><td class="tableContent"><input type="text" name="crequest" /></td><td class="columnTitle_mustbe">交货期限:</td><td class="tableContent"><input type="text" style="width: 90px" name="deliveryPeriod" class="Wdate"οnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td></tr><tr><td class="columnTitle_mustbe">船期:</td><td class="tableContent"><input type="text" style="width: 90px" name="shipTime" class="Wdate"οnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td><td class="columnTitle_mustbe">贸易条款:</td><td class="tableContent"><input type="text" name="tradeTerms" /></td></tr><tr><td class="columnTitle_mustbe">打印版式:</td><td class="tableContent"><input type="radio" name="printStyle" value="2" checked="checked"/>两款<input type="radio" name="printStyle" value="1" />一款</td><td class="columnTitle_mustbe">归档前状态:</td><td class="tableContent"><input type="text" name="oldState" /></td></tr><tr><td class="columnTitle_mustbe">状态:</td><td class="tableContent"><input type="text" name="state" /></td><td class="columnTitle_mustbe">走货状态:</td><td class="tableContent"><input type="text" name="outState" /></td></tr><tr><td class="columnTitle_mustbe">说明:</td><td class="tableContent"><textarea name="remark" style="height:200px;width: 400px"></textarea></td></tr></table></div>
</div></form>
</body>
</html>
关于时间选取我们在中间使用了“js时间拾取器”,具体js文件在:js时间拾取器.zip (点击下载),里面有使用说明。
我们在购销合同列表添加一个按钮(上一次已添加过):
<li id="new"><a href="#" οnclick="formSubmit('tocreate.action','_self');this.blur();">添加</a></li>
效果
点击添加,添加成功!
注意,我们这里的总金额并不是让我们输入的,是后台根据购销合同的附带货物金额生成的,这里我们还没有写附带货物,所以暂时先这么写。
我们接下来写修改功能
Mapper文件中已经写好了修改的相关配置语句,那么来看我们的Dao层,因为我们继承了BaseDao以及BaseDaoImpl,所以我们拥有下面的方法:
public void update(T entity) {this.getSqlSession().update(ns + ".update", entity);
}
所以Dao层不用再添加代码。
接下来是我们的Service层
之前我们已经在ContractService以及ContractServiceImpl添加了下面的方法
@Override
public void update(Contract contract) {contractDao.update(contract);
}
所以Service层无需添加代码
接下来看Controller层
我们在ContractController中添加以下方法
//跳转到编辑页面
@RequestMapping("/cargo/contract/toupdate.action")
public String toupdate(String id,Model model){Contract obj=contractService.get(id);model.addAttribute("obj",obj);return "/cargo/contract/jContractUpdate.jsp";
}//修改方法
@RequestMapping("/cargo/contract/update.action")
public String update(Contract contract){contractService.update(contract);return "redirect:/cargo/contract/list.action";
}
之后编写修改的编辑jsp页面:
jContractUpdate.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="../../base.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>修改购销合同</title><script language="javascript" src="${ctx}/js/datepicker/WdatePicker.js"></script>
</head>
<body>
<form method="post"><div id="menubar">
<div id="middleMenubar">
<div id="innerMenubar"><div id="navMenubar">
<ul>
<li id="save"><a href="#" οnclick="formSubmit('insert.action','_self');">确定</a></li>
<li id="back"><a href="list.action">返回</a></li>
</ul></div>
</div>
</div>
</div><div class="textbox" id="centerTextbox"><div class="textbox-header"><div class="textbox-inner-header"><div class="textbox-title">修改购销合同信息</div> </div></div>
<div><div><table class="commonTable" cellspacing="1"><input type="hidden" name="id" value="${obj.id}"/><tr><td class="columnTitle_mustbe">客户名称:</td><td class="tableContent"><input type="text" name="customName" value="${obj.customName }"/></td><td class="columnTitle_mustbe">收购方:</td><td class="tableContent"><input type="text" name="offeror" value="${obj.offeror }"/></td></tr><tr><td class="columnTitle_mustbe">合同号:</td><td class="tableContent"><input type="text" name="contractNo" value="${obj.contractNo }"/></td><td class="columnTitle_mustbe">签单日期:</td><td class="tableContent"><input type="text" style="width: 90px" name="signingDate" class="Wdate" value="<fmt:formatDate value="${obj.signingDate }" pattern="yyyy-MM-dd"/>"οnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td></tr><tr><td class="columnTitle_mustbe">制单人:</td><td class="tableContent"><input type="text" name="inputBy" value="${obj.inputBy }"/></td><td class="columnTitle_mustbe">审单人:</td><td class="tableContent"><input type="text" name="checkBy" value="${obj.checkBy }"/></td></tr><tr><td class="columnTitle_mustbe">验货员:</td><td class="tableContent"><input type="text" name="inspector" value="${obj.inspector }"/></td><td class="columnTitle_mustbe">总金额:</td><td class="tableContent"><input type="text" name="totalAmount" value="${obj.totalAmount}"/></td></tr><tr><td class="columnTitle_mustbe">要求:</td><td class="tableContent"><input type="text" name="crequest" value="${obj.crequest}"/></td><td class="columnTitle_mustbe">交货期限:</td><td class="tableContent"><input type="text" style="width: 90px" name="deliveryPeriod" class="Wdate" value="<fmt:formatDate value="${obj.deliveryPeriod }" pattern="yyyy-MM-dd"/>"οnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td></tr><tr><td class="columnTitle_mustbe">船期:</td><td class="tableContent"><input type="text" style="width: 90px" name="shipTime" class="Wdate" value="<fmt:formatDate value="${obj.shipTime}" pattern="yyyy-MM-dd"/>"οnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/></td><td class="columnTitle_mustbe">贸易条款:</td><td class="tableContent"><input type="text" name="tradeTerms" value="${obj.tradeTerms }"/></td></tr><tr><td class="columnTitle_mustbe">打印版式:</td><td class="tableContent"><input type="radio" name="printStyle" value="2" <c:if test="${obj.printStyle=='2'}"> checked="checked"</c:if>/>两款<input type="radio" name="printStyle" value="1" <c:if test="${obj.printStyle=='1'}"> checked="checked"</c:if>/>一款</td><td class="columnTitle_mustbe">归档前状态:</td><td class="tableContent"><input type="text" name="oldState" value="${obj.oldState}"/></td></tr><tr><td class="columnTitle_mustbe">状态:</td><td class="tableContent"><input type="text" name="state" value="${obj.state}"/></td><td class="columnTitle_mustbe">走货状态:</td><td class="tableContent"><input type="text" name="outState" value="${obj.outState}"/></td></tr><tr><td class="columnTitle_mustbe">重要程度:</td><td class="tableContent"><input type="radio" name="importNum" value="3" class="input" <c:if test="${obj.importNum==3}"> checked="checked"</c:if>/><input type="radio" name="importNum" value="2" class="input" <c:if test="${obj.importNum==2}"> checked="checked"</c:if>/><input type="radio" name="importNum" value="1" class="input" <c:if test="${obj.importNum==1}"> checked="checked"</c:if>/></td></tr><tr><td class="columnTitle_mustbe">说明:</td><td class="tableContent"><textarea name="remark" style="height:200px;width: 400px">${obj.remark}</textarea></td></tr></table></div>
</div></form>
</body>
</html>
购销合同列表中原来已经添加有修改的按钮了:
<li id="update"><a href="#" οnclick="formSubmit('toupdate.action','_self');this.blur();">修改</a></li>
效果:
点击修改(添加审单人、制单人等)
修改之后的结果
修改方法完成!
下面我们写删除方法:
Mapper文件中已经写好了删除的相关配置语句,那么来看我们的Dao层,因为我们继承了BaseDao以及BaseDaoImpl,所以我们拥有下面的方法:
public void deleteById(Serializable id) {this.getSqlSession().delete(ns + ".deleteById", id);
}public void delete(Serializable[] ids) {this.getSqlSession().delete(ns + ".delete", ids);
}
所以Dao层不用再添加代码。
接下来是我们的Service层
之前我们已经在ContractService以及ContractServiceImpl添加了下面的方法
@Override
public void delete(Serializable[] ids) {contractDao.delete(ids);
}@Override
public void deleteById(Serializable id) {contractDao.deleteById(id);
}
所以Service层无需添加代码
接下来看Controller层
我们在ContractController中添加以下方法
//删除方法
@RequestMapping("/cargo/contract/delete.action")
public String delete(String[] ids){contractService.delete(ids);return "redirect:/cargo/contract/list.action";
}
我们list界面已经有删除按钮了:
<li id="delete"><a href="#" οnclick="formSubmit('delete.action','_self');this.blur();">删除</a></li>
测试:
测试结果:
删除方法成功!
接下来我们来写查看方法
Mapper文件中已经写好了查看的相关配置语句,那么来看我们的Dao层,因为我们继承了BaseDao以及BaseDaoImpl,所以我们拥有下面的方法:
public T get(Serializable id) {return this.getSqlSession().selectOne(ns + ".get", id);
}
所以Dao层不用再添加代码。
之前我们已经在ContractService以及ContractServiceImpl添加了下面的方法
@Override
public Contract get(Serializable id) {return contractDao.get(id);
}
所以Service层无需添加代码
接下来看Controller层
我们在ContractController中添加以下方法
//查看方法
@RequestMapping("/cargo/contract/toview.action")
public String toview(String id,Model model){Contract obj=contractService.get(id);model.addAttribute("obj", obj);return "/cargo/contract/jContractView.jsp";
}
我们来编写查看界面的jsp代码:
jContractView.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="../../base.jsp"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>查看购销合同</title><script language="javascript" src="${ctx}/js/datepicker/WdatePicker.js"></script>
</head>
<body>
<form method="post"><div id="menubar">
<div id="middleMenubar">
<div id="innerMenubar"><div id="navMenubar">
<ul>
<li id="back"><a href="list.action">返回</a></li>
</ul></div>
</div>
</div>
</div><div class="textbox" id="centerTextbox"><div class="textbox-header"><div class="textbox-inner-header"><div class="textbox-title">查看购销合同信息</div> </div></div>
<div><div><table class="commonTable" cellspacing="1"><tr><td class="columnTitle_mustbe">客户名称:</td><td class="tableContent">${obj.customName }</td><td class="columnTitle_mustbe">收购方:</td><td class="tableContent">${obj.offeror }</td></tr><tr><td class="columnTitle_mustbe">合同号:</td><td class="tableContent">${obj.contractNo }</td><td class="columnTitle_mustbe">签单日期:</td><td class="tableContent"><fmt:formatDate value="${obj.signingDate }" pattern="yyyy-MM-dd"/></td></tr><tr><td class="columnTitle_mustbe">制单人:</td><td class="tableContent">${obj.inputBy }</td><td class="columnTitle_mustbe">审单人:</td><td class="tableContent">${obj.checkBy }</td></tr><tr><td class="columnTitle_mustbe">验货员:</td><td class="tableContent">${obj.inspector }</td><td class="columnTitle_mustbe">总金额:</td><td class="tableContent">${obj.totalAmount}</td></tr><tr><td class="columnTitle_mustbe">要求:</td><td class="tableContent">${obj.crequest}</td><td class="columnTitle_mustbe">交货期限:</td><td class="tableContent"><fmt:formatDate value="${obj.deliveryPeriod }" pattern="yyyy-MM-dd"/></td></tr><tr><td class="columnTitle_mustbe">船期:</td><td class="tableContent"><fmt:formatDate value="${obj.shipTime}" pattern="yyyy-MM-dd"/></td><td class="columnTitle_mustbe">贸易条款:</td><td class="tableContent">${obj.tradeTerms }</td></tr><tr><td class="columnTitle_mustbe">打印版式:</td><td class="tableContent"><c:if test="${obj.printStyle=='2'}">两款</c:if><c:if test="${obj.printStyle=='1'}">一款</c:if></td><td class="columnTitle_mustbe">归档前状态:</td><td class="tableContent">${obj.oldState}</td></tr><tr><td class="columnTitle_mustbe">状态:</td><td class="tableContent">${obj.state}</td><td class="columnTitle_mustbe">走货状态:</td><td class="tableContent">${obj.outState}</td></tr><tr><td class="columnTitle_mustbe">重要程度:</td><td class="tableContent"><c:if test="${obj.importNum==3}"></c:if><c:if test="${obj.importNum==2}"></c:if><c:if test="${obj.importNum==1}"></c:if></td></tr><tr><td class="columnTitle_mustbe">说明:</td><td class="tableContent"><pre>${obj.remark}</pre></td></tr></table></div>
</div></form>
</body>
</html>
我们list界面已经有查看按钮了:
<li id="view"><a href="#" οnclick="formSubmit('toview.action','_self');this.blur();">查看</a></li>
测试:
测试结果:
查看方法成功!
到此购销合同的增删改查方法编写完毕
最后还剩下一个“上报”和“取消”功能,我们下篇总结再介绍。
转载请注明出处:http://blog.csdn.net/acmman/article/details/48467391
【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看相关推荐
- 【springmvc+mybatis项目实战】杰信商贸-11.购销合同业务
首先我们先了解一下业务,什么是"货运管理"? "货运管理"是国际物流的概念,往常我们货物送到国内没有那么多事情,但是货物发往国外就多了很多手续,依靠小物流公司我 ...
- 【springmvc+mybatis项目实战】杰信商贸-16.新增从表货物信息
通过上几次我们已经将购销合同的所有业务完成了,接下来我们要完成的是在购销合同下的货物的业务 我们的购销合同相对于货物是一对多的,所以我们需要配置对象之间的关联关系. 首先先编写实体类ContractP ...
- 【springmvc+mybatis项目实战】杰信商贸-6.重点知识回顾
1.重点知识回顾 Maven 1)覆盖仓库文件,实际企业开发,公司会架一个测试服务器,在测试服务器中架私服.我们开发人员的程序,都连接私服.当本地没有项目中要使用的jar,Myeclipse mave ...
- 【springmvc+mybatis项目实战】杰信商贸-2.数据库配置
首先我们来了解项目的架构 我们分别使用了MySql和Oracle数据库,即是异构数据库.我们做到一个平台支持多个数据库. 数据库 建模我们使用Sybase公司的PowerDesigner(以后简称PD ...
- 毕业设计-课程设计-Spring+SpringMVC+Mybatis项目—企业权限管理系统(1)
JavaEE:Spring+SpringMVC+Mybatis项目-企业权限管理系统 首先给出项目演示地址:http://www.youngxy.top:8080/SSM/ 项目架构图: 一:功能需求 ...
- Spring+SpringMVC+Mybatis实现增删改查--(五)SSM修改员工页面搭建
Spring+SpringMVC+Mybatis实现增删改查--(五)SSM修改员工页面搭建 修改员工: 1.在index.jsp页面点击"编辑"弹出编辑对话框 2.去数据库查询部 ...
- 基于mysql的springmvcjar_糊涂jar_SpringMVC+Spring+Mybatis项目实战[SSM/MySQL/AJAX/IDEA]_Java视频-51CTO学院...
鸟哥QQ交流群:833468344 我所有课程的学习主线为:java基础--->面向对象--->java高级部分(集合.多线程.正则表达式等)--->html5+css3---> ...
- Maven搭建SpringMVC+Mybatis项目详解【转】
为什么80%的码农都做不了架构师?>>> 前言 最近比较闲,复习搭建一下项目,这次主要使用Spring+SpringMVC+Mybatis.项目持久层使用Mybatis3,控制 ...
- Spring+SpringMVC+Mybatis项目在线考试管理系统
随着时代的发展,人们对考试的要求也越来越多,无论是在校学生,公务员考试还是驾校考试,考试参与的人数越来越多,如果还是延用传统的考试模式进行考试这无疑会给管理考试的工作人员增加很大的负担,同时给参与考试 ...
- 第3步 (请先看第2步再看第3步) 新建完spring+springmvc+mybatis项目 需要推送gitee仓库进行管理 巨详细
idea中Terminal终端无法执行GIT命令: touch README.md问题解决 解决方法二: ◆更改路径即可 Git\bin\bash.exe 或 Git\bin\sh.exe 然后重新启 ...
最新文章
- 【廖雪峰python入门笔记】切片
- altium designer 绘制pcb时漏线检查
- lhgdialog 4.2.0 正式版发布
- 53-python界面-wxForm
- linux history操作的路径,绝对路径和相对路径,目录命令(cd,mkdir,rm,history)
- java 多线程跑数据_java——多线程的实现方式、三种办法解决线程赛跑、多线程数据同步(synchronized)、死锁...
- 云麦小米华为体脂秤怎么样_测评华为智能体脂秤,比小米智能体重秤贵30元到底差别在哪里?...
- 【操作系统】进程管理(二)
- DIY强大的虚拟化环境-升级存储主机
- 计算机播放音乐自录,怎么录制电脑上正在播放的视频音频
- PDF文件转换成图片的格式
- 猿创征文|2022全球程序员薪资排行一览
- 微信小程序 Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded(二)
- 回归评价指标:MAE、MSE、RMSE、MAPE和R-Squared
- 关于微信小程序danmu-List所遇到的坑
- 现实中的项目范围变更
- 2876: [Noi2012]骑行川藏
- 小试牛刀之NunJucks模板引擎
- Uniform Sector Standard and Quad Serial Flash - GD55LB01GE DATASHEET
- 细说中国各省省名的由来(zt)
热门文章
- c语言程序设计数字电位器,数字电位器X9C103 100级调节电路和单片机源程序
- Jquery之append()和html()的区别
- 全网首发:JDK绘制文字:五、字体上下文产生流程
- 全网首发:MAC上运行SHELL脚本,typeset -l报错
- 钉钉人脸识别,戴个太阳帽就找不到人脸
- DeepStream运行范例出错,提示缺少libnvinfer.so怎么办?
- python with as有什么好处?
- 管理感悟:知行合一与内化
- linux 源码包解压编译安装
- android snackbar 底部,Android KitKat:Snackbar不在屏幕的底部