org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource#org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate源码实例Demo

下面列出了org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource#org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/**
 * @方法名 page1
 * @功能 TODO(这里用一句话描述这个方法的作用)
 * @参数 @param vo
 * @参数 @return
 * @返回 Page<SysDbmsTabsColsInfo>
 * @author Administrator
 * @throws
 */
public List<SysDbmsTabsColsInfo> page1(Pagination<SysDbmsTabsMergeInfo> vo) {
	StringBuilder stringBuilder = new StringBuilder();
	stringBuilder.append(" SELECT * FROM sys_dbms_tabs_cols_info c");
	stringBuilder.append(" WHERE c.uuid not IN (");
	stringBuilder.append(" 	SELECT m.cols_uuid_1 FROM sys_dbms_tabs_merge_info m ");
	if (vo.getInfo().getTableUuid1() != null && vo.getInfo().getTableUuid2() != null) {
		stringBuilder.append(" 	WHERE m.table_uuid_1 = '" + vo.getInfo().getTableUuid1() + "'");
		stringBuilder.append(" 	AND m.table_uuid_2 = '" + vo.getInfo().getTableUuid2() + "'");
	} else {
		stringBuilder.append(" 	WHERE 1=0");
	}
	stringBuilder.append(" )");
	stringBuilder.append(" AND c.tabs_uuid = '" + vo.getInfo().getTableUuid1() + "'");
	stringBuilder.append(" ORDER BY c.cols_order");
	NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(jdbcTemplate);
	List<SysDbmsTabsColsInfo> list = template.query(stringBuilder.toString(), new BeanPropertyRowMapper<>(SysDbmsTabsColsInfo.class));
	return list;
}
 
源代码2 项目: alf.io   文件: FileUploadRepository.java
default void upload(UploadBase64FileModification file, String digest, Map<String, String> attributes) {
    LobHandler lobHandler = new DefaultLobHandler();

    NamedParameterJdbcTemplate jdbc = getNamedParameterJdbcTemplate();

    jdbc.getJdbcOperations().execute("insert into file_blob (id, name, content_size, content, content_type, attributes) values(?, ?, ?, ?, ?, ?)",
        new AbstractLobCreatingPreparedStatementCallback(lobHandler) {
            @Override
            protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                ps.setString(1, digest);
                ps.setString(2, file.getName());
                ps.setLong(3, file.getFile().length);
                lobCreator.setBlobAsBytes(ps, 4, file.getFile());
                ps.setString(5, file.getType());
                ps.setString(6, Json.GSON.toJson(attributes));
            }
        });
}
 
源代码3 项目: openemm   文件: DBase.java
private NamedParameterJdbcTemplate revalidateJdbc (NamedParameterJdbcTemplate jdbc) {
	if (jdbc != null) {
		try {
			NamedParameterJdbcTemplate	newJdbc = request ();
				
			if (jdbc == jdbcTmpl) {
				jdbcTmpl = newJdbc;
				data.logging (Log.DEBUG, "db", "Replaced default jdbc connection");
			} else {
				data.logging (Log.DEBUG, "db", "Replaced local jdbc connection");
			}
			jdbc = newJdbc;
		} catch (Exception e) {
			data.logging (Log.ERROR, "db", "Failed to create replacement jdbc connection", e);
			jdbc = null;
		}
	}
	return jdbc;
}
 
@Test
public void testInsertion() {
	NamedParameterJdbcOperations namedParameterJdbcOperations = new NamedParameterJdbcTemplate(jdbcOperations);
	Map<String, Object> mapA = new HashMap<>();
	mapA.put("a", "hello1");
	mapA.put("b", 42);
	Map<String, Object> mapB = new HashMap<>();
	mapB.put("a", "hello2");
	mapB.put("b", null);
	Map<String, Object> mapC = new HashMap<>();
	mapC.put("a", "hello3");
	channels.input().send(MessageBuilder.withPayload(mapA).build());
	channels.input().send(MessageBuilder.withPayload(mapB).build());
	channels.input().send(MessageBuilder.withPayload(mapC).build());
	Assert.assertThat(namedParameterJdbcOperations.queryForObject(
			"select count(*) from messages where a = :a and b = :b", mapA, Integer.class), is(1));
	Assert.assertThat(namedParameterJdbcOperations.queryForObject(
			"select count(*) from messages where a = :a and b IS NULL", mapB, Integer.class), is(1));
	Assert.assertThat(namedParameterJdbcOperations.queryForObject(
			"select count(*) from messages where a = :a and b IS NULL", mapC, Integer.class), is(1));
}
 
