Commit 8ce67187 by 陈文顺

query

parent b29bd008
/target/
*/target/
!.mvn/wrapper/maven-wrapper.jar
.DS_Store
### STS ###
......
package com.freemud.demo.dto;
/**
* Created by chenwenshun on 2018/11/8.
*/
public class ResDto<T> {
int code = 200;
String msg = "SUCCESS";
T body;
public ResDto() {
}
public ResDto(int code, String msg, T body) {
this.code = code;
this.msg = msg;
this.body = body;
}
public ResDto(T body) {
this.body = body;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getBody() {
return body;
}
public void setBody(T body) {
this.body = body;
}
}
#Generated by Apache Maven
#Fri Nov 02 18:15:46 CST 2018
version=1.0-SNAPSHOT
groupId=com.freemud.demo
artifactId=demo-sdk
com/freemud/demo/service/IDictService.class
com/freemud/demo/dto/DictTypeDto.class
com/freemud/demo/dto/DictDataDto.class
com/freemud/demo/dto/PageData.class
com/freemud/demo/dto/PageReq.class
/Users/chenwenshun/code/freemud/springDemo/demo-sdk/src/main/java/com/freemud/demo/dto/DictDataDto.java
/Users/chenwenshun/code/freemud/springDemo/demo-sdk/src/main/java/com/freemud/demo/dto/DictTypeDto.java
/Users/chenwenshun/code/freemud/springDemo/demo-sdk/src/main/java/com/freemud/demo/dto/PageReq.java
/Users/chenwenshun/code/freemud/springDemo/demo-sdk/src/main/java/com/freemud/demo/service/IDictService.java
/Users/chenwenshun/code/freemud/springDemo/demo-sdk/src/main/java/com/freemud/demo/dto/PageData.java
......@@ -24,6 +24,11 @@
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis3.version}</version>
......
package com.freemud.demo.cache;
import com.freemud.demo.dto.DictDataDto;
import com.freemud.demo.dto.DictTypeDto;
import com.freemud.demo.mapper.TDictDataMapper;
import com.freemud.demo.mapper.TDictTypeMapper;
import com.freemud.demo.model.TDictData;
import com.freemud.demo.model.TDictType;
import com.freemud.demo.util.RedisCache;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
* Created by chenwenshun on 2018/11/7.
*/
@Component
public class DictRedisCache extends RedisCache<DictTypeDto> {
@Autowired
TDictTypeMapper dictTypeMapper;
@Autowired
TDictDataMapper dictDataMapper;
@Override
public DictTypeDto searchDB(Object key) {
DictTypeDto dictTypeDto = new DictTypeDto();
TDictType dictType = dictTypeMapper.selectByPrimaryKey(key);
if (dictType == null){
return null;
}
BeanUtils.copyProperties(dictType, dictTypeDto);
List<TDictData> dictDataList = dictDataMapper.getByDictTypeId(dictType.getId());
if (dictDataList.isEmpty()){
return dictTypeDto;
}
List<DictDataDto> dictDataDtos = dictDataList.stream()
.map(d -> {
DictDataDto dictDataDto = new DictDataDto();
BeanUtils.copyProperties(d, dictDataDto);
return dictDataDto;
})
.collect(Collectors.toList());
dictTypeDto.setDictDataDtos(dictDataDtos);
return dictTypeDto;
}
@Override
public int getExprie() {
return 60*60*24;//24小时
}
}
......@@ -2,6 +2,16 @@ package com.freemud.demo.mapper;
import com.freemud.demo.model.TDictData;
import com.freemud.demo.util.MyMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface TDictDataMapper extends MyMapper<TDictData> {
List<TDictData> getByDictTypeId(@Param("dictTypeId") Long dictTypeId);
List<TDictData> loadDatasByTypeCd(@Param("typeCd") String typeCd);
TDictData getDictDataByCd(@Param("typeCd") String typeCd, @Param("dictCd") String dictCd );
}
\ No newline at end of file
package com.freemud.demo.mapper;
import com.freemud.demo.dto.PageReq;
import com.freemud.demo.model.TDictType;
import com.freemud.demo.util.MyMapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface TDictTypeMapper extends MyMapper<TDictType> {
List<Long> getIdsByTypeCdOrName(PageReq pageReq);
}
\ No newline at end of file
......@@ -27,7 +27,7 @@ import java.util.Map;
TDictType loadDictByCd(String dictTypeCd);
/** 根据cd取得数据字典 */
TDictData loadDictDataByCd(String dictTypeCd, String dictCd, boolean onlyEnable);
DictDataDto loadDictDataByCd(String dictTypeCd, String dictCd, boolean onlyEnable);
/** 保存 */
TDictType saveDict(DictTypeDto dto);
......@@ -44,7 +44,7 @@ import java.util.Map;
PageData<DictTypeDto> findPageDict(PageReq page);
/** 根据主表cd获取数据列表 */
List<TDictData> loadDatasByTypeCd(String dictTypeCd);
List<DictDataDto> loadDatasByTypeCd(String dictTypeCd, boolean onlyEnable);
......
......@@ -4,6 +4,8 @@ import com.freemud.demo.dto.DictDataDto;
import com.freemud.demo.dto.DictTypeDto;
import com.freemud.demo.dto.PageData;
import com.freemud.demo.dto.PageReq;
import com.freemud.demo.cache.DictRedisCache;
import com.freemud.demo.mapper.TDictDataMapper;
import com.freemud.demo.mapper.TDictTypeMapper;
import com.freemud.demo.model.TDictData;
import com.freemud.demo.model.TDictType;
......@@ -14,8 +16,6 @@ import com.google.common.collect.Lists;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
import java.util.Map;
......@@ -25,11 +25,17 @@ import java.util.stream.Collectors;
* Created by chenwenshun on 2018/11/2.
*/
@Service
public class DictTypeServiceImpl implements IDictTypeService {
public class DictTypeServiceImpl implements IDictTypeService{
@Autowired
private TDictTypeMapper dictTypeMapper;
@Autowired
private TDictDataMapper dictDataMapper;
@Autowired
DictRedisCache dictRedisCache;
@Override
public TDictType loadDictById(long dictTypeId) {
return null;
......@@ -41,8 +47,20 @@ public class DictTypeServiceImpl implements IDictTypeService {
}
@Override
public TDictData loadDictDataByCd(String dictTypeCd, String dictCd, boolean onlyEnable) {
return null;
public DictDataDto loadDictDataByCd(String dictTypeCd, String dictCd, boolean onlyEnable) {
TDictData dictData = this.dictDataMapper.getDictDataByCd(dictTypeCd, dictCd);
if (dictData == null){
return null;
}
DictDataDto dictDataDto = new DictDataDto();
BeanUtils.copyProperties(dictData, dictDataDto);
if (onlyEnable ){
if (!dictData.getEnableFlg()){
return null;
}
}
return dictDataDto;
}
......@@ -68,38 +86,52 @@ public class DictTypeServiceImpl implements IDictTypeService {
@Override
public PageData<DictTypeDto> findPageDict(PageReq pageReq) {
Page<TDictType> page = PageHelper.startPage(pageReq.getPageNo(),pageReq.getPageSize())
Page<Long> page = PageHelper.startPage(pageReq.getPageNo(),pageReq.getPageSize())
.doSelectPage(() -> {
Example example = new Example(TDictType.class);
Example.Criteria criteria = example.createCriteria();
if (!StringUtils.isEmpty(pageReq.getDictTypeCd())){
criteria.andEqualTo("dictTypeCd", pageReq.getDictTypeCd());
}
if (!StringUtils.isEmpty(pageReq.getDictTypeName())){
criteria.andLike("dictTypeName", pageReq.getDictTypeName()+"%");
}
this.dictTypeMapper.selectByExample(example);
this.dictTypeMapper.getIdsByTypeCdOrName(pageReq);
});
List<DictTypeDto> dictTypeDtoList = Lists.newArrayList();
List<DictTypeDto> list = page.stream()
.map(d -> {
DictTypeDto dictTypeDto = new DictTypeDto();
BeanUtils.copyProperties(d,dictTypeDto);
.map(id -> {
DictTypeDto dictTypeDto = this.dictRedisCache.getCache(id,DictTypeDto.class);
return dictTypeDto;
})
.collect(Collectors.toList());
return new PageData<DictTypeDto>(page.getTotal(), list);
}
@Override
public List<TDictData> loadDatasByTypeCd(String dictTypeCd) {
return null;
public List<DictDataDto> loadDatasByTypeCd(String dictTypeCd, boolean onlyEnable) {
List<DictDataDto> dictDataDtos = Lists.newArrayList();
List<TDictData> dictDataList = this.dictDataMapper.loadDatasByTypeCd(dictTypeCd);
if (dictDataList.isEmpty()){
return dictDataDtos;
}
if (onlyEnable){
dictDataDtos = dictDataList.stream()
.filter(TDictData::getEnableFlg)
.map(d -> {
DictDataDto dictDataDto = new DictDataDto();
BeanUtils.copyProperties(d, dictDataDto);
return dictDataDto;
})
.collect(Collectors.toList());
}else {
dictDataDtos = dictDataList.stream()
.map(d -> {
DictDataDto dictDataDto = new DictDataDto();
BeanUtils.copyProperties(d, dictDataDto);
return dictDataDto;
})
.collect(Collectors.toList());
}
return dictDataDtos;
}
@Override
......
package com.freemud.demo.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.SerializationException;
import java.nio.charset.Charset;
/**
* Created by chenwenshun on 2018/11/7.
*/
public class FastJsonRedisSerializer<T> implements RedisSerializer<T> {
public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
private Class<T> clazz;
public FastJsonRedisSerializer(Class<T> clazz) {
this.clazz = clazz;
}
@Override
public byte[] serialize(T t) throws SerializationException {
if (t == null){
return new byte[0];
}
return JSON.toJSONString(t, SerializerFeature.WriteClassName).getBytes(DEFAULT_CHARSET);
}
@Override
public T deserialize(byte[] bytes) throws SerializationException {
if (bytes == null || bytes.length <= 0) {
return null;
}
String str = new String(bytes, DEFAULT_CHARSET);
return (T) JSON.parseObject(str, clazz);
}
}
package com.freemud.demo.util;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.concurrent.TimeUnit;
/**
* Created by chenwenshun on 2018/9/4.
*/
public abstract class RedisCache<T> {
@Autowired
protected RedisUitl redisUitl;
/**
* 获取缓存
* @param key
* @param clazz
* @return
*/
public T getCache(Object key, Class<T> clazz){
String redisKey = getRedisKey(clazz.getName(), key);
T value = redisUitl.get(redisKey);
if (value != null){
return value;
}
value = searchDB(key);
if (value == null){
redisUitl.setEx(redisKey, value,30, TimeUnit.SECONDS);
}else {
redisUitl.setEx( redisKey,value, getExprie(), TimeUnit.SECONDS);
}
return value;
}
/**
* 更新缓存
* @param key
* @param value
*/
public void setCache(Object key, T value){
redisUitl.setEx( getRedisKey(value.getClass().getName(), key),value, getExprie(), TimeUnit.SECONDS);
}
public abstract T searchDB(Object key);
public abstract int getExprie();
private String getRedisKey(String keyPrefix, Object key){
return keyPrefix+"_"+key.toString();
}
}
package com.freemud.demo.util;
import com.alibaba.fastjson.parser.ParserConfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
* Created by chenwenshun on 2018/11/7.
*/
@Configuration
public class RedisConfig {
@Bean
public RedisSerializer getFastJsonRedisSerializer() {
return new FastJsonRedisSerializer(Object.class);
}
@Bean
@Primary
public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory, RedisSerializer fastJsonRedisSerializer) {
RedisTemplate template = new RedisTemplate();
template.setConnectionFactory(connectionFactory);
ParserConfig.getGlobalInstance().addAccept("com.freemud");
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(fastJsonRedisSerializer);
template.setHashValueSerializer(fastJsonRedisSerializer);
// template.setDefaultSerializer(fastJsonRedisSerializer);
template.setHashKeySerializer(new StringRedisSerializer());
template.afterPropertiesSet();
return template;
}
}
package com.freemud.demo.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.parser.ParserConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.util.concurrent.TimeUnit;
//import org.apache.commons.lang3.StringUtils;
/**
* Created by chenwenshun on 2018/9/4.
*/
@Component
public class RedisUitl{
@Autowired
private RedisTemplate redisTemplate;
public RedisTemplate getRedisTemplate(){
return redisTemplate;
}
public void setEx(String key, Object value, int expire, TimeUnit timeUnit){
redisTemplate.opsForValue().set(key, value,expire,timeUnit);
}
public <T> T get(String key){
return (T)redisTemplate.opsForValue().get(key);
}
}
......@@ -16,4 +16,26 @@
<result column="dict_type_id" property="dictTypeId" jdbcType="BIGINT" />
<result column="DICT_NAME" property="dictName" jdbcType="LONGVARCHAR" />
</resultMap>
<select id="getByDictTypeId" parameterType="long" resultMap="BaseResultMap" >
SELECT * FROM `T_DICT_DATA` t WHERE t.dict_type_id = #{dictTypeId}
</select>
<select id="loadDatasByTypeCd" resultMap="BaseResultMap">
SELECT d.*
FROM `T_DICT_TYPE` t INNER JOIN `T_DICT_DATA` d
ON t.id = d.`dict_type_id`
WHERE t.`DICT_TYPE_CD`=#{typeCd}
</select>
<select id="getDictDataByCd" resultMap="BaseResultMap">
SELECT d.*
FROM `T_DICT_TYPE` t INNER JOIN `T_DICT_DATA` d
ON t.id = d.`dict_type_id`
WHERE t.`DICT_TYPE_CD`=#{typeCd}
AND d.`DICT_CD`= #{dictCd}
</select>
</mapper>
\ No newline at end of file
......@@ -14,4 +14,22 @@
<result column="REMARK" property="remark" jdbcType="VARCHAR" />
<result column="UPDATED_DATE" property="updatedDate" jdbcType="TIMESTAMP" />
</resultMap>
<select id="getIdsByTypeCdOrName" resultType="long" >
SELECT t.id FROM `T_DICT_TYPE` t
<where>
<if test="dictTypeCd != null and dictTypeCd != ''">
AND t.`DICT_TYPE_CD`=#{dictTypeCd}
</if>
<if test="dictTypeName != null and dictTypeName != ''">
<bind name="pattern" value="dictTypeName + '%'" />
AND t.`DICT_TYPE_Name` like #{pattern}
</if>
</where>
</select>
</mapper>
\ No newline at end of file
spring.application.name=spring-demo
server.port=9005
datasource.druid.url: jdbc:mysql://127.0.0.1:3306/dict?useUnicode=true&characterEncoding=utf8
datasource.druid.driver-class: com.mysql.jdbc.Driver
datasource.druid.username: root
datasource.druid.password:
datasource.druid.initial-size: 1
datasource.druid.min-idle: 1
datasource.druid.max-active: 20
datasource.druid.test-on-borrow: true
datasource.druid.filters: stat
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<properties resource="generator/generator.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="com.freemud.demo.util.MyMapper"/>
</plugin>
<jdbcConnection driverClass="${datasource.druid.driver-class}"
connectionURL="${datasource.druid.url}"
userId="${datasource.druid.username}"
password="${datasource.druid.password}">
</jdbcConnection>
<javaModelGenerator targetPackage="com.freemud.demo.model" targetProject="src/main/java"/>
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
<javaClientGenerator targetPackage="com.freemud.demo.mapper" targetProject="src/main/java"
type="XMLMAPPER"/>
<table tableName="T_DICT_TYPE">
<!--mysql 配置-->
<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
<!--oracle 配置-->
<!--<generatedKey column="id" sqlStatement="select SEQ_{1}.nextval from dual" identity="false" type="pre"/>-->
</table>
<table tableName="T_DICT_DATA">
<!--mysql 配置-->
<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
<!--oracle 配置-->
<!--<generatedKey column="id" sqlStatement="select SEQ_{1}.nextval from dual" identity="false" type="pre"/>-->
</table>
</context>
</generatorConfiguration>
\ No newline at end of file
<?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.freemud.demo.mapper.TDictDataMapper" >
<resultMap id="BaseResultMap" type="com.freemud.demo.model.TDictData" >
<!--
WARNING - @mbg.generated
-->
<id column="id" property="id" jdbcType="BIGINT" />
<result column="CREATED_DATE" property="createdDate" jdbcType="TIMESTAMP" />
<result column="DICT_CD" property="dictCd" jdbcType="VARCHAR" />
<result column="DISP_ORDER_NO" property="dispOrderNo" jdbcType="DECIMAL" />
<result column="ENABLE_FLG" property="enableFlg" jdbcType="BIT" />
<result column="I18N" property="i18n" jdbcType="VARCHAR" />
<result column="REMARK" property="remark" jdbcType="VARCHAR" />
<result column="UPDATED_DATE" property="updatedDate" jdbcType="TIMESTAMP" />
<result column="dict_type_id" property="dictTypeId" jdbcType="BIGINT" />
<result column="DICT_NAME" property="dictName" jdbcType="LONGVARCHAR" />
</resultMap>
</mapper>
\ No newline at end of file
<?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.freemud.demo.mapper.TDictTypeMapper" >
<resultMap id="BaseResultMap" type="com.freemud.demo.model.TDictType" >
<!--
WARNING - @mbg.generated
-->
<id column="id" property="id" jdbcType="BIGINT" />
<result column="CREATED_DATE" property="createdDate" jdbcType="TIMESTAMP" />
<result column="DICT_TYPE_CD" property="dictTypeCd" jdbcType="VARCHAR" />
<result column="DICT_TYPE_NAME" property="dictTypeName" jdbcType="VARCHAR" />
<result column="DISP_ORDER_NO" property="dispOrderNo" jdbcType="DECIMAL" />
<result column="ENABLE_FLG" property="enableFlg" jdbcType="BIT" />
<result column="REMARK" property="remark" jdbcType="VARCHAR" />
<result column="UPDATED_DATE" property="updatedDate" jdbcType="TIMESTAMP" />
</resultMap>
</mapper>
\ No newline at end of file
#Generated by Apache Maven
#Fri Nov 02 18:15:47 CST 2018
version=1.0-SNAPSHOT
groupId=com.freemud.demo
artifactId=demo-service
com/freemud/demo/mapper/TDictTypeMapper.class
com/freemud/demo/util/MyMapper.class
com/freemud/demo/service/impl/DictTypeServiceImpl.class
com/freemud/demo/model/TDictData.class
com/freemud/demo/service/IDictTypeService.class
com/freemud/demo/mapper/TDictDataMapper.class
com/freemud/demo/model/TDictType.class
/Users/chenwenshun/code/freemud/springDemo/demo-service/src/main/java/com/freemud/demo/mapper/TDictDataMapper.java
/Users/chenwenshun/code/freemud/springDemo/demo-service/src/main/java/com/freemud/demo/model/TDictType.java
/Users/chenwenshun/code/freemud/springDemo/demo-service/src/main/java/com/freemud/demo/service/impl/DictTypeServiceImpl.java
/Users/chenwenshun/code/freemud/springDemo/demo-service/src/main/java/com/freemud/demo/mapper/TDictTypeMapper.java
/Users/chenwenshun/code/freemud/springDemo/demo-service/src/main/java/com/freemud/demo/service/IDictTypeService.java
/Users/chenwenshun/code/freemud/springDemo/demo-service/src/main/java/com/freemud/demo/model/TDictData.java
/Users/chenwenshun/code/freemud/springDemo/demo-service/src/main/java/com/freemud/demo/util/MyMapper.java
package com.freemud.springbootdemo.controller;
import com.freemud.demo.dto.DictTypeDto;
import com.freemud.demo.dto.PageData;
import com.freemud.demo.dto.PageReq;
import com.freemud.demo.dto.*;
import com.freemud.demo.service.IDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* Created by chenwenshun on 2018/11/2.
*/
@RestController
@RequestMapping("/dict")
@RequestMapping(value = "/dict",produces = "application/json")
public class DictController {
@Autowired
IDictTypeService dictTypeService;
@PostMapping("/page")
public PageData<DictTypeDto> page(@RequestBody PageReq pageReq){
public ResDto page(@RequestBody PageReq pageReq){
PageData<DictTypeDto> pageData = dictTypeService.findPageDict(pageReq);
return new ResDto(pageData);
}
return dictTypeService.findPageDict(pageReq);
@GetMapping( value = "/dictDatas/{dictTypeCd}")
public ResDto dictDatas(@PathVariable String dictTypeCd){
List<DictDataDto> list = this.dictTypeService.loadDatasByTypeCd(dictTypeCd,true);
return new ResDto(list);
}
@GetMapping("/dictData/{dictTypeCd}/{dictCd}")
public ResDto<DictDataDto> dictData(@PathVariable String dictTypeCd ,@PathVariable String dictCd){
DictDataDto dictDataDto = this.dictTypeService.loadDictDataByCd(dictTypeCd,dictCd,true);
return new ResDto<>(dictDataDto);
}
}
spring:
application:
name: sarding-jdbc
redis:
host: 115.159.67.166
port: 5289
password: U252fnIDyfF1A1
database: 3
server:
port: 9005
datasource:
druid:
url: jdbc:mysql://127.0.0.1:3306/dict?useUnicode=true&characterEncoding=utf8
driver-class: com.mysql.jdbc.Driver
username: root
password:
initial-size: 1
min-idle: 1
max-active: 20
test-on-borrow: true
filters: stat
#mybatis
mybatis:
config-location: classpath:mybatis.xml
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.ashun.sardingjdbcdemo.model
#dao
#mapper:
# mappers: com.freemud.demo.util.MyMapper
# not-empty: false
# identity: MYSQL
# before: true
#pagehelper
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
params: count=countSql
#log
logging:
config: classpath:logback.xml
#security:
# user:
# name: admin
# password: admin
# ignored: /**,/swagger*,/webjars/**,/v2/**,/swagger-resources/**
swagger_enable: false
spring:
application:
name: sarding-jdbc
redis:
host: 115.159.67.166
port: 5289
password: U252fnIDyfF1A1
database: 3
server:
port: 9005
datasource:
druid:
url: jdbc:mysql://127.0.0.1:3306/dict?useUnicode=true&characterEncoding=utf8
driver-class: com.mysql.jdbc.Driver
username: root
password:
initial-size: 1
min-idle: 1
max-active: 20
test-on-borrow: true
filters: stat
#mybatis
mybatis:
config-location: classpath:mybatis.xml
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.ashun.sardingjdbcdemo.model
#dao
#mapper:
# mappers: com.freemud.demo.util.MyMapper
# not-empty: false
# identity: MYSQL
# before: true
#pagehelper
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
params: count=countSql
#log
logging:
config: classpath:logback.xml
#security:
# user:
# name: admin
# password: admin
# ignored: /**,/swagger*,/webjars/**,/v2/**,/swagger-resources/**
swagger_enable: true
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--<springProperty scope="context"-->
<!--name="springAppName"-->
<!--source="spring.application.name"/>-->
<!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,,,, -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>%d %p (%file:%line\)- %m%n</pattern>
</encoder>
</appender>
<appender name = "STDOUT_tid" class= "ch.qos.logback.core.ConsoleAppender" >
<layout class = "ch.qos.logback.classic.PatternLayout">
<!--<Pattern >%d{HH:mm} %-5level %logger{36} - [springAppName:${springAppName:-}, TxId : %X{X-B3-TraceId:-} , SpanId : %X{X-B3-SpanId:-}] %msg%n</Pattern >-->
<Pattern >%d{HH:mm} %-5level %logger{36} - [spring-demo,%X{X-B3-TraceId:-},%X{X-B3-SpanId:-}] %msg%n</Pattern >
</layout >
</appender >
<root level="info">
<appender-ref ref="STDOUT_tid"/>
</root>
</configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!-- 开启控制台sql日志打印-->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
</configuration>
\ No newline at end of file
#Generated by Apache Maven
#Fri Nov 02 18:15:49 CST 2018
version=0.0.1-SNAPSHOT
groupId=com.freemud.demo
artifactId=springboot-demo
com/freemud/springbootdemo/config/Swagger2.class
com/freemud/springbootdemo/config/DataSourceConfig.class
com/freemud/springbootdemo/controller/DictController.class
com/freemud/springbootdemo/SpringbootDemoApplication.class
/Users/chenwenshun/code/freemud/springDemo/springboot-demo/src/main/java/com/freemud/springbootdemo/config/Swagger2.java
/Users/chenwenshun/code/freemud/springDemo/springboot-demo/src/main/java/com/freemud/springbootdemo/SpringbootDemoApplication.java
/Users/chenwenshun/code/freemud/springDemo/springboot-demo/src/main/java/com/freemud/springbootdemo/config/DataSourceConfig.java
/Users/chenwenshun/code/freemud/springDemo/springboot-demo/src/main/java/com/freemud/springbootdemo/controller/DictController.java
......@@ -7,7 +7,8 @@ CREATE TABLE `T_DICT_TYPE` (
`REMARK` varchar(200) DEFAULT NULL,
`CREATED_DATE` datetime DEFAULT NULL,
`UPDATED_DATE` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
PRIMARY KEY (`id`),
UNIQUE KEY (`DICT_TYPE_CD`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
......@@ -24,5 +25,6 @@ CREATE TABLE `T_DICT_DATA` (
`CREATED_DATE` datetime DEFAULT NULL,
`UPDATED_DATE` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_dict_type_id` (`dict_type_id`)
KEY `idx_dict_type_id` (`dict_type_id`),
UNIQUE KEY (`DICT_CD`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment