我们来接着我们的项目写
我们要实现新的功能,就是生产厂家的新增
先来回顾一下系统架构图
我们数据库这边已经建好表了,接下来要做的就是mapper映射
编辑FactoryMapper.xml文件,加入“添加”的逻辑配置代码块
<!-- 新增 oracle jbdc驱动当这个值为null时,必须告诉它当前字段默认值的类型jdbcType=VARCHAR(MyBatis定义),Mysql不用写--><insert id="insert" parameterType="cn.hpu.jk.domain.Factory"> insert into factory_c (FACTORY_ID,FULL_NAME,FACTORY_NAME,CONTACTS,PHONE,MOBILE,FAX,CNOTE, INSPECTOR,ORDER_NO,CREATE_BY,CREATE_DEPT,CREATE_TIME) values ( #{id}, #{fullName,jdbcType=VARCHAR}, #{factoryName,jdbcType=VARCHAR}, #{contacts,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{mobile,jdbcType=VARCHAR}, #{fax,jdbcType=VARCHAR}, #{cnote,jdbcType=VARCHAR}, #{inspector,jdbcType=VARCHAR}, #{orderNo,jdbcType=INTEGER}, #{createBy,jdbcType=VARCHAR}, #{creatDept,jdbcType=VARCHAR}, #{creatTime,jdbcType=TIMESTAMP} )</insert>
接下来我们按照系统架构图来继续编写Dao层
其实我们Dao不用写了,因为我们的insert属于日常的增删改查,我们在BaseDaoImpl中已经完成了:
public void insert(T entity) { this.getSqlSession().insert(ns + ".insert", entity);}而我们的FactoryDaoImpl已经继承了BaseDaoImpl,所以不用再写。
接下来编写Service层
我们在FactoryServiceImpl完成insert(Factory factory)方法
@Overridepublic void insert(Factory factory) { //设置UUID factory.setId(UUID.randomUUID().toString()); factoryDao.insert(factory);}
接下来我们开始写Controller层,在FactoryController中添加下面两个方法
//转向新增页面@RequestMapping("/basicinfo/factory/tocreate.action")public String tocreate(){ return "/baseinfo/factory/jFactoryCreate.jsp";} //进行新增@RequestMapping("/basicinfo/factory/insert.action")public String insert(Factory factory){ factoryService.insert(factory); return "redirect:/basicinfo/factory/list.action";//转向列表action}
接下来编写我们的jsp视图页面
在我们写界面的时候,我们首先来探讨一下主页设计时企业开发中常见的两种设计方式
a)帧框架frameset table(业务系统)
Framseset帧集合,不能连接具体的页面
Frame帧,可以连接一个jsp/action
b)Div+css+iframe (大型门户网站)
关于相对路径:
页面中直接写title.action
http://localhost/jk/title.action 前面的路径是浏览器给的。规范。
下面我们编写添加页面jFactoryCreate.jsp:
<%@ page language="java" pageEncoding="UTF-8"%><%@ include file="../../base.jsp"%><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>添加厂家信息</title></head><body> <form method="post"> <div id="menubar"> <div id="middleMenubar"> <div id="innerMenubar"> <div id="navMenubar"> <ul> <li id="save"><a href="#" onclick="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="fullName" /></td> <td class="columnTitle_mustbe">简称:</td> <td class="tableContent"><input type="text" name="factoryName" /></td> </tr> <tr> <td class="columnTitle_mustbe">联系人:</td> <td class="tableContent"><input type="text" name="contacts" /></td> <td class="columnTitle_mustbe">电话:</td> <td class="tableContent"><input type="text" name="phone" /></td> </tr> <tr> <td class="columnTitle_mustbe">手机:</td> <td class="tableContent"><input type="text" name="mobile" /></td> <td class="columnTitle_mustbe">传真:</td> <td class="tableContent"><input type="text" name="fax" /></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="orderNo" /></td> </tr> <tr> <td class="columnTitle_mustbe">备注:</td> <td class="tableContent"><textarea name="cnote" style="height:200px;width: 400px"></textarea></td> </tr> </table> </div> </div> </form></body></html>
我们在我们的上一个厂家列表界jFactoryList.jsp面加一个“添加”按钮,指向我们的编辑界面jFactoryCreate.jsp就行了:
<ul> <li id="view"><a href="#" onclick="formSubmit('toview.action','_self');this.blur();">查看</a></li> <li id="new"><a href="#" onclick="formSubmit('tocreate.action','_self');this.blur();">添加</a></li></ul>
上次没有加log4j的日志配置文件,为了查看项目的运行日志,我们加一下log4j的配置文件log4j.properties:
log4j.rootLogger=info, stdout#Consolelog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%-5p - %m%n#LogFilelog4j.appender.file=org.apache.log4j.FileAppenderlog4j.appender.file.File=../logs/jklog.loglog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n#Daily LogFilelog4j.appender.dayfile=org.apache.log4j.DailyRollingFileAppender log4j.appender.dayfile.File=../logs/jklog.loglog4j.appender.dayfile.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.dayfile.Append=true log4j.appender.dayfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.dayfile.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n# LOGIN_LOG_P db config ###log4j.appender.logindb=org.apache.log4j.jdbc.JDBCAppenderlog4j.appender.logindb.BufferSize=1log4j.appender.logindb.driver=com.mysql.jdbc.Driverlog4j.appender.logindb.URL=jdbc:mysql://localhost:3306/jkdb?characterEncoding=utf-8log4j.appender.logindb.user=rootlog4j.appender.logindb.password=root## MySQL#log4j.appender.logindb.sql=INSERT INTO LOGIN_LOG_P(LOGIN_LOG_ID,LOGIN_NAME,IP_ADDRESS,LOGIN_TIME) VALUES(uuid(),'%X{userId}|%X{userName}','%X{ip}','%d{yyyy-MM-dd HH:mm:ss}')log4j.appender.logindb.sql=INSERT INTO LOGIN_LOG_P(LOGIN_LOG_ID,LOGIN_NAME,IP_ADDRESS,LOGIN_TIME) VALUES(uuid(),'','',NOW())log4j.appender.logindb.layout=org.apache.log4j.PatternLayoutlog4j.logger.org.apache=INFOlog4j.logger.cn.itcast.jk=DEBUG
然后我们重启服务器,进行测试
我们来添加一个厂家信息:
返回列表界面,发现编辑成功!
转载请注明出处:http://blog.csdn.net/acmman/article/details/48261851
版权声明:本文为博主原创文章,未经博主允许不得转载。