Commit 79ba2708 authored by yutao's avatar yutao

init

parents
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store
\ No newline at end of file
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# 依赖于环境的 Maven 主目录路径
/mavenHomeManager.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-parent</artifactId>
<version>3.2.12</version>
</parent>
<groupId>com.yongren</groupId>
<artifactId>md-cdr-v1</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring-boot3-starter</artifactId>
<version>1.11.0</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Hive JDBC 驱动 -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>3.1.2</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<artifactId>log4j-1.2-api</artifactId>
<groupId>org.apache.logging.log4j</groupId>
</exclusion>
<exclusion>
<artifactId>log4j-slf4j-impl</artifactId>
<groupId>org.apache.logging.log4j</groupId>
</exclusion>
<exclusion>
<artifactId>log4j-web</artifactId>
<groupId>org.apache.logging.log4j</groupId>
</exclusion>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-runner</artifactId>
</exclusion>
<exclusion>
<artifactId>servlet-api</artifactId>
<groupId>javax.servlet</groupId>
</exclusion>
<exclusion>
<artifactId>javax.servlet.jsp-api</artifactId>
<groupId>javax.servlet.jsp</groupId>
</exclusion>
<exclusion>
<artifactId>javax.servlet.jsp</artifactId>
<groupId>org.glassfish.web</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>3.3.4</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>3.3.4</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.3.4</version>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>
<!-- for test only -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.ediagnosis.cdr;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class CdrApplication {
public static void main(String[] args) {
SpringApplication.run(CdrApplication.class, args);
}
}
package com.ediagnosis.cdr.config;
import com.mybatisflex.core.audit.AuditManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyBatisFlexConfiguration {
private static final Logger logger = LoggerFactory
.getLogger("mybatis-flex-sql");
public MyBatisFlexConfiguration() {
//开启审计功能
AuditManager.setAuditEnable(true);
//设置 SQL 审计收集器
AuditManager.setMessageCollector(auditMessage ->
logger.info("{},{}ms", auditMessage.getFullSql()
, auditMessage.getElapsedTime())
);
}
}
package com.ediagnosis.cdr.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/dashBoard")
public class DashBoardController {
}
package com.ediagnosis.cdr.entity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
/**
* 记录数据总量概览
* @TableName dim_data_summary
*/
@Table(value ="dim_data_summary")
public class DimDataSummary {
/**
*
*/
@Id(keyType = KeyType.Auto)
private Integer id;
/**
* 指标名称
*/
private String name;
/**
* 指标编码
*/
private String code;
/**
* 指标结果
*/
private String value;
/**
* 更新时间
*/
private String updateTime;
/**
*
*/
public Integer getId() {
return id;
}
/**
*
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 指标名称
*/
public String getName() {
return name;
}
/**
* 指标名称
*/
public void setName(String name) {
this.name = name;
}
/**
* 指标编码
*/
public String getCode() {
return code;
}
/**
* 指标编码
*/
public void setCode(String code) {
this.code = code;
}
/**
* 指标结果
*/
public String getValue() {
return value;
}
/**
* 指标结果
*/
public void setValue(String value) {
this.value = value;
}
/**
* 更新时间
*/
public String getUpdateTime() {
return updateTime;
}
/**
* 更新时间
*/
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.ediagnosis.cdr.mapper;
import com.ediagnosis.cdr.entity.DimDataSummary;
import com.mybatisflex.core.BaseMapper;
public interface DimDataSummaryMapper extends BaseMapper<DimDataSummary> {
}
package com.ediagnosis.cdr.service;
import com.ediagnosis.cdr.vo.Page;
public class HiveService {
public Page<?> selectPage(String sql, int pageNo, int pageSize) {
return new Page<>();
}
}
package com.ediagnosis.cdr.util;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Component;
@Component
public class JsonProcessor {
private final ObjectMapper objectMapper;
public JsonProcessor(ObjectMapper objectMapper) {
this.objectMapper = objectMapper;
}
public <T>T toObject(String json, Class<T> clazz) {
try {
return objectMapper.readValue(json, clazz);
} catch (Exception e) {
// todo:打印日志
throw new RuntimeException(e);
}
}
public String toJson(Object object) {
try {
return objectMapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
// todo:打印日志
throw new RuntimeException(e);
}
}
}
package com.ediagnosis.cdr.vo;
import java.util.List;
public class Page<T> {
private int pageNo;
private int pageSize;
private int totalCount;
private List<T> content;
private int totalPage;
public Page() {
}
public Page(int pageNo, int pageSize,
int totalCount, List<T> content) {
this.pageNo = pageNo;
this.pageSize = pageSize;
this.totalCount = totalCount;
this.content = content;
int tmp=totalCount / pageSize;
int tmp1=totalCount % pageSize;
if (tmp1>0) {
this.totalPage = tmp+1;
}else {
this.totalPage = tmp;
}
}
public int getPageNo() {
return pageNo;
}
public int getPageSize() {
return pageSize;
}
public int getTotalCount() {
return totalCount;
}
public int getTotalPage() {
return totalPage;
}
public List<T> getContent() {
return content;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public void setContent(List<T> content) {
this.content = content;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
}
mybatis-flex:
datasource:
ds-mysql:
url: jdbc:mysql://10.11.4.21:33063/cdr
username: root
password: Admin123456#
ds-hive:
url: jdbc:hive2://10.11.4.21:10000
username: root
\ 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.ediagnosis.cdr.mapper.DimDataSummaryMapper">
<resultMap id="BaseResultMap" type="com.ediagnosis.cdr.entity.DimDataSummary">
<id property="id" column="id" />
<result property="name" column="name" />
<result property="code" column="code" />
<result property="value" column="value" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="Base_Column_List">
id,name,code,value,update_time
</sql>
</mapper>
package com.ediagnosis.cdr.service;
import com.mybatisflex.core.datasource.DataSourceKey;
import com.mybatisflex.core.row.Db;
import com.mybatisflex.core.row.Row;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class HiveServiceTest {
@Test
public void selectPage() {
String sql = "SELECT * FROM ods.xjd_patient_info ORDER BY id LIMIT 10";
try {
DataSourceKey.use("ds-hive");
List<Row> rows = Db.selectListBySql(sql);
System.out.println(rows);
} finally {
DataSourceKey.clear();
}
}
@Test
public void insertTest() {
String sql = "INSERT INTO TABLE ods.test1(id) VALUES (?)";
try {
DataSourceKey.use("ds-hive");
int rows = Db.insertBySql(sql,2);
System.out.println(rows);
} finally {
DataSourceKey.clear();
}
}
}
\ 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