@Autowired
DemoModeDataManagerIntegrationTest(ConfigurationRepository configurationRepository,
                                   OrganizationRepository organizationRepository,
                                   UserManager userManager,
                                   NamedParameterJdbcTemplate jdbcTemplate,
                                   EventManager eventManager,
                                   EventRepository eventRepository,
                                   DemoModeDataManager demoModeDataManager) {
    this.configurationRepository = configurationRepository;
    this.organizationRepository = organizationRepository;
    this.userManager = userManager;
    this.jdbcTemplate = jdbcTemplate;
    this.eventManager = eventManager;
    this.eventRepository = eventRepository;
    this.demoModeDataManager = demoModeDataManager;
}
 
public JdbcDataflowTaskExecutionMetadataDao(DataSource dataSource,
		DataFieldMaxValueIncrementer incrementer) {

	this.incrementer = incrementer;

	this.jdbcTemplate = new NamedParameterJdbcTemplate(dataSource);

	this.objectMapper = new ObjectMapper();
	SimpleModule module = new SimpleModule();
	module.addDeserializer(Resource.class,
			new ResourceDeserializer(new AppResourceCommon(new MavenProperties(), new DefaultResourceLoader())));
	this.objectMapper.registerModule(module);
	this.objectMapper.addMixIn(Resource.class, ResourceMixin.class);
	this.objectMapper.addMixIn(AppDefinition.class, AppDefinitionMixin.class);
	this.objectMapper.addMixIn(AppDeploymentRequest.class, AppDeploymentRequestMixin.class);
	this.objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);

	this.dataSource = dataSource;
}
 
源代码7 项目: bamboobsc   文件: SysLoginLogSupport.java
public static void log(String userId) {
	if ( StringUtils.isBlank(userId) ) {
		log.warn("null userId");
		return;
	}
	NamedParameterJdbcTemplate namedParameterJdbcTemplate = (NamedParameterJdbcTemplate)AppContext.getBean("namedParameterJdbcTemplate");
	Map<String, Object> paramMap = new HashMap<String, Object>();
	paramMap.put("oid", SimpleUtils.getUUIDStr());
	paramMap.put("user", userId);
	paramMap.put("cuserid", "SYS");
	paramMap.put("cdate", new Date());
	try {
		namedParameterJdbcTemplate.update("insert into tb_sys_login_log(OID, USER, CUSERID, CDATE) values(:oid, :user, :cuserid, :cdate)", paramMap);
	} catch (Exception e) {
		e.printStackTrace();
		log.error( e.getMessage().toString() );
	}		
}
 
源代码8 项目: n2o-framework   文件: SqlJpqlUtil.java
public static Object[] executeQueries(NamedParameterJdbcTemplate template, List<String> queries, Map<String, Object> args) {

        queries = queries.stream().map(String::trim).filter(q -> !q.isEmpty()).collect(toList());

        Object[] res = new Object[queries.size()];

        for (int i = 0; i < queries.size(); i++) {
            try {
                res[i] = executeQuery(template, args, queries.get(i));
            } catch (Exception e) {
                String summary = InvocationUtil.findSqlSummary(e);
                if (summary != null) {
                    throw new N2oUserException(summary);
                }
                throw new N2oException("SQL:" + queries.get(i)+ " Args:" + args, e);
            }
        }
        return res;
    }
 
源代码9 项目: base-framework   文件: Fixtures.java
/**
 * 删除指定的表, 在删除期间disable外键的检查.
 */
public static void deleteTable(DataSource h2DataSource, String... tableNames) {
	NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(h2DataSource);

	template.update("SET REFERENTIAL_INTEGRITY FALSE",new HashMap<String, Object>());

	for (String tableName : tableNames) {
		template.update("DELETE FROM " + tableName,new HashMap<String, Object>());
	}

	template.update("SET REFERENTIAL_INTEGRITY TRUE",new HashMap<String, Object>());
}
 
源代码10 项目: bamboobsc   文件: BaseDAO.java
@Autowired
@Required
@Resource(name="namedParameterJdbcTemplate")	
public void setNamedParameterJdbcTemplate(
		NamedParameterJdbcTemplate namedParameterJdbcTemplate) {
	this.namedParameterJdbcTemplate = namedParameterJdbcTemplate;
}
 
