Mybatis、Spring、SpringMVC 整合 实现从数据库查询的下拉列表 需求

需求:

在这里插入图片描述

分析:

前端文件:customer.jsp
前端请求名字:fromType
在这里插入图片描述
数据库:通过crm数据库中,base_dict表中,通过dict_tpye_code字段查询,002代表客户来源
在这里插入图片描述
 
 

步骤:

1、完成框架的XMl基础配置
2、持久层:使用 mybatis 动态代理方式,新建Mapper包,写字典数据表 持久化接口BaseDictMapper.java(就是以前的Dao接口)和符合动态代理的sql语句文件
3、业务层:根据Mapper对象和其方法封装一下查找代码
4、控制层(控制跳转)

注意:写的时候从底层到表层,但考虑的时候是从表层到底层
 
 
 

详细代码:

2、持久层
Bean

/**
 * 字典数据模型
 * @author Steven
 *
 */
public class BaseDict {
	private String dict_id;
	private String dict_type_code;
	private String dict_type_name;
	private String dict_item_name;
	private String dict_item_code;
	private Integer dict_sort;
	private String dict_enable;
	private String dict_memo;
	
	get,set,......

BaseDictMapper.java (传统方式是DAO)

/**
 * 字典数据表持久化接口
 * @author Steven
 *
 */
public interface BaseDictMapper {
	/**
	 * 跟据字典编码查询字典列表
	 * @param code
	 * @return
	 */
	List<BaseDict> getBaseDictByCode(String code);
}

BaseDictMapper.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="com.crm.mapper.BaseDictMapper">

	<select id="getBaseDictByCode" parameterType="string" resultType="basedict">
		SELECT
		  `dict_id`,
		  `dict_type_code`,
		  `dict_type_name`,
		  `dict_item_name`,
		  `dict_item_code`,
		  `dict_sort`,
		  `dict_enable`,
		  `dict_memo`
		FROM `base_dict`
		WHERE dict_type_code = #{code}
	</select>

</mapper>

3、业务层
BaseDictService

   /**
     * 字典数据表业务逻辑接口
     * @author Steven
     *
     */
    public interface BaseDictService {
    	/**
    	 * 跟据字典编码查询字典列表
    	 * @param code
    	 * @return
    	 */
    	List<BaseDict> getBaseDictByCode(String code);
    }

BaseDictServiceImpl

@Service
public class BaseDictServiceImpl implements BaseDictService {
	
	@Autowired
	private BaseDictMapper baseDictMapper;

	@Override
	public List<BaseDict> getBaseDictByCode(String code) {
		return baseDictMapper.getBaseDictByCode(code);
	}
}

4、控制层

通过…customer/list.action访问

/**
 * 客户信息请求请求处理
 * 
 * @author
 *
 */
@Controller
@RequestMapping("customer")
public class CustomerController {

	@Autowired
	private BaseDictService dictService;
	@Autowired
	private CustomerService customerService;


	@RequestMapping("list")
	public String list(Model model) {

		// 查询来源
		List<BaseDict> fromType = dictService.getBaseDictByCode(“002”);
		// 查询行业
		List<BaseDict> industryType = dictService.getBaseDictByCode(“006”);
		// 查询级别
		List<BaseDict> levelType = dictService.getBaseDictByCode(“001”);

		// 设置数据模型返回
		model.addAttribute("fromType", fromType);
		model.addAttribute("industryType", industryType);
		model.addAttribute("levelType", levelType)

		return "customer"; 
	}

猜你喜欢

转载自blog.csdn.net/feizai1208917009/article/details/85994591
今日推荐