20200623

一、再次学习baseDao的使用;

1.get

  • public abstract Object get(Class cls, Number id);

  • 获取指定id的数据
  • Hibernate会确认一下该id对应的数据是否存在,首先在session缓存中查找,然后在二级缓存中查找,还没有就查询数据库,数据库中没有就返回null
ApproveOnline approveOnline = (ApproveOnline) baseDao.get(ApproveOnline.class, approveOnlineId);
IMaterial oMaterial = (IMaterial) baseDao.get(Material.class, mid);

2.sql 

  • public abstract List sql(Class cls, String sql);

  • 根据sql,对数据进行操作(增删改查)

    DynamicSqlConfig config = DynamicSqlConfig.getConfigInfo("dynamicsql",
                "orup.xml", "getBureauUnits");
        List organizations = new ArrayList();
        List list = baseDao.sql(Organization.class, config.getSqlStr());
  • public List sql(String dbName, String sql, Map args);

  • 根据传入的参数拼接到sql,对数据进行操作(增删改查)
DynamicSqlConfig config = DynamicSqlConfig.getConfigInfo("dynamicsql","process.xml", "getProcessButtonPrivilege");
Map args = new HashMap();
        args.put("businessId", businessId);
		args.put("activityName", activityName);
List list = baseDao.sql(config.getDbName(), config.getMixSqlStr(),args);

		
		
			
			
		
	
	
  • public abstract List sql(Class cls, String sql, Map args);

  • 根据传入的参数拼接到sql,对数据进行操作(增删改查)
 DynamicSqlConfig config = DynamicSqlConfig.getConfigInfo("database.xml", "getProjectEndYKDEntity");
        Map args = new HashMap();
        List projectEndInstances = (List) baseDao.sql(ProjectEndInstance.class,
                config.getMixSqlStr(args.keySet(), args.keySet()) + "" + config.getEndsqlStr(), args);

 3.SQLPageToType

  • public abstract  List SQLPageToType(Class cls, String sql, int pageNum, int pageSize, Map args);
  • 根据参数进行分页,操作数据
	DynamicSqlConfig config = DynamicSqlConfig.getConfigInfo("dynamicsql", "orup.xml","getSuspendAuthorityUser");
			Map argsMap = new HashMap();	
			argsMap.put("id", organization.getParentid());
			List users = baseDao.SQLPageToType(User.class, config.getMixSqlStr(), 0, Integer.MAX_VALUE,argsMap );

4.sqlAsMap 

  • public List> sqlAsMap(String string, String sql, Integer page, Integer pageSize);

DynamicSqlConfig config = DynamicSqlConfig.getConfigInfo("dynamicsql/project.xml", "getArchiveProjectList");
String sql = config.getMixSqlStr() + sqlFilter + config.getEndsqlStr();
baseDao.sqlAsMap(config.getDbName(), sql, 1, 500);
  • public List> sqlAsMap(String dbName, String sql, Integer pageNum, Integer pageSize, Map args);

 String tableName = "ld".equals(index) ? BDC_LD : BDC_ZH;
        String querySql = "select * from " + tableName + " where pid = " + projectId + " and bdcdyh like '%" + bdcdyh + "%' ";
        List> resList = baseDao.sqlAsMap(DataBase.Instance, querySql, pageIndex, pageSize, null);

5.save

  • public abstract Object save(Object ser);

     IMaterial materialFile = new Material();
        materialFile.setAdddate(new Date());
        materialFile.setDescription("YKD_FILE");
        materialFile.setExtension(extension);
        materialFile.setMaterialSize(String.valueOf(fileSize));
        baseDao.save(materialFile);
  • public abstract void saveAll(Class cls, List entities);

  • saveAlll和for循环一起使用
   for (Map map : resList) {
                TysbhEntity tysbhEntity = new TysbhEntity();
                tysbhEntity.setGmtCreate(new Date());
                tysbhEntity.setPid(MapUtils.getInteger(map, "PID"));
                tysbhEntity.setSource(MapUtils.getInteger(map, "APPLYSOURCE"));
                tysbhEntity.setTysbh(MapUtils.getString(map, "TYSBH"));
                tysbhEntities.add(tysbhEntity);
            }
            baseDao.saveAll(TysbhEntity.class, tysbhEntities);
  • public abstract void saveOrUpdate(Object ser);

    IProjectRelation projectRelation = projectRelationSupport
                    .getProjectRelation(projectId);
            projectRelation.setHeadprojectid(headProjectId);
            baseDao.saveOrUpdate(projectRelation);

 

6.criteria

  • 按条件进行查询

  • public abstract List criteria(Class cls, List criterions, int pageNum, int pageSize);

   List criterion = new ArrayList();
        if (StringUtils.isNotEmpty(queryFilter)) {
            criterion.add(Restrictions.like("businessName", queryFilter, MatchMode.ANYWHERE));
            criterion.add(Restrictions.like("reportType", queryFilter, MatchMode.ANYWHERE));
        }
        List configList = (List) baseDao.criteria(WordReportConfig.class, criterion, pageIndex, pageSize);
  • public abstract List criteria(Class cls, List criterions, Order order, int pageNum, int pageSize);

        List cs = new ArrayList();
        cs.add(Restrictions.in("businessId", bizIds));
        cs.add(Restrictions.ne("syncGt", 1));
        List resList = (List)
                baseDao.criteria(ProjectEndInstance.class, cs,
                        Order.desc("updateTime"),
                        1,
                        15);
  • public abstract List criteria(Class cls, List criterions, Order order);

List criterions = new ArrayList();
		criterions.add(Restrictions.eq("id", id));
List sysMessageLst = baseDao.criteria(MessageItem.class,criterions,Order.desc("recodeDate"));

 7.count

  • 根据条件查询结果总数

  • public abstract int count(Class cls, List criterions);

        List criterions = new ArrayList();
        criterions.add(Restrictions.ne("state", 0));
        int count=baseDao.count(HzArchiveProject.class, criterions);

二、DataEngine(数据引擎)对项目数据的存取、修改

数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。

1.保存数据

  • public void saveData() throws Exception;

 

 

你可能感兴趣的:(实习日记)