数据字典:

  • 字典表和客户表的关系
  • 配置字典表
  • 配置客户表
  • Spring管理映射文件

1 字典表和客户表的关系

2 配置字典表

3  配置客户表

4  Spring管理映射文件

异步查询客户:

页面加载的时候,callback函数将对应信息字典表id,通过callback回调函数传给Action,action调用业务层,业务层调用DAO从数据库里面将需要的数据,再由Action传给页面。

  • 前端页面
  • Action
  • Service
  • DAO

1 前端交互:

2 Action:

package com.mycrm.web.action;

import java.io.IOException;
import java.util.List; import org.apache.logging.log4j.core.config.json.JsonConfiguration;
import org.apache.struts2.ServletActionContext; import com.mycrm.domain.BaseDict;
import com.mycrm.service.BaseDictService;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven; import net.sf.json.JSONArray;
import net.sf.json.JsonConfig; /*
* 字典的Action
*/
public class BaseDictAction extends ActionSupport implements ModelDriven<BaseDict> {
// 模型驱动
private BaseDict baseDict = new BaseDict(); @Override
public BaseDict getModel() {
return baseDict;
} //注入Service
private BaseDictService baseDictService; public void setBaseDictService(BaseDictService baseDictService) {
this.baseDictService = baseDictService;
} //根据类型名称查询字典的方法,findByTypeCode
public String findByTypeCode() throws IOException{
System.out.println("BasedictAction中的findByTypeCode方法执行了");
List<BaseDict> list = baseDictService.findByTypeCode(baseDict.getDict_type_code());
//将list转成JSON,引入包 jsonlib/fastjson
/**
* JSONConfig:转JSON的配置对象
* JSONArray: 将数组和list集合转成JSON
* JSONObject: 将对象和MAP集合转成JSON
*/
//jsonConfig.setExcludes去掉不必要的字段
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(new String[]{"dict_sort","dict_enable","dict_memo"});
JSONArray jsonArray = JSONArray.fromObject(list,jsonConfig);
//将JSON打印到页面:
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
ServletActionContext.getResponse().getWriter().println(jsonArray.toString());
return NONE;
} }

3 Service:

package com.mycrm.service.impl;

import java.util.List;

import com.mycrm.dao.BaseDictDao;
import com.mycrm.domain.BaseDict;
import com.mycrm.service.BaseDictService; /**
*
* 字典业务层的实现类
*/
public class BaseDictServiceImpl implements BaseDictService {
// 注入Dao
private BaseDictDao baseDictDao; public void setBaseDictDao(BaseDictDao baseDictDao) {
this.baseDictDao = baseDictDao;
} @Override
public List<BaseDict> findByTypeCode(String dict_type_code) {
return baseDictDao.findByTypeCode(dict_type_code) ;
} }

4 DAO:

package com.mycrm.dao.impl;

import java.util.List;

import org.springframework.orm.hibernate5.support.HibernateDaoSupport;

import com.mycrm.dao.BaseDictDao;
import com.mycrm.domain.BaseDict; public class BaseDictDaoImpl extends HibernateDaoSupport implements BaseDictDao { @Override
public List<BaseDict> findByTypeCode(String dict_type_code) {
return (List<BaseDict>) this.getHibernateTemplate().find("from BaseDict where dict_type_code=?", dict_type_code);
} }

二 配置数据字典&异步查询客户的更多相关文章

  1. mysql性能优化-慢查询分析、优化索引和配置 (慢查询日志,explain,profile)

    mysql性能优化-慢查询分析.优化索引和配置 (慢查询日志,explain,profile) 一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 ...

  2. 《Entity Framework 6 Recipes》中文翻译系列 (41) ------ 第七章 使用对象服务之标识关系中使用依赖实体与异步查询保存

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-7  标识关系中使用依赖实体 问题 你想在标识关系中插入,更新和删除一个依赖实体 ...

  3. Spring Security教程(二):自定义数据库查询

    Spring Security教程(二):自定义数据库查询   Spring Security自带的默认数据库存储用户和权限的数据,但是Spring Security默认提供的表结构太过简单了,其实就 ...

  4. CRL快速开发框架系列教程二(基于Lambda表达式查询)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  5. TFS API:二、TFS 代码查询工作项

    TFS API:二.TFS  代码查询工作项 首先我们需要认识TFS的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection, ...

  6. 《Entity Framework 6 Recipes》中文翻译系列 (11) -----第三章 查询之异步查询

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第三章 查询 前一章,我们展示了常见数据库场景的建模方式,本章将向你展示如何查询实体 ...

  7. NHibernate系列文章二十三:NHibernate查询之Criteria查询(附程序下载)

    摘要 上一篇文章介绍了NHibernate HQL,他的缺点是不能够在编译时发现问题.如果数据库表结构有改动引起了实体关系映射的类有改动,要同时修改这些HQL字符串.这篇文章介绍NHibernate面 ...

  8. MSSQL数据库链接字符串Asynchronous Processing=true不是异步查询吗,怎么是缓存

    ;Asynchronous Processing=true  不是异步查询吗,怎么是缓存 <!--<add name="default" providerName=&q ...

  9. SQL总结(二)连表查询

    ---恢复内容开始--- SQL总结(二)连表查询 连接查询包括合并.内连接.外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要. 只有真正了解它们之间的区别,才能正确使用. 1.Union ...

随机推荐

  1. Codeforces Round #620 (Div. 2) B. Longest Palindrome

    Returning back to problem solving, Gildong is now studying about palindromes. He learned that a pali ...

  2. MariaDB-Galera部署

    Galera Cluster:集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的高可用方案,目前Galera Cluster有两个版本,分别是Percona Xtradb ...

  3. 洛谷 CF798C Mike and gcd problem

    嗯... 题目链接:https://www.luogu.org/problemnew/show/CF798C 这道题首先要会写gcd..也类似一种找规律吧... 问题的操作是在两个数的基础上进行的: ...

  4. 命令关闭tomcat

    1.netstat -ano|findstr 8080(默认端口为8080) 2. taskkill /F /PID 17652 关闭后面的进程号(17652),直到输入上面第三个命令查不到占用808 ...

  5. 关于PGSQL连接问题

    今天把运维管理服务移植在Linux下测试,但又不想在Linux中安装PGSQL的服务器,就想让运维管理服务在虚拟机中连接windows的PG服务,却发现PG服务器一直拒绝连接,检查了网络端口之后都没问 ...

  6. 自定义 directive pagination

    学习angular过程中,对directive 不是很了解,很有必要自己写一个,以便知道它的各方面的处理方式. directive 中 scope 与 controller 交互,有三种定义策略 &q ...

  7. centos7搭建hadoop2.10完全分布式

    本篇介绍在centos7中大家hadoop2.10完全分布式,首先准备4台机器:1台nn(namenode);3台dn(datanode) IP hostname 进程 192.168.30.141 ...

  8. MD5 加密解密字符串

    方法1: using System.Text; using System.Security.Cryptography; public string Hash(string toHash) { MD5C ...

  9. Spring Cloud 从入门到入门

    参考:https://blog.csdn.net/hellozpc/article/details/83692496 参考:https://www.fangzhipeng.com/spring-clo ...

  10. 学习笔记(13)- decaNLP训练WikiSQL

    将自然语言转为sql语句,达到对话查询报表的效果. 参考资料 参考1 https://mp.weixin.qq.com/s/i7WAFjQHK1NGVACR8x3v0A 语义解析.SQL查询生成与语义 ...