首页 > 其他分享 >【springmvc+mybatis项目实战】杰信商贸-7.生产厂家新增

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

时间:2023-03-19 10:32:49浏览次数:31  
标签:insert VARCHAR springmvc factory log4j 杰信 jdbcType mybatis appender


我们来接着我们的项目写



我们要实现新的功能,就是生产厂家的新增


先来回顾一下系统架构图


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


我们数据库这边已经建好表了,接下来要做的就是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)方法


@Override
public 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


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



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="#" ο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="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="#" οnclick="formSubmit('toview.action','_self');this.blur();">查看</a></li>
<li id="new"><a href="#" οnclick="formSubmit('tocreate.action','_self');this.blur();">添加</a></li>
</ul>


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


log4j.rootLogger=info, stdout

#Console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p - %m%n


#LogFile
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=../logs/jklog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n


#Daily LogFile
log4j.appender.dayfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dayfile.File=../logs/jklog.log
log4j.appender.dayfile.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.dayfile.Append=true
log4j.appender.dayfile.layout=org.apache.log4j.PatternLayout
log4j.appender.dayfile.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n


# LOGIN_LOG_P db config ###
log4j.appender.logindb=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.logindb.BufferSize=1
log4j.appender.logindb.driver=com.mysql.jdbc.Driver
log4j.appender.logindb.URL=jdbc:mysql://localhost:3306/jkdb?characterEncoding=utf-8
log4j.appender.logindb.user=root
log4j.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.PatternLayout


log4j.logger.org.apache=INFO
log4j.logger.cn.itcast.jk=DEBUG


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



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


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



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



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

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

标签:insert,VARCHAR,springmvc,factory,log4j,杰信,jdbcType,mybatis,appender
From: https://blog.51cto.com/u_16012040/6130927

相关文章

  • 【SpringMVC整合MyBatis】springmvc拦截器-定义和配置
    拦截器1.拦截定义定义拦截器,实现HandlerInterceptor接口。接口中提供三个方法。packagecn.edu.hpu.ssm.interceptor;importjavax.servlet.http......
  • 【SpringMVC整合MyBatis】springmvc对RESTful支持
    1.什么是RESTfulRESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。RES......
  • Spring Study-lesson13-整合Mybatis-2-2023-3-19
    进一步优化将UserMapperImpl进行优化,继承系统提供的一个父类:extendsSqlSessionDaoSupport  新建一个:UserMapperImpl2类 继承父类,实现UserMapper接口。简化成一行......
  • Spring Study-lesson13-整合Mybatis-1-2023-3-19
    在配置前要加载依赖以及build (pom.xml中添加各种依赖)以及连接数据库<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"......
  • 在IDEA中使用JRebel插件实现热部署(包括mybatis的xml文件)
    省流版下载插件JRebelandXRebel和JRebelmybatisPlusextension详细版首先,我的IDEA下载了官方中文插件(Chinese​(Simplified)​LanguagePack/中文语言包),所以在......
  • REST风格下的SpringMVC简单响应方法
    学习中,如有错误请见谅  项目结构   ServletContainersInitConfigpublicclassServletContainersInitConfigextendsAbstractAnnotationConfigDispatcher......
  • SpringMVC 简单响应
    学习中,如有错误请多包涵项目结构  @Configuration@ComponentScan("com.itheima.controller")//开启json数据类型自动转换@EnableWebMvcpublicclassSpringMvc......
  • 尚硅谷MyBatis_2_搭建MyBatis
    创建maven工程pom.xml配置打包方式jar引入依赖<dependencies><!--Mybatis核心--><dependency><groupId>org.mybatis</group......
  • Mybatis-Plus查询投影详解
    查询投影的作用是在查询数据库时只返回所需的字段,而不是返回全部的字段。这样可以实现以下几个方面的作用:减少网络传输数据量:只返回需要的字段,可以减少从数据库服务器到......
  • 尚硅谷MyBatis_1_Mybatis简介
    尚硅谷MyBatis_1_Mybatis简介1.MyBatis历史MyBatis最初是Apache的一个开源项目iBatis,2010年6月这个项目由ApacheSoftwareFoundation迁移到了GoogleCode。随着开发团......