源代码11 项目: alf.io   文件: DataSourceConfiguration.java
@Bean
@Profile({"!"+Initializer.PROFILE_INTEGRATION_TEST, "travis"})
public DataSource getDataSource(Environment env, PlatformProvider platform) {
    if(platform == PlatformProvider.CLOUD_FOUNDRY) {
        return new FakeCFDataSource();
    } else {
        HikariDataSource dataSource = new HikariDataSource();
        dataSource.setJdbcUrl(platform.getUrl(env));
        dataSource.setUsername(platform.getUsername(env));
        dataSource.setPassword(platform.getPassword(env));
        dataSource.setDriverClassName("org.postgresql.Driver");
        dataSource.setMaximumPoolSize(platform.getMaxActive(env));
        dataSource.setMinimumIdle(platform.getMinIdle(env));
        dataSource.setConnectionTimeout(1000L);

        log.debug("Connection pool properties: max active {}, initial size {}", dataSource.getMaximumPoolSize(), dataSource.getMinimumIdle());

        // check
        boolean isSuperAdmin = Boolean.TRUE.equals(new NamedParameterJdbcTemplate(dataSource)
            .queryForObject("select usesuper from pg_user where usename = CURRENT_USER",
                new EmptySqlParameterSource(),
                Boolean.class));

        if (isSuperAdmin) {
            log.warn("You're accessing the database using a superuser. This is highly discouraged since it will disable the row security policy checks.");
        }

        //
        return dataSource;
    }
}
 
源代码12 项目: SpringAll   文件: StudentDaoImp.java
@Override
public int add(Student student) {
	// String sql = "insert into student(sno,sname,ssex) values(?,?,?)";
	// Object[] args = { student.getSno(), student.getName(), student.getSex() };
	// int[] argTypes = { Types.VARCHAR, Types.VARCHAR, Types.VARCHAR };
	// return this.jdbcTemplate.update(sql, args, argTypes);
	String sql = "insert into student(sno,sname,ssex) values(:sno,:name,:sex)";
	NamedParameterJdbcTemplate npjt = new NamedParameterJdbcTemplate(this.jdbcTemplate.getDataSource());
	return npjt.update(sql, new BeanPropertySqlParameterSource(student));
}
 
源代码13 项目: openemm   文件: DBase.java
/**
 * releases a former requested jdbc template
 * 
 * @param temp the jdbc instance to be released
 * @return null
 */
public NamedParameterJdbcTemplate release (NamedParameterJdbcTemplate temp) {
	if (temp != jdbcTmpl) {
		temp = null;
	}
	return null;
}
 
/**
 * @param tableName
 * 方法名: buildBarOrLineType1
 * 功 能: TODO(这里用一句话描述这个方法的作用)
 * 参 数: @param sbWhere
 * 参 数: @param type1
 * 参 数: @param info
 * 参 数: @param map
 * 返 回: void
 * 作 者 : Administrator
 * @throws
 */
private void buildBarOrLineType1(StringBuilder sbWhere, String type1, SysDbmsChartDimension info, Map<String, Object> map, String tableName) {
	StringBuilder sql = new StringBuilder();
	Map<String, Object> param = new HashMap<>();
	sql.append("SELECT  " + type1 + " AS ask,COUNT(1) AS num FROM " + tableName + " t " + " WHERE " + type1 + " IS NOT NULL " + " AND " + type1 + "  <>'' " + sbWhere.toString() + " " + " GROUP BY " + type1 + " " + "ORDER BY " + type1 + " ");
	NamedParameterJdbcTemplate template2 = new NamedParameterJdbcTemplate(jdbcTemplate);
	List<Map<String, Object>> listMap2 = template2.queryForList(sql.toString(), param);

	List<Map<String, Object>> series_data = new ArrayList<>();
	List<String> legend_data = new ArrayList<>();
	legend_data.add("数量");
	Map<String, Object> sdata = new HashMap<>();
	sdata.put("type", "tbar".equals(info.getChartType()) ? "bar" : info.getChartType());
	sdata.put("name", "数量");
	List<Integer> series_data_data = new ArrayList<>();
	List<String> xAxis_data = new ArrayList<>();
	for (Map<String, Object> map2 : listMap2) {
		series_data_data.add(Integer.valueOf(map2.get("num").toString()));
		xAxis_data.add(map2.get("ask").toString());
	}
	sdata.put("data", series_data_data);
	series_data.add(sdata);
	map.put("series_data", series_data);
	map.put("xAxis_data", xAxis_data);
	map.put("legend_data", legend_data);
	map.put("chartType", info.getChartType());
}
 
