为项目管理中添加一项商品类型的管理

一  前台界面

  1. 前台界面需要显示一个商品类型管理的按钮选项,此项目中是在menuBar中添加的按钮连接

  2. 点击商品类型管理的按钮进入一个列表界面,显示数据库中已经存在的商品类型列表,本页面的功能有编辑,删除,追加和取消。

  3. 点击编辑按钮进入对商品类型的编辑,输入内容为空或添加商品类型与已有类型相同时提示错误信息。

  4. 点击追加按钮进入追加页面添加时,同样,输入内容为空或添加商品类型与已有类型相同时提示错误信息。

二  后台功能实现:

  1. 数据库中添加一个商品类型的表commodity_type,并添加三个元素分别为ID,类型名和备注:commodity_type_id,commodity_type_name,commodity_type_note;

  2. CommodityTypeForm .java中定义一下这三个变量,并使用标签@Data直接引用Get,Set方法,不用再写方法体。为需要进行vailudation的属性添加相应的标签比如这里的Name需要设置为不能为空或者不能与数据库中已有的数据重复:

    @NotEmpty(field="商品类型",  message="{errors.required}")

@Digits ( message="{errors.similar}",fraction=0,integer=0)

private String commodityTypeName;

3.为每个页面中的按钮编写实现功能的代码,主要涉及到CommodityTypeController.java(主要涉及各页面的跳转和一些功能),CommodityTypeService.java(都是调用存放数据库中数据的一些方法),CommodityTypeSqlMap.java(数据库中所要进行的一些操作,如查询,插入,更新数据的语句)                      详细代码如下


CommodityTypeForm .java

package cn.agriculture.web.form;
import cn.agriculture.common.validator.constraints.NotEmpty;
import lombok.Data;
@Data                                            ---------------引用一个数据标签,可以不用写GET,SET方法
public class CommodityTypeForm {	
	private String commodityTypeId;
	@NotEmpty(field="商品类型",  message="{errors.required}")
	private String commodityTypeName;
	private String commodityTypeNote;
	private String updateTime;
}


CommodityTypeService.java

package cn.agriculture.web.service;

import java.util.List;

import jp.terasoluna.fw.dao.QueryDAO;
import jp.terasoluna.fw.dao.UpdateDAO;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.agriculture.web.form.CommodityTypeForm;

@Service
public class CommodityTypeService {

	@Autowired
	QueryDAO queryDao;

	@Autowired
	UpdateDAO updateDao;
	
	
	public List<CommodityTypeForm> searchCommodityTypeList() {
		List<CommodityTypeForm> 
		result = queryDao.executeForObjectList("Commodity_type.selectCommodityTypeList", null);
		return result;
	}
	
	public CommodityTypeForm searchCommodityType(CommodityTypeForm frm) {
		CommodityTypeForm result = queryDao.executeForObject("Commodity_type.selectCommodityType", frm, CommodityTypeForm.class);
		return result;
	}
	
	public CommodityTypeForm searchCommodityTypeName(CommodityTypeForm frm) {
		CommodityTypeForm result = queryDao.executeForObject("Commodity_type.selectCommodityTypeName", frm, CommodityTypeForm.class);
		return result;
	}
	
	public boolean addCommodityType(CommodityTypeForm frm) {
		//
		Integer sequee = queryDao.executeForObject("Commodity_type.getSeq", null, Integer.class);
		String commoditytypeId = frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee);
		frm.setCommodityTypeId(commoditytypeId);
		int result = updateDao.execute("Commodity_type.addCommodityType", frm);
		if (result == 1) {
		return true;
		}
		return false;
	}
	public boolean editCommodityType(CommodityTypeForm frm) {
		int result = updateDao.execute("Commodity_type.updateCommodityType", frm);
		if (result == 1) {
			return true;
		}
		return false;
	}
	public boolean delCommodityType(CommodityTypeForm frm) {
		
		int result = updateDao.execute("Commodity_type.delCommodityType", frm);
		if (result == 1) {
			return true;
		}
		return false;
	}
}


