联系人与客户多对一配置&联系人列表&分页查询联系人
联系人管理:
联系人实体类:
package com.mycrm.domain; /** * 联系人的实体 * @author jt *CREATE TABLE `cst_linkman` ( `lkm_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '联系人编号(主键)', `lkm_name` varchar(16) DEFAULT NULL COMMENT '联系人姓名', `lkm_cust_id` bigint(32) NOT NULL COMMENT '客户id', `lkm_gender` char(1) DEFAULT NULL COMMENT '联系人性别', `lkm_phone` varchar(16) DEFAULT NULL COMMENT '联系人办公电话', `lkm_mobile` varchar(16) DEFAULT NULL COMMENT '联系人手机', `lkm_email` varchar(64) DEFAULT NULL COMMENT '联系人邮箱', `lkm_qq` varchar(16) DEFAULT NULL COMMENT '联系人qq', `lkm_position` varchar(16) DEFAULT NULL COMMENT '联系人职位', `lkm_memo` varchar(512) DEFAULT NULL COMMENT '联系人备注', PRIMARY KEY (`lkm_id`), KEY `FK_cst_linkman_lkm_cust_id` (`lkm_cust_id`), CONSTRAINT `FK_cst_linkman_lkm_cust_id` FOREIGN KEY (`lkm_cust_id`) REFERENCES `cst_customer` (`cust_id`) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; */ public class LinkMan { private Long lkm_id; private String lkm_name; private String lkm_gender; private String lkm_phone; private String lkm_mobile; private String lkm_email; private String lkm_qq; private String lkm_position; private String lkm_memo; //一个联系人只能对应一个客户,一个客户对应多个联系人。 //客户与联系人是一对多的关系,在多的一方放置一的一方的对象,一的一方放置多的一方的集合 private Customer customer;
联系人映射文件:
客户实体类:
客户映射文件:
Spring管理联系人:
业务层进行PageBean的设置与封装:
持久层统计个数,获取分页查询列表集合:
表现层:模型驱动,设置分页参数,将PageBean压入值栈:
public class LinkManAction extends ActionSupport implements ModelDriven<LinkMan>{ //模型驱动 public LinkMan linkMan = new LinkMan(); @Override public LinkMan getModel() { return linkMan; } //注入Service private LinkManService linkManService; public void setLinkManService(LinkManService linkManService) { this.linkManService = linkManService; } /** * 分页参数 */ private Integer currPage = 1; private Integer pageSize = 3; public void setCurrPage(Integer currPage) { if(currPage == null){ currPage =1; } this.currPage = currPage; } public void setPageSize(Integer pageSize) { if(pageSize == null){ pageSize = 3; } this.pageSize = pageSize; } /** * 查询联系人列表 * @return */ public String findAll(){ //创建离线条件查询 DetachedCriteria detachedCriteria = DetachedCriteria.forClass(LinkMan.class); //设置条件 //调用业务层 PageBean<LinkMan> pageBean = linkManService.findAll(detachedCriteria,currPage,pageSize); ActionContext.getContext().getValueStack().push(pageBean); return "findAll"; }
JSP:分页显示联系人列表
to_page函数实现数值改变,通过表单提交来改变分页参数
迭代器遍历list集合显示联系人数据:
通过to_page函数实现分页查询功能:首页不显示前一页,尾页不显示后一页
分类:
后端技术栈 / Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端