源代码15 项目: airsonic   文件: GenericDaoHelper.java
public GenericDaoHelper(
        DataSource dataSource
) {
    this.dataSource = dataSource;
    this.jdbcTemplate = new JdbcTemplate(dataSource);
    this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
}
 
源代码16 项目: openemm   文件: DBase.java
public Retry (String nName, DBase nDBase, NamedParameterJdbcTemplate nJdbc, T nPriv) {
	name = nName;
	dbase = nDBase;
	jdbc = nJdbc;
	priv = nPriv;
	error = null;
}
 
@Autowired
public JdbcVisitRepositoryImpl(DataSource dataSource) {
    this.jdbcTemplate = new NamedParameterJdbcTemplate(dataSource);

    this.insertVisit = new SimpleJdbcInsert(dataSource)
        .withTableName("visits")
        .usingGeneratedKeyColumns("id");
}
 
源代码18 项目: openemm   文件: DBase.java
private long doQueryLong (NamedParameterJdbcTemplate jdbc, String q, Map <String, Object> packed) throws SQLException {
	show ("QYL", q, packed);

	Retry <Object>	r = new Retry <Object> ("queryLong", this, jdbc) {
		@Override
		public void execute () throws SQLException {
			priv = (new DBAccessSingle <Long> (data, jdbc)).query (q, packed);
		}
	};
	if (retry (r)) {
		return r.priv != null ? ((Number) r.priv).longValue () : 0L;
	}
	throw failure (q, r.error);
}
 
源代码19 项目: heimdall   文件: OperationJDBCRepository.java
public List<String> findOperationsFromAllApis(List<Long> apiIds) {

		Map<String, Object> params = new HashMap<>();
		params.put("ids", apiIds);
		
		StringBuilder sql = new StringBuilder(190);
		sql.append("SELECT CONCAT(API.BASE_PATH, OP.PATH) ");
		sql.append("FROM OPERATIONS OP ");
		sql.append("INNER JOIN RESOURCES RES ON OP.RESOURCE_ID = RES.ID ");
		sql.append("INNER JOIN APIS API ON RES.API_ID = API.ID ");
		sql.append("WHERE API.ID IN (:ids) ");

		return new NamedParameterJdbcTemplate(jdbcTemplate).queryForList(sql.toString(), params, String.class);
	}
 
源代码20 项目: jeecg-cloud   文件: DynamicDBUtil.java
/**
 * 支持miniDao语法操作的查询
 *
 * @param dbKey 数据源标识
 * @param sql   执行sql语句,sql支持minidao语法逻辑
 * @param data  sql语法中需要判断的数据及sql拼接注入中需要的数据
 * @return
 */
public static List<Map<String, Object>> findListByHash(final String dbKey, String sql, HashMap<String, Object> data) {
    List<Map<String, Object>> list;
    JdbcTemplate jdbcTemplate = getJdbcTemplate(dbKey);
    //根据模板获取sql
    sql = FreemarkerParseFactory.parseTemplateContent(sql, data);
    NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate.getDataSource());
    list = namedParameterJdbcTemplate.queryForList(sql, data);
    return list;
}
 
源代码21 项目: jeecg-cloud   文件: DynamicDBUtil.java
/**
 * 支持miniDao语法操作的查询 返回单列数据list
 *
 * @param dbKey 数据源标识
 * @param sql   执行sql语句,sql支持minidao语法逻辑
 * @param clazz 类型Long、String等
 * @param data  sql语法中需要判断的数据及sql拼接注入中需要的数据
 * @return
 */
public static <T> List<T> findListByHash(final String dbKey, String sql, Class<T> clazz, HashMap<String, Object> data) {
    List<T> list;
    JdbcTemplate jdbcTemplate = getJdbcTemplate(dbKey);
    //根据模板获取sql
    sql = FreemarkerParseFactory.parseTemplateContent(sql, data);
    NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate.getDataSource());
    list = namedParameterJdbcTemplate.queryForList(sql, data, clazz);
    return list;
}
 