ItemListComponent.java

public class ItemListComponent {

	@Autowired
	QueryDAO queryDao;
//设置下拉列表项----下拉列表中的标签为Label,显示的值为从列表中select出的数据,作为value值
   public List<Item> getCommodityTypeList() {
	 return queryDao.executeForObjectList("Common.selectCommodityType", null);
	}
   public String getCommodityTypeLabel(String commoditytypeValue) {
return queryDao.executeForObject("Common.selectCommodityTypeLabel", commoditytypeValue,String.class);
	}
}


CommodityTypeSqlMap.java

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
            PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
            "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<!-- SqlMap定義 -->
<sqlMap namespace="Commodity_type">
	<select id="selectCommodityTypeList"
		parameterClass="cn.agriculture.web.form.CommodityTypeForm"
		resultClass="cn.agriculture.web.form.CommodityTypeForm">
		SELECT 
		commodity_type.commodity_type_id as commodityTypeId,
		commodity_type.commodity_type_name as commodityTypeName,
		commodity_type.commodity_type_note as commodityTypeNote
		FROM commodity_type
	</select>

	<select id="selectCommodityType"
		parameterClass="cn.agriculture.web.form.CommodityTypeForm"
		resultClass="cn.agriculture.web.form.CommodityTypeForm">
		SELECT commodity_type.commodity_type_id as commodityTypeId,
		       commodity_type.commodity_type_name as commodityTypeName,
		       commodity_type.commodity_type_note as commodityTypeNote			
		FROM   commodity_type
	        WHERE  commodity_type.commodity_type_id = #commodityTypeId# 
	</select>
	
	<!-- 设定 commodityTypeId 自增1 -->
	<select id="getSeq" resultClass="java.lang.Integer">
		SELECT _nextval('commodityTypeId')
	</select>

	<insert id="addCommodityType" parameterClass="cn.agriculture.web.form.CommodityTypeForm">
		INSERT INTO commodity_type(commodity_type_id,commodity_type_name,commodity_type_note)
		VALUES(#commodityTypeId#, #commodityTypeName#, #commodityTypeNote#)
		
         *********//(检验输入内容是否已存在数据库中,不存在时可以插入到数据库中????)*********
	WHERE no exists (select * from commodity_type where commodity_type_name=commodity_type_name)
	</insert>
	
	<update id="updateCommodityType" parameterClass="cn.agriculture.web.form.CommodityTypeForm">
		UPDATE commodity_type SET commodity_type_name= #commodityTypeName#,
		commodity_type_note= #commodityTypeNote#
		WHERE commodity_type_id = #commodityTypeId#
	</update>
	
	<select id="selectCommodityTypeName"parameterClass="cn.agriculture.web.form.CommodityTypeForm">
		SELECT 
		   commodity_type.commodity_type_name as commodityTypeName
		   FROM commodity_type
	</select>
	<delete id="delCommodityType" parameterClass="cn.agriculture.web.form.CommodityTypeForm">
		DELETE FROM commodity_type
		WHERE commodity_type_id = #commodityTypeId#
	</delete>

</sqlMap>


CommodityTypeController.java

package cn.agriculture.web.controller;

@Slf4j
@Controller("CommodityTypeController")
@RequestMapping("/")
@PropertySource("classpath:system.properties")
public class CommodityTypeController {


	@Autowired
	CommodityTypeService commodityTypeService;
	
	@Autowired
	ItemListComponent itemListComponent;
	
	@Autowired
	private Environment env;
	
	//商品类型列表初始化
    @RequestMapping(value = "initCommodityType", method = RequestMethod.GET)
    public String initCommodityType(Model model) {
    	log.info("商品类型列表初始化");
    	model.addAttribute("list", commodityTypeService.searchCommodityTypeList());
        return "manager/commodityType/commodityTypeList";
    }
    
   
    @RequestMapping(value = "initAddCommodityType", method = RequestMethod.GET)
    public String initAddCommodityType(Model model) {
    	log.info("追加商品列表初始化");
    	CommodityTypeForm commodityTypeForm = new CommodityTypeForm();
    	model.addAttribute("commodityTypeForm", commodityTypeForm);
    	return "manager/commodityType/addCommodityType";
    }
    
	@RequestMapping(value = "addCommodityType", method = RequestMethod.POST)
	public String executeAddCommodityType(Model model, HttpSession session, @Valid @ModelAttribute("commodityTypeForm") CommodityTypeForm commodityTypeForm, BindingResult results) throws SQLException, IOException {
		log.info("添加商品类型信息");
		if(results.hasErrors()){
			model.addAttribute("commodityTypeForm", commodityTypeForm);
			return "manager/commodityType/addCommodityType";}
		
		**************//验证用户在线,若超时让用户重新登录***************
		//UVO uvo = (UVO)session.getAttribute("UVO");
		//commodityTypeForm.setUpdateUser(uvo.getUserName());
		*************//设置时间更新用于以时间刷新ID     ????
		Date date = new Date();
		SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		commodityTypeForm.setUpdateTime(dateformat.format(date));
		boolean result = commodityTypeService.addCommodityType(commodityTypeForm);
		if(!result) {
			throw new SQLException("商品类型添加失败!");
		}

		model.addAttribute("list", commodityTypeService.searchCommodityTypeList());	
        return "manager/commodityType/commodityTypeList";
	}
	
	@RequestMapping(value = "initEditCommodityType", method = RequestMethod.GET)
	public String initEditCommodityType(Model model, CommodityTypeForm commodityTypeForm) {
		log.info("修改商品类型初始化");
		CommodityTypeForm result = commodityTypeService.searchCommodityType(commodityTypeForm);
		model.addAttribute("commodityTypeForm", result);
		return "manager/commodityType/editCommodityType";
	}
	
	@RequestMapping(value = "editCommodityType", method = RequestMethod.POST)
	public String executeEditCommodityType(Model model,HttpSession session, @Valid @ModelAttribute("commodityTypeForm") CommodityTypeForm commodityTypeForm, BindingResult results) throws SQLException, IOException {
		log.info("修改商品类型");
		if(results.hasErrors()){
	    return "manager/commodityType/editCommodityType";}
		//UVO uvo = (UVO)session.getAttribute("UVO");
		//commodityTypeForm.setUpdateUser(uvo.getUserName());
		Date date = new Date();
		SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	    commodityTypeForm.setUpdateTime(dateformat.format(date));
		boolean result = commodityTypeService.selectCommodityType(commodityTypeForm);
		if(!result) {
			throw new SQLException("商品类型更新失败!");
		}
    	model.addAttribute("list", commodityTypeService.searchCommodityTypeList());  
        return "manager/commodityType/commodityTypeList";
	}
	
	@RequestMapping(value = "delCommodityType", method = RequestMethod.GET)
	public String executeDelCommodityType(Model model, CommodityTypeForm commodityTypeForm) throws SQLException {
		log.info("删除商品信息");
		boolean result = commodityTypeService.delCommodityType(commodityTypeForm);
		if(!result) {
			throw new SQLException("商品类型删除失败!");
		}
		model.addAttribute("list", commodityTypeService.searchCommodityTypeList());		
		return "manager/commodityType/commodityTypeList";
	}

}


SqlMapConfig.xml    (此文件主要管理所有的SqlMap文件)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
            PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
            "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<!-- SqlMapConfig定義 -->
<sqlMapConfig>
    <settings useStatementNamespaces="true" />
    <typeHandler jdbcType="BLOB" javaType="[B" callback="org.springframework.orm.ibatis.support.BlobByteArrayTypeHandler" />
  <sqlMap resource="CommodityTypeSqlMap.xml" />




转载于:https://my.oschina.net/u/2411768/blog/486231

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值