需求:
分析:
前端文件: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";
}