/**
 * 方法名: buildPie
 * 功 能: TODO(这里用一句话描述这个方法的作用)
 * 参 数: @param map
 * 参 数: @param info
 * 参 数: @param list
 * 返 回: void
 * 作 者 : Administrator
 * @throws
 */
public void buildPie(Map<String, Object> map, SysDbmsChartDimension info, StringBuilder sbWhere, String type1, String tableName) {
	
	List<String> legend_data = new ArrayList<>();
	List<Map<String, Object>> series_data = new ArrayList<>();
	StringBuilder sql = new StringBuilder();
	Map<String, Object> param = new HashMap<>();
	// 默认表结构
	sql.append(" select  " + type1 + " as aks,count(1) as num");
	sql.append(" from " + tableName + "  ");
	sql.append(" where 1=1 ");
	sql.append(" and  " + type1 + " is not null ");
	sql.append(" and  " + type1 + " <> '' ");
	sql.append(sbWhere.toString());
	sql.append(" group by  " + type1);

	NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(jdbcTemplate);
	List<Map<String, Object>> listMap = template.queryForList(sql.toString(), param);
	for (Map<String, Object> map2 : listMap) {
		legend_data.add(map2.get("aks").toString());
		// {value:92503371, name:'男'}
		Map<String, Object> data = new HashMap<>();
		data.put("value", Integer.valueOf(map2.get("num").toString()));
		data.put("name", map2.get("aks").toString());
		series_data.add(data);
	}
	map.put("legend_data", legend_data);
	map.put("series_data", series_data);
	map.put("chartType", info.getChartType());
}
 
public OrderRepresentationService(OrderRepository orderRepository,
                                  NamedParameterJdbcTemplate jdbcTemplate,
                                  DefaultObjectMapper objectMapper) {
    this.orderRepository = orderRepository;
    this.jdbcTemplate = jdbcTemplate;
    this.objectMapper = objectMapper;
}
 
public List<Book> findByTitle(String phrase) {
   NamedParameterJdbcTemplate named =
      new NamedParameterJdbcTemplate(jdbcTemplate);
   SqlParameterSource namedParameters
      = new MapSqlParameterSource("search_phrase", phrase);

   String sql = "SELECT * FROM book WHERE title = :search_phrase";

   return named.query(
      sql,
      namedParameters,
      new BeanPropertyRowMapper<>(Book.class));
}
 
@Autowired
public JdbcPetRepositoryImpl(DataSource dataSource, OwnerRepository ownerRepository, VisitRepository visitRepository) {
    this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);

    this.insertPet = new SimpleJdbcInsert(dataSource)
        .withTableName("pets")
        .usingGeneratedKeyColumns("id");

    this.ownerRepository = ownerRepository;
    this.visitRepository = visitRepository;
}
 
源代码26 项目: qconfig   文件: CandidateSnapshotDaoImpl.java
@Override
public List<CandidateSnapshot> getSnapshotAfterVersion(ConfigMeta meta, Long version) {
    if (version < 0) {
        return Lists.newArrayList();
    }
    NamedParameterJdbcTemplate nameJdbc = new NamedParameterJdbcTemplate(jdbcTemplate);
    MapSqlParameterSource parameter = new MapSqlParameterSource();
    parameter.addValue("group_id", meta.getGroup());
    parameter.addValue("version", version);
    parameter.addValue("profile", meta.getProfile());
    parameter.addValue("data_id", meta.getDataId());
    return nameJdbc.query(SELECT_VERSION_AFTER_OPERATOR, parameter, SNAPSHOT_MAPPER);
}
 
源代码27 项目: bamboobsc   文件: ExportData2CsvUtils.java
private static String processCsvText(ExportDataConfig config, NamedParameterJdbcTemplate jdbcTemplate, 
		Map<String, Object> sqlParamMap) throws Exception {
	logger.info("export-Id: " + config.getId() + " name: " + config.getName());
	StringBuilder out = new StringBuilder();
	out.append(config.getTitle()).append("\r\n");
	List<Map<String, Object>> results = jdbcTemplate.queryForList(config.getSql(), sqlParamMap);
	for (int i=0; results!=null && i<results.size(); i++) {
		Map<String, Object> dataMap = results.get(i);
		for (Map.Entry<String, Object> entry : dataMap.entrySet()) {
			if ( entry.getValue() != null ) {
				String str = "";
				if (entry.getValue() instanceof byte[]) { // blob text
					str = new String( (byte[])entry.getValue() , Constants.BASE_ENCODING );
				} else {
					str = String.valueOf( entry.getValue() );
				}					
				if (config.isEscapeCsv()) {
					//str = StringEscapeUtils.escapeCsv(str);
					str = SimpleUtils.escapeCsv(str);
				}
				if (StringUtils.isBlank(str)) {
					str = " ";
				}
				out.append("\"").append(str).append("\"");					
			} else {
				out.append(" ");
			}
			out.append( config.getSeparateSymbol() );
		}
		out.append("\r\n");
	}
	return out.toString();
}
 
