• 【springmvc+mybatis项目实战】杰信商贸-7.生产厂家新增


    我们要实现新的功能,就是生产厂家的新增
    先来回顾一下系统架构图

    我们数据库这边已经建好表了,接下来要做的就是mapper映射

    编辑FactoryMapper.xml文件,加入“添加”的逻辑配置代码块

    [html] view plain copy
     
    1. <!-- 新增 oracle jbdc驱动当这个值为null时,必须告诉它当前字段  
    2. 默认值的类型jdbcType=VARCHAR(MyBatis定义),Mysql不用写-->  
    3. <insert id="insert" parameterType="cn.hpu.jk.domain.Factory">  
    4.     insert into factory_c  
    5.         (FACTORY_ID,FULL_NAME,FACTORY_NAME,CONTACTS,PHONE,MOBILE,FAX,CNOTE,  
    6.         INSPECTOR,ORDER_NO,CREATE_BY,CREATE_DEPT,CREATE_TIME)  
    7.     values  
    8.     (   #{id},  
    9.         #{fullName,jdbcType=VARCHAR},  
    10.         #{factoryName,jdbcType=VARCHAR},  
    11.         #{contacts,jdbcType=VARCHAR},  
    12.         #{phone,jdbcType=VARCHAR},  
    13.         #{mobile,jdbcType=VARCHAR},  
    14.         #{fax,jdbcType=VARCHAR},  
    15.         #{cnote,jdbcType=VARCHAR},  
    16.         #{inspector,jdbcType=VARCHAR},  
    17.         #{orderNo,jdbcType=INTEGER},  
    18.         #{createBy,jdbcType=VARCHAR},  
    19.         #{creatDept,jdbcType=VARCHAR},  
    20.         #{creatTime,jdbcType=TIMESTAMP}  
    21.     )  
    22. </insert>  


    接下来我们按照系统架构图来继续编写Dao层
    其实我们Dao不用写了,因为我们的insert属于日常的增删改查,我们在BaseDaoImpl中已经完成了:

    [java] view plain copy
     
    1. public void insert(T entity) {  
    2.     this.getSqlSession().insert(ns + ".insert", entity);  
    3. }  

    而我们的FactoryDaoImpl已经继承了BaseDaoImpl,所以不用再写。

    接下来编写Service层
    我们在FactoryServiceImpl完成insert(Factory factory)方法

    [java] view plain copy
     
    1. @Override  
    2. public void insert(Factory factory) {     
    3.     //设置UUID  
    4.     factory.setId(UUID.randomUUID().toString());  
    5.     factoryDao.insert(factory);  
    6. }  


    接下来我们开始写Controller层,在FactoryController中添加下面两个方法

    [java] view plain copy
     
    1. //转向新增页面  
    2. @RequestMapping("/basicinfo/factory/tocreate.action")  
    3. public String tocreate(){  
    4.     return "/baseinfo/factory/jFactoryCreate.jsp";  
    5. }  
    6.       
    7. //进行新增  
    8. @RequestMapping("/basicinfo/factory/insert.action")  
    9. public String insert(Factory factory){  
    10.     factoryService.insert(factory);  
    11.     return "redirect:/basicinfo/factory/list.action";//转向列表action  
    12. }  


    接下来编写我们的jsp视图页面
    在我们写界面的时候,我们首先来探讨一下主页设计时企业开发中常见的两种设计方式
    a)帧框架frameset table(业务系统)
    Framseset帧集合,不能连接具体的页面
    Frame帧,可以连接一个jsp/action


    b)Div+css+iframe (大型门户网站)

    关于相对路径:
    页面中直接写title.action
    http://localhost/jk/title.action  前面的路径是浏览器给的。规范。

    下面我们编写添加页面jFactoryCreate.jsp:

    [html] view plain copy
     
    1. <%@ page language="java" pageEncoding="UTF-8"%>  
    2. <%@ include file="../../base.jsp"%>  
    3. <html xmlns="http://www.w3.org/1999/xhtml">  
    4. <head>  
    5.     <title>添加厂家信息</title>  
    6. </head>  
    7. <body>  
    8.     <form method="post">  
    9.     <div id="menubar">  
    10.         <div id="middleMenubar">  
    11.             <div id="innerMenubar">  
    12.                 <div id="navMenubar">  
    13.                     <ul>  
    14.                     <li id="save"><href="#" onclick="formSubmit('insert.action','_self');">确定</a></li>  
    15.                     <li id="back"><href="list.action">返回</a></li>  
    16.                     </ul>  
    17.                 </div>  
    18.             </div>  
    19.         </div>  
    20.     </div>  
    21.            
    22.     <div class="textbox" id="centerTextbox">  
    23.           
    24.         <div class="textbox-header">  
    25.         <div class="textbox-inner-header">  
    26.         <div class="textbox-title">  
    27.             新增生产厂家信息  
    28.         </div>   
    29.         </div>  
    30.         </div>  
    31.     <div>  
    32.         <div>  
    33.             <table class="commonTable" cellspacing="1">  
    34.                 <tr>  
    35.                     <td class="columnTitle_mustbe">厂家名称:</td>  
    36.                     <td class="tableContent"><input type="text" name="fullName" /></td>  
    37.                     <td class="columnTitle_mustbe">简称:</td>  
    38.                     <td class="tableContent"><input type="text" name="factoryName" /></td>  
    39.                 </tr>  
    40.                   
    41.                 <tr>  
    42.                     <td class="columnTitle_mustbe">联系人:</td>  
    43.                     <td class="tableContent"><input type="text" name="contacts" /></td>  
    44.                     <td class="columnTitle_mustbe">电话:</td>  
    45.                     <td class="tableContent"><input type="text" name="phone" /></td>  
    46.                 </tr>  
    47.                   
    48.                 <tr>  
    49.                     <td class="columnTitle_mustbe">手机:</td>  
    50.                     <td class="tableContent"><input type="text" name="mobile" /></td>  
    51.                     <td class="columnTitle_mustbe">传真:</td>  
    52.                     <td class="tableContent"><input type="text" name="fax" /></td>  
    53.                 </tr>  
    54.                   
    55.                  <tr>  
    56.                     <td class="columnTitle_mustbe">检验员:</td>  
    57.                     <td class="tableContent"><input type="text" name="inspector" /></td>  
    58.                     <td class="columnTitle_mustbe">排序号:</td>  
    59.                     <td class="tableContent"><input type="text" name="orderNo" /></td>  
    60.                 </tr>  
    61.                   
    62.                 <tr>  
    63.                     <td class="columnTitle_mustbe">备注:</td>  
    64.                     <td class="tableContent"><textarea  name="cnote" style="height:200px; 400px"></textarea></td>  
    65.                 </tr>  
    66.             </table>  
    67.         </div>  
    68.     </div>  
    69.        
    70.     </form>  
    71. </body>  
    72. </html>  


    我们在我们的上一个厂家列表界jFactoryList.jsp面加一个“添加”按钮,指向我们的编辑界面jFactoryCreate.jsp就行了:

    [html] view plain copy
     
    1. <ul>  
    2.     <li id="view"><href="#" onclick="formSubmit('toview.action','_self');this.blur();">查看</a></li>  
    3.     <li id="new"><href="#" onclick="formSubmit('tocreate.action','_self');this.blur();">添加</a></li>  
    4. </ul>  


    上次没有加log4j的日志配置文件,为了查看项目的运行日志,我们加一下log4j的配置文件log4j.properties:

    [plain] view plain copy
     
    1. log4j.rootLogger=info, stdout  
    2.   
    3. #Console  
    4. log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
    5. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
    6. log4j.appender.stdout.layout.ConversionPattern=%-5p - %m%n  
    7.   
    8.   
    9. #LogFile  
    10. log4j.appender.file=org.apache.log4j.FileAppender  
    11. log4j.appender.file.File=../logs/jklog.log  
    12. log4j.appender.file.layout=org.apache.log4j.PatternLayout  
    13. log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n  
    14.   
    15.   
    16. #Daily LogFile  
    17. log4j.appender.dayfile=org.apache.log4j.DailyRollingFileAppender   
    18. log4j.appender.dayfile.File=../logs/jklog.log  
    19. log4j.appender.dayfile.DatePattern='.'yyyy-MM-dd'.log'   
    20. log4j.appender.dayfile.Append=true   
    21. log4j.appender.dayfile.layout=org.apache.log4j.PatternLayout  
    22. log4j.appender.dayfile.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n  
    23.   
    24.   
    25. # LOGIN_LOG_P db config ###  
    26. log4j.appender.logindb=org.apache.log4j.jdbc.JDBCAppender  
    27. log4j.appender.logindb.BufferSize=1  
    28. log4j.appender.logindb.driver=com.mysql.jdbc.Driver  
    29. log4j.appender.logindb.URL=jdbc:mysql://localhost:3306/jkdb?characterEncoding=utf-8  
    30. log4j.appender.logindb.user=root  
    31. log4j.appender.logindb.password=root  
    32.   
    33.   
    34. ##  MySQL  
    35. #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}')  
    36. log4j.appender.logindb.sql=INSERT INTO LOGIN_LOG_P(LOGIN_LOG_ID,LOGIN_NAME,IP_ADDRESS,LOGIN_TIME) VALUES(uuid(),'','',NOW())  
    37.   
    38.   
    39. log4j.appender.logindb.layout=org.apache.log4j.PatternLayout  
    40.   
    41.   
    42. log4j.logger.org.apache=INFO  
    43. log4j.logger.cn.itcast.jk=DEBUG  

    然后我们重启服务器,进行测试

    我们来添加一个厂家信息:


    返回列表界面,发现编辑成功!

  • 相关阅读:
    HDU 5444 Elven Postman 二叉排序树
    HDU 5438 Ponds dfs模拟
    Gym
    markdown test
    Gym
    集训回顾
    UVALive
    UVALive
    UVALive
    codeforcres 589 J
  • 原文地址:https://www.cnblogs.com/yxllovetm/p/8807545.html
Copyright © 2020-2023  润新知