Springboot + mongoDB : So easy

1. dependancy

compile('org.springframework.boot:spring-boot-starter-data-mongodb')

2. config

# mongodb
spring.data.mongodb.host=***.mongodb.rds.aliyuncs.com
spring.data.mongodb.port=***17
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.username=username
spring.data.mongodb.password=pwd
spring.data.mongodb.database=yourappname

3. code:

@Slf4j
@Service
public class LogQueryService {

    @Autowired
    private MongoTemplate mongoTemplate;

    public List<LogDoc> queryBy(String bizName, String bizKey) {
        if (StringUtils.isEmpty(bizName) && StringUtils.isEmpty(bizKey)) {
            return Lists.newArrayList();
        }

        Query query = null;
        if (StringUtils.isNotEmpty(bizKey)) {
            query = Query.query(Criteria.where("bizKey").is(bizKey));
        } else if (StringUtils.isNotEmpty(bizName)) {
            query = Query.query(Criteria.where("bizName").is(bizName));
        }

        List<LogDoc> list = mongoTemplate.find(query, LogDoc.class);

        return list;
    }


}

    public void logIt(InputDto inputDto, ResponseDto response) {
        try {

            LogDoc logDoc = new LogDoc();
            logDoc.setHostService("xxxxx");
            logDoc.setBizKey(inputDto.getPrimaryKey());
            logDoc.setBizName("BizTypeDesc");

            logDoc.setCreateDate(new Date());

            logDoc.setReceiveObj(inputDto);
            logDoc.setSendObj(response);

            mongoTemplate.save(logDoc);

        } catch (Exception e) {
            log.error("Log error...continue biz...", e);
        }
    }
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@Document(collection="LogDoc")
public class LogDoc {

    private String hostService;
    private String bizName; // 業務名稱
    private String bizKey;  //業務主鍵

    private Date createDate;

    /**
     * 系統發送對象
     */
    private Object sendObj;

    /**
     * 系統接收對象
     */
    private Object receiveObj;

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章