源代码28 项目: piper   文件: JdbcJobRepositoryTests.java
@Test
public void test1 () {
  JdbcTaskExecutionRepository taskRepository = new JdbcTaskExecutionRepository();
  taskRepository.setJdbcOperations(new NamedParameterJdbcTemplate(dataSource));
  taskRepository.setObjectMapper(createObjectMapper());
  
  JdbcJobRepository jobRepository = new JdbcJobRepository();
  jobRepository.setJdbcOperations(new NamedParameterJdbcTemplate(dataSource));
  jobRepository.setJobTaskRepository(taskRepository);
  
  int pageTotal = jobRepository.getPage(1).getSize();
  
  String id = UUIDGenerator.generate();
  
  SimpleJob job = new SimpleJob();
  job.setPipelineId("demo:1234");
  job.setId(id);
  job.setCreateTime(new Date());
  job.setStatus(JobStatus.CREATED);
  jobRepository.create(job);
  
  Page<JobSummary> all = jobRepository.getPage(1);
  Assertions.assertEquals(pageTotal+1,all.getSize());
  
  Job one = jobRepository.getById(id);
  Assertions.assertNotNull(one);
}
 
源代码29 项目: tutorials   文件: EmployeeDAO.java
@Autowired
public void setDataSource(final DataSource dataSource) {
    jdbcTemplate = new JdbcTemplate(dataSource);

    namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
    simpleJdbcInsert = new SimpleJdbcInsert(dataSource).withTableName("EMPLOYEE");

}
 
/**
 * @方法名 findAllBySysTableInfoAndUsername
 * @功能 TODO(这里用一句话描述这个方法的作用)
 * @参数 @param sysDbmsTabsInfo
 * @参数 @return
 * @返回 List<SysDbmsTabsInfo>
 * @author Administrator
 * @throws
 */
public List<SysDbmsTabsInfo> findAllBySysTableInfoAndUsername(SysDbmsTabsInfo sysDbmsTabsInfo) {
	// 多条件时循环查询并找出userindex都有的表
	StringBuilder stringBuilder = new StringBuilder();
	stringBuilder.append("select distinct * from sys_dbms_tabs_info a ");
	stringBuilder.append("  where a.uuid in ( ");
	stringBuilder.append("   select b.tabs_id from sys_roles_tabs_info b ");
	stringBuilder.append("    where b.role_id in (");
	stringBuilder.append("     select c.roles_id from sys_user_roles_info c");
	stringBuilder.append("      where c.user_id in ( ");
	stringBuilder.append("       select d.uuid from sys_user_base_info d");
	stringBuilder.append("        where d.user_name = '" + sysDbmsTabsInfo.getCreateUser() + "'");
	stringBuilder.append("      ) and c.checked = 1");
	stringBuilder.append("    ) ");
	stringBuilder.append("  ) and a.delete_flag = 0");
	if (sysDbmsTabsInfo.getTypeUuid() != null && !"".equals(sysDbmsTabsInfo.getTypeUuid())) {
		stringBuilder.append("  and a.type_uuid = '" + sysDbmsTabsInfo.getTypeUuid() + "' ");
	}
	
	if (sysDbmsTabsInfo.getJdbcUuid() != null && !"".equals(sysDbmsTabsInfo.getJdbcUuid())) {
		stringBuilder.append("  and a.jdbc_uuid = '" + sysDbmsTabsInfo.getJdbcUuid() + "' ");
	}
	stringBuilder.append("  order by a.tabs_order ");
	NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(jdbcTemplate);
	List<SysDbmsTabsInfo> tabsList = template.query(stringBuilder.toString(), new BeanPropertyRowMapper<>(SysDbmsTabsInfo.class));
	// 多条件查询
	return tabsList;
}