Multi DBMS 설정 기능 개선
This commit is contained in:
parent
2477085a37
commit
b517754d01
@ -43,6 +43,13 @@ dependencies {
|
||||
implementation 'org.jdom:jdom2:2.0.6.1'
|
||||
// https://mvnrepository.com/artifact/org.apache.commons/commons-configuration2
|
||||
implementation 'org.apache.commons:commons-configuration2:2.10.1'
|
||||
// https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc11
|
||||
implementation group: 'com.oracle.database.jdbc', name: 'ojdbc11', version: '23.5.0.24.07'
|
||||
// https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc
|
||||
implementation group: 'com.microsoft.sqlserver', name: 'mssql-jdbc', version: '12.8.0.jre11'
|
||||
// https://mvnrepository.com/artifact/org.postgresql/postgresql
|
||||
implementation group: 'org.postgresql', name: 'postgresql', version: '42.7.3'
|
||||
|
||||
}
|
||||
|
||||
tasks.named('test') {
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.munjaon.client.config;
|
||||
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.configuration2.ex.ConfigurationException;
|
||||
@ -11,7 +10,6 @@ import org.mybatis.spring.SqlSessionTemplate;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.mybatis.spring.boot.autoconfigure.SpringBootVFS;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@ -28,6 +26,7 @@ import javax.sql.DataSource;
|
||||
@EnableTransactionManagement
|
||||
@MapperScan(basePackages= "com.munjaon.client.**.mapper")
|
||||
public class DataSourceConfig {
|
||||
//public class DataSourceConfig implements BeanDefinitionRegistryPostProcessor {
|
||||
@Autowired
|
||||
private ApplicationContext applicationContext;
|
||||
private final ServerConfig serverConfig;
|
||||
@ -51,12 +50,15 @@ public class DataSourceConfig {
|
||||
@Primary
|
||||
@Bean(name = "factory")
|
||||
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
|
||||
String dbms = serverConfig.getString("DB.DBMS");
|
||||
System.out.println("dbms : " + dbms);
|
||||
SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();
|
||||
sqlSessionFactory.setVfs(SpringBootVFS.class);
|
||||
sqlSessionFactory.setDataSource(dataSource);
|
||||
sqlSessionFactory.setTypeAliasesPackage("com.munjaon.client.**.dto");
|
||||
sqlSessionFactory.setConfigLocation(applicationContext.getResource("classpath:mybatis-config.xml"));
|
||||
sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:/sqlmap/**/*.xml"));
|
||||
// sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:/sqlmap/" + dbms.toLowerCase() + "/*.xml"));
|
||||
return sqlSessionFactory.getObject();
|
||||
}
|
||||
|
||||
@ -65,4 +67,22 @@ public class DataSourceConfig {
|
||||
public SqlSessionTemplate sqlSession(SqlSessionFactory sqlSessionFactory) {
|
||||
return new SqlSessionTemplate(sqlSessionFactory);
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
|
||||
// String dbms = null;
|
||||
// try {
|
||||
// dbms = serverConfig.getString("DB.DBMS");
|
||||
// } catch (ConfigurationException e) {
|
||||
// throw new RuntimeException(e);
|
||||
// }
|
||||
// AbstractBeanDefinition mapperScannerConfigurer = BeanDefinitionBuilder
|
||||
// .genericBeanDefinition(MapperScannerConfigurer.class)
|
||||
// .addPropertyValue("sqlSessionFactoryBeanName", "factory")
|
||||
// .addPropertyValue("basePackage", "com.munjaon.client.**.dto")
|
||||
// .addPropertyValue("annotationClass", MapperType.value(dbms).getClass())
|
||||
// .getBeanDefinition();
|
||||
//
|
||||
// registry.registerBeanDefinition("MapperScanner", mapperScannerConfigurer);
|
||||
// }
|
||||
}
|
||||
|
||||
@ -13,14 +13,14 @@ import java.util.List;
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class MariaDBService {
|
||||
private final MariaDBMapper mariaDBMapper;
|
||||
private final MariaDBMapper deliverBMapper;
|
||||
|
||||
public boolean checkTableExists() {
|
||||
boolean isExist = false;
|
||||
try {
|
||||
int msgCount = mariaDBMapper.checkTableForMessage();
|
||||
int logCount = mariaDBMapper.checkTableForLog();
|
||||
if (msgCount > 0 && logCount > 0) {
|
||||
int msgCount = deliverBMapper.checkTableForMessage();
|
||||
int logCount = deliverBMapper.checkTableForLog();
|
||||
if (msgCount >= 0 && logCount >= 0) {
|
||||
isExist = true;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
@ -30,25 +30,25 @@ public class MariaDBService {
|
||||
return isExist;
|
||||
}
|
||||
public List<MunjaonMsg> selectToDeliver(String msgType) {
|
||||
return mariaDBMapper.selectToDeliver(msgType);
|
||||
return deliverBMapper.selectToDeliver(msgType);
|
||||
}
|
||||
public int updateToDeliver(String msgId) {
|
||||
return mariaDBMapper.updateToDeliver(msgId);
|
||||
return deliverBMapper.updateToDeliver(msgId);
|
||||
}
|
||||
public int updateToReport(MunjaonMsg params) {
|
||||
return mariaDBMapper.updateToReport(params);
|
||||
return deliverBMapper.updateToReport(params);
|
||||
}
|
||||
public List<MunjaonMsg> selectToMove() {
|
||||
return mariaDBMapper.selectToMove();
|
||||
return deliverBMapper.selectToMove();
|
||||
}
|
||||
public List<MunjaonMsg> selectToExpire(String expireTime) {
|
||||
return mariaDBMapper.selectToExpire(expireTime);
|
||||
return deliverBMapper.selectToExpire(expireTime);
|
||||
}
|
||||
public int insertToLog(String msgId) {
|
||||
return mariaDBMapper.insertToLog(msgId);
|
||||
return deliverBMapper.insertToLog(msgId);
|
||||
}
|
||||
public int deleteFromDeliver(String msgId) {
|
||||
return mariaDBMapper.deleteFromDeliver(msgId);
|
||||
return deliverBMapper.deleteFromDeliver(msgId);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
package com.munjaon.client.mssql.mapper;
|
||||
|
||||
import com.munjaon.client.model.MunjaonMsg;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface MssqlMapper {
|
||||
String checkTime();
|
||||
int checkTableForMessage();
|
||||
int checkTableForLog();
|
||||
List<MunjaonMsg> selectToDeliver(String msgType);
|
||||
int updateToDeliver(String msgId);
|
||||
int updateToReport(MunjaonMsg params);
|
||||
List<MunjaonMsg> selectToMove();
|
||||
List<MunjaonMsg> selectToExpire(String expireTime);
|
||||
int insertToLog(String msgId);
|
||||
int deleteFromDeliver(String msgId);
|
||||
}
|
||||
@ -0,0 +1,66 @@
|
||||
package com.munjaon.client.mssql.service;
|
||||
|
||||
import com.munjaon.client.model.MunjaonMsg;
|
||||
import com.munjaon.client.mssql.mapper.MssqlMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class MssqlService {
|
||||
private final MssqlMapper deliverBMapper;
|
||||
|
||||
public boolean checkTableExists() {
|
||||
boolean isExist = false;
|
||||
try {
|
||||
int msgCount = deliverBMapper.checkTableForMessage();
|
||||
int logCount = deliverBMapper.checkTableForLog();
|
||||
if (msgCount >= 0 && logCount >= 0) {
|
||||
isExist = true;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("Check table exists error : {}", e);
|
||||
}
|
||||
|
||||
return isExist;
|
||||
}
|
||||
public List<MunjaonMsg> selectToDeliver(String msgType) {
|
||||
return deliverBMapper.selectToDeliver(msgType);
|
||||
}
|
||||
public int updateToDeliver(String msgId) {
|
||||
return deliverBMapper.updateToDeliver(msgId);
|
||||
}
|
||||
public int updateToReport(MunjaonMsg params) {
|
||||
return deliverBMapper.updateToReport(params);
|
||||
}
|
||||
public List<MunjaonMsg> selectToMove() {
|
||||
return deliverBMapper.selectToMove();
|
||||
}
|
||||
public List<MunjaonMsg> selectToExpire(String expireTime) {
|
||||
return deliverBMapper.selectToExpire(expireTime);
|
||||
}
|
||||
public int insertToLog(String msgId) {
|
||||
return deliverBMapper.insertToLog(msgId);
|
||||
}
|
||||
public int deleteFromDeliver(String msgId) {
|
||||
return deliverBMapper.deleteFromDeliver(msgId);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void moveToDeliver() {
|
||||
List<MunjaonMsg> list = selectToMove();
|
||||
if (list == null || list.size() == 0) {
|
||||
return;
|
||||
}
|
||||
log.debug("[CLASS : {} : MOVE_COUNT : {}", this.getClass(), list.size());
|
||||
for (MunjaonMsg msg : list) {
|
||||
insertToLog(msg.getMsgId());
|
||||
deleteFromDeliver(msg.getMsgId());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package com.munjaon.client.mysql.mapper;
|
||||
|
||||
import com.munjaon.client.model.MunjaonMsg;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface MysqlMapper {
|
||||
String checkTime();
|
||||
int checkTableForMessage();
|
||||
int checkTableForLog();
|
||||
List<MunjaonMsg> selectToDeliver(String msgType);
|
||||
int updateToDeliver(String msgId);
|
||||
int updateToReport(MunjaonMsg params);
|
||||
List<MunjaonMsg> selectToMove();
|
||||
List<MunjaonMsg> selectToExpire(String expireTime);
|
||||
int insertToLog(String msgId);
|
||||
int deleteFromDeliver(String msgId);
|
||||
}
|
||||
@ -1,11 +1,66 @@
|
||||
package com.munjaon.client.mysql.service;
|
||||
|
||||
import com.munjaon.client.model.MunjaonMsg;
|
||||
import com.munjaon.client.mysql.mapper.MysqlMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class MysqlService {
|
||||
private final MysqlMapper deliverBMapper;
|
||||
|
||||
public boolean checkTableExists() {
|
||||
boolean isExist = false;
|
||||
try {
|
||||
int msgCount = deliverBMapper.checkTableForMessage();
|
||||
int logCount = deliverBMapper.checkTableForLog();
|
||||
if (msgCount >= 0 && logCount >= 0) {
|
||||
isExist = true;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("Check table exists error : {}", e);
|
||||
}
|
||||
|
||||
return isExist;
|
||||
}
|
||||
public List<MunjaonMsg> selectToDeliver(String msgType) {
|
||||
return deliverBMapper.selectToDeliver(msgType);
|
||||
}
|
||||
public int updateToDeliver(String msgId) {
|
||||
return deliverBMapper.updateToDeliver(msgId);
|
||||
}
|
||||
public int updateToReport(MunjaonMsg params) {
|
||||
return deliverBMapper.updateToReport(params);
|
||||
}
|
||||
public List<MunjaonMsg> selectToMove() {
|
||||
return deliverBMapper.selectToMove();
|
||||
}
|
||||
public List<MunjaonMsg> selectToExpire(String expireTime) {
|
||||
return deliverBMapper.selectToExpire(expireTime);
|
||||
}
|
||||
public int insertToLog(String msgId) {
|
||||
return deliverBMapper.insertToLog(msgId);
|
||||
}
|
||||
public int deleteFromDeliver(String msgId) {
|
||||
return deliverBMapper.deleteFromDeliver(msgId);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void moveToDeliver() {
|
||||
List<MunjaonMsg> list = selectToMove();
|
||||
if (list == null || list.size() == 0) {
|
||||
return;
|
||||
}
|
||||
log.debug("[CLASS : {} : MOVE_COUNT : {}", this.getClass(), list.size());
|
||||
for (MunjaonMsg msg : list) {
|
||||
insertToLog(msg.getMsgId());
|
||||
deleteFromDeliver(msg.getMsgId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
package com.munjaon.client.oracle.mapper;
|
||||
|
||||
import com.munjaon.client.model.MunjaonMsg;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface OracleMapper {
|
||||
String checkTime();
|
||||
int checkTableForMessage();
|
||||
int checkTableForLog();
|
||||
List<MunjaonMsg> selectToDeliver(String msgType);
|
||||
int updateToDeliver(String msgId);
|
||||
int updateToReport(MunjaonMsg params);
|
||||
List<MunjaonMsg> selectToMove();
|
||||
List<MunjaonMsg> selectToExpire(String expireTime);
|
||||
int insertToLog(String msgId);
|
||||
int deleteFromDeliver(String msgId);
|
||||
}
|
||||
@ -0,0 +1,66 @@
|
||||
package com.munjaon.client.oracle.service;
|
||||
|
||||
import com.munjaon.client.model.MunjaonMsg;
|
||||
import com.munjaon.client.oracle.mapper.OracleMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class OracleService {
|
||||
private final OracleMapper deliverBMapper;
|
||||
|
||||
public boolean checkTableExists() {
|
||||
boolean isExist = false;
|
||||
try {
|
||||
int msgCount = deliverBMapper.checkTableForMessage();
|
||||
int logCount = deliverBMapper.checkTableForLog();
|
||||
if (msgCount >= 0 && logCount >= 0) {
|
||||
isExist = true;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("Check table exists error : {}", e);
|
||||
}
|
||||
|
||||
return isExist;
|
||||
}
|
||||
public List<MunjaonMsg> selectToDeliver(String msgType) {
|
||||
return deliverBMapper.selectToDeliver(msgType);
|
||||
}
|
||||
public int updateToDeliver(String msgId) {
|
||||
return deliverBMapper.updateToDeliver(msgId);
|
||||
}
|
||||
public int updateToReport(MunjaonMsg params) {
|
||||
return deliverBMapper.updateToReport(params);
|
||||
}
|
||||
public List<MunjaonMsg> selectToMove() {
|
||||
return deliverBMapper.selectToMove();
|
||||
}
|
||||
public List<MunjaonMsg> selectToExpire(String expireTime) {
|
||||
return deliverBMapper.selectToExpire(expireTime);
|
||||
}
|
||||
public int insertToLog(String msgId) {
|
||||
return deliverBMapper.insertToLog(msgId);
|
||||
}
|
||||
public int deleteFromDeliver(String msgId) {
|
||||
return deliverBMapper.deleteFromDeliver(msgId);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void moveToDeliver() {
|
||||
List<MunjaonMsg> list = selectToMove();
|
||||
if (list == null || list.size() == 0) {
|
||||
return;
|
||||
}
|
||||
log.debug("[CLASS : {} : MOVE_COUNT : {}", this.getClass(), list.size());
|
||||
for (MunjaonMsg msg : list) {
|
||||
insertToLog(msg.getMsgId());
|
||||
deleteFromDeliver(msg.getMsgId());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package com.munjaon.client.postgresql.mapper;
|
||||
|
||||
import com.munjaon.client.model.MunjaonMsg;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface PostgresqlMapper {
|
||||
String checkTime();
|
||||
int checkTableForMessage();
|
||||
int checkTableForLog();
|
||||
List<MunjaonMsg> selectToDeliver(String msgType);
|
||||
int updateToDeliver(String msgId);
|
||||
int updateToReport(MunjaonMsg params);
|
||||
List<MunjaonMsg> selectToMove();
|
||||
List<MunjaonMsg> selectToExpire(String expireTime);
|
||||
int insertToLog(String msgId);
|
||||
int deleteFromDeliver(String msgId);
|
||||
}
|
||||
@ -0,0 +1,66 @@
|
||||
package com.munjaon.client.postgresql.service;
|
||||
|
||||
import com.munjaon.client.model.MunjaonMsg;
|
||||
import com.munjaon.client.postgresql.mapper.PostgresqlMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class PostgresqlService {
|
||||
private final PostgresqlMapper deliverBMapper;
|
||||
|
||||
public boolean checkTableExists() {
|
||||
boolean isExist = false;
|
||||
try {
|
||||
int msgCount = deliverBMapper.checkTableForMessage();
|
||||
int logCount = deliverBMapper.checkTableForLog();
|
||||
if (msgCount >= 0 && logCount >= 0) {
|
||||
isExist = true;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("Check table exists error : {}", e);
|
||||
}
|
||||
|
||||
return isExist;
|
||||
}
|
||||
public List<MunjaonMsg> selectToDeliver(String msgType) {
|
||||
return deliverBMapper.selectToDeliver(msgType);
|
||||
}
|
||||
public int updateToDeliver(String msgId) {
|
||||
return deliverBMapper.updateToDeliver(msgId);
|
||||
}
|
||||
public int updateToReport(MunjaonMsg params) {
|
||||
return deliverBMapper.updateToReport(params);
|
||||
}
|
||||
public List<MunjaonMsg> selectToMove() {
|
||||
return deliverBMapper.selectToMove();
|
||||
}
|
||||
public List<MunjaonMsg> selectToExpire(String expireTime) {
|
||||
return deliverBMapper.selectToExpire(expireTime);
|
||||
}
|
||||
public int insertToLog(String msgId) {
|
||||
return deliverBMapper.insertToLog(msgId);
|
||||
}
|
||||
public int deleteFromDeliver(String msgId) {
|
||||
return deliverBMapper.deleteFromDeliver(msgId);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void moveToDeliver() {
|
||||
List<MunjaonMsg> list = selectToMove();
|
||||
if (list == null || list.size() == 0) {
|
||||
return;
|
||||
}
|
||||
log.debug("[CLASS : {} : MOVE_COUNT : {}", this.getClass(), list.size());
|
||||
for (MunjaonMsg msg : list) {
|
||||
insertToLog(msg.getMsgId());
|
||||
deleteFromDeliver(msg.getMsgId());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -13,7 +13,6 @@ import java.io.IOException;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.channels.SocketChannel;
|
||||
import java.nio.file.Files;
|
||||
import java.util.List;
|
||||
|
||||
public class CollectClientService extends Service {
|
||||
|
||||
@ -5,6 +5,9 @@ import lombok.Getter;
|
||||
@Getter
|
||||
public enum DatabaseService {
|
||||
MARIADB_SERVICE,
|
||||
MSSQL_SERVICE,
|
||||
ORACLE_SERVICE,
|
||||
POSTGRESQL_SERVICE,
|
||||
MYSQL_SERVICE;
|
||||
|
||||
private Object service;
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.munjaon.client.service;
|
||||
|
||||
import com.munjaon.client.mariadb.service.MariaDBService;
|
||||
import com.munjaon.client.mssql.service.MssqlService;
|
||||
import com.munjaon.client.mysql.service.MysqlService;
|
||||
import com.munjaon.client.oracle.service.OracleService;
|
||||
import com.munjaon.client.postgresql.service.PostgresqlService;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@ -13,7 +16,13 @@ public class DatabaseServiceInjector {
|
||||
@Autowired
|
||||
private MariaDBService mariaDBService;
|
||||
@Autowired
|
||||
private MssqlService mssqlService;
|
||||
@Autowired
|
||||
private MysqlService mysqlService;
|
||||
@Autowired
|
||||
private OracleService oracleService;
|
||||
@Autowired
|
||||
private PostgresqlService postgresqlService;
|
||||
|
||||
@PostConstruct
|
||||
public void postConstruct() {
|
||||
@ -21,8 +30,14 @@ public class DatabaseServiceInjector {
|
||||
switch (svc) {
|
||||
case MARIADB_SERVICE: svc.setService(mariaDBService);
|
||||
break;
|
||||
case MSSQL_SERVICE: svc.setService(mssqlService);
|
||||
break;
|
||||
case MYSQL_SERVICE: svc.setService(mysqlService);
|
||||
break;
|
||||
case ORACLE_SERVICE: svc.setService(oracleService);
|
||||
break;
|
||||
case POSTGRESQL_SERVICE : svc.setService(postgresqlService);
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,10 @@ package com.munjaon.client.service;
|
||||
|
||||
import com.munjaon.client.mariadb.service.MariaDBService;
|
||||
import com.munjaon.client.model.MunjaonMsg;
|
||||
import com.munjaon.client.mssql.service.MssqlService;
|
||||
import com.munjaon.client.mysql.service.MysqlService;
|
||||
import com.munjaon.client.oracle.service.OracleService;
|
||||
import com.munjaon.client.postgresql.service.PostgresqlService;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.EnumSet;
|
||||
@ -64,50 +68,224 @@ public enum DatabaseTypeWorker {
|
||||
mariaDBService.moveToDeliver();
|
||||
}
|
||||
},
|
||||
TYPE_OF_MYSQL("MYSQL") {
|
||||
TYPE_OF_ORACLE("ORACLE") {
|
||||
@Override
|
||||
public boolean checkTableExists() {
|
||||
return false;
|
||||
OracleService oracleService = (OracleService) DatabaseService.ORACLE_SERVICE.getService();
|
||||
return oracleService.checkTableExists();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToDeliver(String msgType) {
|
||||
return List.of();
|
||||
OracleService oracleService = (OracleService) DatabaseService.ORACLE_SERVICE.getService();
|
||||
return oracleService.selectToDeliver(msgType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateToDeliver(String msgId) {
|
||||
return 0;
|
||||
OracleService oracleService = (OracleService) DatabaseService.ORACLE_SERVICE.getService();
|
||||
return oracleService.updateToDeliver(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateToReport(MunjaonMsg params) {
|
||||
return 0;
|
||||
OracleService oracleService = (OracleService) DatabaseService.ORACLE_SERVICE.getService();
|
||||
return oracleService.updateToReport(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToMove() {
|
||||
return List.of();
|
||||
OracleService oracleService = (OracleService) DatabaseService.ORACLE_SERVICE.getService();
|
||||
return oracleService.selectToMove();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToExpire(String expireTime) {
|
||||
return List.of();
|
||||
OracleService oracleService = (OracleService) DatabaseService.ORACLE_SERVICE.getService();
|
||||
return oracleService.selectToExpire(expireTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertToLog(String msgId) {
|
||||
return 0;
|
||||
OracleService oracleService = (OracleService) DatabaseService.ORACLE_SERVICE.getService();
|
||||
return oracleService.insertToLog(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteFromDeliver(String msgId) {
|
||||
return 0;
|
||||
OracleService oracleService = (OracleService) DatabaseService.ORACLE_SERVICE.getService();
|
||||
return oracleService.deleteFromDeliver(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveToDeliver() {
|
||||
OracleService oracleService = (OracleService) DatabaseService.ORACLE_SERVICE.getService();
|
||||
oracleService.moveToDeliver();
|
||||
}
|
||||
},
|
||||
TYPE_OF_MSSQL("MSSQL") {
|
||||
@Override
|
||||
public boolean checkTableExists() {
|
||||
MssqlService mssqlService = (MssqlService) DatabaseService.MSSQL_SERVICE.getService();
|
||||
return mssqlService.checkTableExists();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToDeliver(String msgType) {
|
||||
MssqlService mssqlService = (MssqlService) DatabaseService.MSSQL_SERVICE.getService();
|
||||
return mssqlService.selectToDeliver(msgType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateToDeliver(String msgId) {
|
||||
MssqlService mssqlService = (MssqlService) DatabaseService.MSSQL_SERVICE.getService();
|
||||
return mssqlService.updateToDeliver(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateToReport(MunjaonMsg params) {
|
||||
MssqlService mssqlService = (MssqlService) DatabaseService.MSSQL_SERVICE.getService();
|
||||
return mssqlService.updateToReport(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToMove() {
|
||||
MssqlService mssqlService = (MssqlService) DatabaseService.MSSQL_SERVICE.getService();
|
||||
return mssqlService.selectToMove();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToExpire(String expireTime) {
|
||||
MssqlService mssqlService = (MssqlService) DatabaseService.MSSQL_SERVICE.getService();
|
||||
return mssqlService.selectToExpire(expireTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertToLog(String msgId) {
|
||||
MssqlService mssqlService = (MssqlService) DatabaseService.MSSQL_SERVICE.getService();
|
||||
return mssqlService.insertToLog(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteFromDeliver(String msgId) {
|
||||
MssqlService mssqlService = (MssqlService) DatabaseService.ORACLE_SERVICE.getService();
|
||||
return mssqlService.deleteFromDeliver(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveToDeliver() {
|
||||
MssqlService oracleService = (MssqlService) DatabaseService.MSSQL_SERVICE.getService();
|
||||
oracleService.moveToDeliver();
|
||||
}
|
||||
},
|
||||
TYPE_OF_POSTGRESQL("POSTGRESQL") {
|
||||
@Override
|
||||
public boolean checkTableExists() {
|
||||
PostgresqlService postgresqlService = (PostgresqlService) DatabaseService.POSTGRESQL_SERVICE.getService();
|
||||
return postgresqlService.checkTableExists();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToDeliver(String msgType) {
|
||||
PostgresqlService postgresqlService = (PostgresqlService) DatabaseService.POSTGRESQL_SERVICE.getService();
|
||||
return postgresqlService.selectToDeliver(msgType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateToDeliver(String msgId) {
|
||||
PostgresqlService postgresqlService = (PostgresqlService) DatabaseService.POSTGRESQL_SERVICE.getService();
|
||||
return postgresqlService.updateToDeliver(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateToReport(MunjaonMsg params) {
|
||||
PostgresqlService postgresqlService = (PostgresqlService) DatabaseService.POSTGRESQL_SERVICE.getService();
|
||||
return postgresqlService.updateToReport(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToMove() {
|
||||
PostgresqlService postgresqlService = (PostgresqlService) DatabaseService.POSTGRESQL_SERVICE.getService();
|
||||
return postgresqlService.selectToMove();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToExpire(String expireTime) {
|
||||
PostgresqlService postgresqlService = (PostgresqlService) DatabaseService.POSTGRESQL_SERVICE.getService();
|
||||
return postgresqlService.selectToExpire(expireTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertToLog(String msgId) {
|
||||
PostgresqlService postgresqlService = (PostgresqlService) DatabaseService.POSTGRESQL_SERVICE.getService();
|
||||
return postgresqlService.insertToLog(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteFromDeliver(String msgId) {
|
||||
PostgresqlService postgresqlService = (PostgresqlService) DatabaseService.POSTGRESQL_SERVICE.getService();
|
||||
return postgresqlService.deleteFromDeliver(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveToDeliver() {
|
||||
PostgresqlService postgresqlService = (PostgresqlService) DatabaseService.POSTGRESQL_SERVICE.getService();
|
||||
postgresqlService.moveToDeliver();
|
||||
}
|
||||
},
|
||||
TYPE_OF_MYSQL("MYSQL") {
|
||||
@Override
|
||||
public boolean checkTableExists() {
|
||||
MysqlService mysqlService = (MysqlService) DatabaseService.MYSQL_SERVICE.getService();
|
||||
return mysqlService.checkTableExists();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToDeliver(String msgType) {
|
||||
MysqlService mysqlService = (MysqlService) DatabaseService.MYSQL_SERVICE.getService();
|
||||
return mysqlService.selectToDeliver(msgType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateToDeliver(String msgId) {
|
||||
MysqlService mysqlService = (MysqlService) DatabaseService.MYSQL_SERVICE.getService();
|
||||
return mysqlService.updateToDeliver(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateToReport(MunjaonMsg params) {
|
||||
MysqlService mysqlService = (MysqlService) DatabaseService.MYSQL_SERVICE.getService();
|
||||
return mysqlService.updateToReport(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToMove() {
|
||||
MysqlService mysqlService = (MysqlService) DatabaseService.MYSQL_SERVICE.getService();
|
||||
return mysqlService.selectToMove();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MunjaonMsg> selectToExpire(String expireTime) {
|
||||
MysqlService mysqlService = (MysqlService) DatabaseService.MYSQL_SERVICE.getService();
|
||||
return mysqlService.selectToExpire(expireTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertToLog(String msgId) {
|
||||
MysqlService mysqlService = (MysqlService) DatabaseService.MYSQL_SERVICE.getService();
|
||||
return mysqlService.insertToLog(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteFromDeliver(String msgId) {
|
||||
MysqlService mysqlService = (MysqlService) DatabaseService.MYSQL_SERVICE.getService();
|
||||
return mysqlService.deleteFromDeliver(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveToDeliver() {
|
||||
MysqlService mysqlService = (MysqlService) DatabaseService.MYSQL_SERVICE.getService();
|
||||
mysqlService.moveToDeliver();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
102
src/main/resources/sqlmap/mssql/mssql_sql.xml
Normal file
102
src/main/resources/sqlmap/mssql/mssql_sql.xml
Normal file
@ -0,0 +1,102 @@
|
||||
<?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.munjaon.client.mssql.mapper.MssqlMapper">
|
||||
<select id="checkTime" resultType="String">
|
||||
/* MariaDBMapper.checkTime */
|
||||
SELECT GETDATE()
|
||||
</select>
|
||||
<select id="checkTableForMessage" resultType="int">
|
||||
/* MariaDBMapper.checkTableForMessage */
|
||||
-- SELECT 1 FROM MUNJAON_MSG WHERE 1=1 LIMIT 1
|
||||
<![CDATA[
|
||||
SELECT TOP 1 COUNT(MSG_ID) FROM MUNJAON_MSG WHERE 1=1
|
||||
]]>
|
||||
</select>
|
||||
<select id="checkTableForLog" resultType="int">
|
||||
/* MariaDBMapper.checkTableForLog */
|
||||
<![CDATA[
|
||||
SELECT TOP 1 COUNT(MSG_ID) FROM MUNJAON_MSG_LOG WHERE 1=1
|
||||
]]>
|
||||
</select>
|
||||
<select id="selectToDeliver" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToDeliver */
|
||||
<![CDATA[
|
||||
SELECT
|
||||
TOP 100
|
||||
MSG_ID
|
||||
, MSG_TYPE
|
||||
, REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(20),REQUEST_DATE,120),'-',''),' ',''),':','') RESERVE_DATE
|
||||
, REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(20),GETDATE(),120),'-',''),' ',''),':','') REQUEST_DATE
|
||||
, RECV_PHONE
|
||||
, SEND_PHONE
|
||||
, SUBJECT
|
||||
, MESSAGE
|
||||
, FILENAME01
|
||||
, FILENAME02
|
||||
, FILENAME03
|
||||
, KAKAO_SENDER_KEY
|
||||
, KAKAO_TEMPLATE_CODE
|
||||
, KAKAO_JSON_FILE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE SEND_STATUS = '0'
|
||||
AND MSG_TYPE = #{msgType}
|
||||
AND REQUEST_DATE <= GETDATE()
|
||||
ORDER BY REQUEST_DATE ASC
|
||||
]]>
|
||||
</select>
|
||||
<update id="updateToDeliver">
|
||||
/* MariaDBMapper.updateToDeliver */
|
||||
UPDATE MUNJAON_MSG SET
|
||||
SEND_STATUS = '1'
|
||||
, DELIVER_DATE = GETDATE()
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</update>
|
||||
<update id="updateToReport">
|
||||
/* MariaDBMapper.updateToReport */
|
||||
UPDATE MUNJAON_MSG SET
|
||||
SEND_STATUS = #{sendStatus}
|
||||
, SENT_DATE = CAST(#{sendDate} AS DATETIME)
|
||||
, REPORT_DATE = SYSDATE
|
||||
, TELECOM = #{telecom}
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</update>
|
||||
<select id="selectToMove" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToMove */
|
||||
<![CDATA[
|
||||
SELECT TOP 100
|
||||
MSG_ID, CONVERT(VARCHAR(6),REQUEST_DATE,112) REQUEST_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE SEND_STATUS NOT IN ('0', '1')
|
||||
]]>
|
||||
</select>
|
||||
<select id="selectToExpire" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToExpire */
|
||||
<![CDATA[
|
||||
SELECT TOP 100
|
||||
MSG_ID, CONVERT(VARCHAR(6),REQUEST_DATE,112) REQUEST_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE REQUEST_DATE < CAST(#{expireTime} AS DATETIME)
|
||||
AND SEND_STATUS = '1'
|
||||
]]>
|
||||
</select>
|
||||
<insert id="insertToLog">
|
||||
/* MariaDBMapper.insertToLog */
|
||||
INSERT INTO MUNJAON_MSG_LOG
|
||||
(
|
||||
MSG_ID, MSG_TYPE, SEND_STATUS, REQUEST_DATE,
|
||||
RECV_PHONE, SEND_PHONE, SUBJECT, MESSAGE, TELECOM,
|
||||
FILENAME01, FILENAME02, FILENAME03, DELIVER_DATE, SENT_DATE, REPORT_DATE
|
||||
)
|
||||
SELECT
|
||||
MSG_ID, MSG_TYPE, SEND_STATUS, REQUEST_DATE,
|
||||
RECV_PHONE, SEND_PHONE, SUBJECT, MESSAGE, TELECOM,
|
||||
FILENAME01, FILENAME02, FILENAME03, DELIVER_DATE, SENT_DATE, REPORT_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</insert>
|
||||
<delete id="deleteFromDeliver">
|
||||
/* MariaDBMapper.deleteFromDeliver */
|
||||
DELETE FROM MUNJAON_MSG
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</delete>
|
||||
</mapper>
|
||||
97
src/main/resources/sqlmap/mysql/mysql_sql.xml
Normal file
97
src/main/resources/sqlmap/mysql/mysql_sql.xml
Normal file
@ -0,0 +1,97 @@
|
||||
<?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.munjaon.client.mysql.mapper.MysqlMapper">
|
||||
<select id="checkTime" resultType="String">
|
||||
/* MariaDBMapper.checkTime */
|
||||
SELECT DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
|
||||
</select>
|
||||
<select id="checkTableForMessage" resultType="int">
|
||||
/* MariaDBMapper.checkTableForMessage */
|
||||
-- SELECT 1 FROM MUNJAON_MSG WHERE 1=1 LIMIT 1
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.tables
|
||||
WHERE TABLE_NAME = 'MUNJAON_MSG'
|
||||
</select>
|
||||
<select id="checkTableForLog" resultType="int">
|
||||
/* MariaDBMapper.checkTableForLog */
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.tables
|
||||
WHERE TABLE_NAME = 'MUNJAON_MSG_LOG'
|
||||
-- SELECT 1 FROM MUNJAON_MSG_LOG WHERE 1=1 LIMIT 1
|
||||
</select>
|
||||
<select id="selectToDeliver" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToDeliver */
|
||||
SELECT
|
||||
MSG_ID
|
||||
, MSG_TYPE
|
||||
, DATE_FORMAT(REQUEST_DATE,'%Y%m%d%H%i%s') RESERVE_DATE
|
||||
, DATE_FORMAT(NOW(),'%Y%m%d%H%i%s') REQUEST_DATE
|
||||
, RECV_PHONE
|
||||
, SEND_PHONE
|
||||
, SUBJECT
|
||||
, MESSAGE
|
||||
, FILENAME01
|
||||
, FILENAME02
|
||||
, FILENAME03
|
||||
, KAKAO_SENDER_KEY
|
||||
, KAKAO_TEMPLATE_CODE
|
||||
, KAKAO_JSON_FILE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE SEND_STATUS = '0'
|
||||
AND MSG_TYPE = #{msgType}
|
||||
AND REQUEST_DATE <![CDATA[<=]]> SYSDATE()
|
||||
ORDER BY REQUEST_DATE ASC
|
||||
LIMIT 100
|
||||
</select>
|
||||
<update id="updateToDeliver">
|
||||
/* MariaDBMapper.updateToDeliver */
|
||||
UPDATE MUNJAON_MSG SET
|
||||
SEND_STATUS = '1'
|
||||
, DELIVER_DATE = NOW()
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</update>
|
||||
<update id="updateToReport">
|
||||
/* MariaDBMapper.updateToReport */
|
||||
UPDATE MUNJAON_MSG SET
|
||||
SEND_STATUS = #{sendStatus}
|
||||
, SENT_DATE = FROM_UNIXTIME(UNIX_TIMESTAMP(#{sendDate}))
|
||||
, REPORT_DATE = NOW()
|
||||
, TELECOM = #{telecom}
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</update>
|
||||
<select id="selectToMove" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToMove */
|
||||
SELECT MSG_ID, DATE_FORMAT(REQUEST_DATE, '%Y%m') REQUEST_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE SEND_STATUS NOT IN ('0', '1')
|
||||
LIMIT 100
|
||||
</select>
|
||||
<select id="selectToExpire" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToExpire */
|
||||
SELECT MSG_ID, DATE_FORMAT(REQUEST_DATE, '%Y%m') REQUEST_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE REQUEST_DATE <![CDATA[<]]> FROM_UNIXTIME(UNIX_TIMESTAMP(#{expireTime}))
|
||||
AND SEND_STATUS = '1'
|
||||
LIMIT 100
|
||||
</select>
|
||||
<insert id="insertToLog">
|
||||
/* MariaDBMapper.insertToLog */
|
||||
INSERT INTO MUNJAON_MSG_LOG
|
||||
(
|
||||
MSG_ID, MSG_TYPE, SEND_STATUS, REQUEST_DATE,
|
||||
RECV_PHONE, SEND_PHONE, SUBJECT, MESSAGE, TELECOM,
|
||||
FILENAME01, FILENAME02, FILENAME03, DELIVER_DATE, SENT_DATE, REPORT_DATE
|
||||
)
|
||||
SELECT
|
||||
MSG_ID, MSG_TYPE, SEND_STATUS, REQUEST_DATE,
|
||||
RECV_PHONE, SEND_PHONE, SUBJECT, MESSAGE, TELECOM,
|
||||
FILENAME01, FILENAME02, FILENAME03, DELIVER_DATE, SENT_DATE, REPORT_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</insert>
|
||||
<delete id="deleteFromDeliver">
|
||||
/* MariaDBMapper.deleteFromDeliver */
|
||||
DELETE FROM MUNJAON_MSG
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</delete>
|
||||
</mapper>
|
||||
102
src/main/resources/sqlmap/oracle/oracle_sql.xml
Normal file
102
src/main/resources/sqlmap/oracle/oracle_sql.xml
Normal file
@ -0,0 +1,102 @@
|
||||
<?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.munjaon.client.oracle.mapper.OracleMapper">
|
||||
<select id="checkTime" resultType="String">
|
||||
/* MariaDBMapper.checkTime */
|
||||
SELECT TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') FROM DUAL
|
||||
</select>
|
||||
<select id="checkTableForMessage" resultType="int">
|
||||
/* MariaDBMapper.checkTableForMessage */
|
||||
-- SELECT 1 FROM MUNJAON_MSG WHERE 1=1 LIMIT 1
|
||||
<![CDATA[
|
||||
SELECT COUNT(MSG_ID) FROM MUNJAON_MSG WHERE 1=1 AND rownum <= 1
|
||||
]]>
|
||||
</select>
|
||||
<select id="checkTableForLog" resultType="int">
|
||||
/* MariaDBMapper.checkTableForLog */
|
||||
<![CDATA[
|
||||
SELECT COUNT(MSG_ID) FROM MUNJAON_MSG_LOG WHERE 1=1 AND rownum <= 1
|
||||
]]>
|
||||
</select>
|
||||
<select id="selectToDeliver" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToDeliver */
|
||||
<![CDATA[
|
||||
SELECT
|
||||
MSG_ID
|
||||
, MSG_TYPE
|
||||
, TO_CHAR(REQUEST_DATE,'YYYYMMDDHH24MISS') RESERVE_DATE
|
||||
, TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') REQUEST_DATE
|
||||
, RECV_PHONE
|
||||
, SEND_PHONE
|
||||
, SUBJECT
|
||||
, MESSAGE
|
||||
, FILENAME01
|
||||
, FILENAME02
|
||||
, FILENAME03
|
||||
, KAKAO_SENDER_KEY
|
||||
, KAKAO_TEMPLATE_CODE
|
||||
, KAKAO_JSON_FILE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE SEND_STATUS = '0'
|
||||
AND MSG_TYPE = #{msgType}
|
||||
AND REQUEST_DATE <= SYSDATE
|
||||
AND ROWNUM <= 100
|
||||
ORDER BY REQUEST_DATE ASC
|
||||
]]>
|
||||
</select>
|
||||
<update id="updateToDeliver">
|
||||
/* MariaDBMapper.updateToDeliver */
|
||||
UPDATE MUNJAON_MSG SET
|
||||
SEND_STATUS = '1'
|
||||
, DELIVER_DATE = SYSDATE
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</update>
|
||||
<update id="updateToReport">
|
||||
/* MariaDBMapper.updateToReport */
|
||||
UPDATE MUNJAON_MSG SET
|
||||
SEND_STATUS = #{sendStatus}
|
||||
, SENT_DATE = TO_DATE(#{sendDate}, 'YYYYMMDDHH24MISS')
|
||||
, REPORT_DATE = SYSDATE
|
||||
, TELECOM = #{telecom}
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</update>
|
||||
<select id="selectToMove" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToMove */
|
||||
<![CDATA[
|
||||
SELECT MSG_ID, TO_CHAR(REQUEST_DATE, 'YYYYMM') REQUEST_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE SEND_STATUS NOT IN ('0', '1')
|
||||
AND ROWNUM <= 100
|
||||
]]>
|
||||
</select>
|
||||
<select id="selectToExpire" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToExpire */
|
||||
<![CDATA[
|
||||
SELECT MSG_ID, TO_CHAR(REQUEST_DATE, 'YYYYMM') REQUEST_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE REQUEST_DATE < TO_DATE(#{expireTime}, 'YYYYMMDDHH24MISS')
|
||||
AND SEND_STATUS = '1'
|
||||
AND ROWNUM <= 100
|
||||
]]>
|
||||
</select>
|
||||
<insert id="insertToLog">
|
||||
/* MariaDBMapper.insertToLog */
|
||||
INSERT INTO MUNJAON_MSG_LOG
|
||||
(
|
||||
MSG_ID, MSG_TYPE, SEND_STATUS, REQUEST_DATE,
|
||||
RECV_PHONE, SEND_PHONE, SUBJECT, MESSAGE, TELECOM,
|
||||
FILENAME01, FILENAME02, FILENAME03, DELIVER_DATE, SENT_DATE, REPORT_DATE
|
||||
)
|
||||
SELECT
|
||||
MSG_ID, MSG_TYPE, SEND_STATUS, REQUEST_DATE,
|
||||
RECV_PHONE, SEND_PHONE, SUBJECT, MESSAGE, TELECOM,
|
||||
FILENAME01, FILENAME02, FILENAME03, DELIVER_DATE, SENT_DATE, REPORT_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</insert>
|
||||
<delete id="deleteFromDeliver">
|
||||
/* MariaDBMapper.deleteFromDeliver */
|
||||
DELETE FROM MUNJAON_MSG
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</delete>
|
||||
</mapper>
|
||||
97
src/main/resources/sqlmap/postgresql/postresql_sql.xml
Normal file
97
src/main/resources/sqlmap/postgresql/postresql_sql.xml
Normal file
@ -0,0 +1,97 @@
|
||||
<?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.munjaon.client.postgresql.mapper.PostgresqlMapper">
|
||||
<select id="checkTime" resultType="String">
|
||||
/* MariaDBMapper.checkTime */
|
||||
SELECT TO_CHAR(NOW(), 'YYYYMMDDHH24MISS') FROM DUAL
|
||||
</select>
|
||||
<select id="checkTableForMessage" resultType="int">
|
||||
/* MariaDBMapper.checkTableForMessage */
|
||||
SELECT COUNT(MSG_ID) FROM MUNJAON_MSG WHERE 1=1 LIMIT 1
|
||||
</select>
|
||||
<select id="checkTableForLog" resultType="int">
|
||||
/* MariaDBMapper.checkTableForLog */
|
||||
SELECT COUNT(MSG_ID) FROM MUNJAON_MSG_LOG WHERE 1=1 LIMIT 1
|
||||
</select>
|
||||
<select id="selectToDeliver" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToDeliver */
|
||||
<![CDATA[
|
||||
SELECT
|
||||
MSG_ID
|
||||
, MSG_TYPE
|
||||
, TO_CHAR(REQUEST_DATE,'YYYYMMDDHH24MISS') RESERVE_DATE
|
||||
, TO_CHAR(NOW(),'YYYYMMDDHH24MISS') REQUEST_DATE
|
||||
, RECV_PHONE
|
||||
, SEND_PHONE
|
||||
, SUBJECT
|
||||
, MESSAGE
|
||||
, FILENAME01
|
||||
, FILENAME02
|
||||
, FILENAME03
|
||||
, KAKAO_SENDER_KEY
|
||||
, KAKAO_TEMPLATE_CODE
|
||||
, KAKAO_JSON_FILE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE SEND_STATUS = '0'
|
||||
AND MSG_TYPE = #{msgType}
|
||||
AND REQUEST_DATE <= NOW()
|
||||
ORDER BY REQUEST_DATE ASC
|
||||
LIMIT 100
|
||||
]]>
|
||||
</select>
|
||||
<update id="updateToDeliver">
|
||||
/* MariaDBMapper.updateToDeliver */
|
||||
UPDATE MUNJAON_MSG SET
|
||||
SEND_STATUS = '1'
|
||||
, DELIVER_DATE = NOW()
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</update>
|
||||
<update id="updateToReport">
|
||||
/* MariaDBMapper.updateToReport */
|
||||
UPDATE MUNJAON_MSG SET
|
||||
SEND_STATUS = #{sendStatus}
|
||||
, SENT_DATE = TO_DATE(#{sendDate}, 'YYYYMMDDHH24MISS')
|
||||
, REPORT_DATE = SYSDATE
|
||||
, TELECOM = #{telecom}
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</update>
|
||||
<select id="selectToMove" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToMove */
|
||||
<![CDATA[
|
||||
SELECT MSG_ID, TO_CHAR(REQUEST_DATE, 'YYYYMM') REQUEST_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE SEND_STATUS NOT IN ('0', '1')
|
||||
LIMIT 100
|
||||
]]>
|
||||
</select>
|
||||
<select id="selectToExpire" resultType="com.munjaon.client.model.MunjaonMsg">
|
||||
/* MariaDBMapper.selectToExpire */
|
||||
<![CDATA[
|
||||
SELECT MSG_ID, TO_CHAR(REQUEST_DATE, 'YYYYMM') REQUEST_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE REQUEST_DATE < TO_DATE(#{expireTime}, 'YYYYMMDDHH24MISS')
|
||||
AND SEND_STATUS = '1'
|
||||
LIMIT 100
|
||||
]]>
|
||||
</select>
|
||||
<insert id="insertToLog">
|
||||
/* MariaDBMapper.insertToLog */
|
||||
INSERT INTO MUNJAON_MSG_LOG
|
||||
(
|
||||
MSG_ID, MSG_TYPE, SEND_STATUS, REQUEST_DATE,
|
||||
RECV_PHONE, SEND_PHONE, SUBJECT, MESSAGE, TELECOM,
|
||||
FILENAME01, FILENAME02, FILENAME03, DELIVER_DATE, SENT_DATE, REPORT_DATE
|
||||
)
|
||||
SELECT
|
||||
MSG_ID, MSG_TYPE, SEND_STATUS, REQUEST_DATE,
|
||||
RECV_PHONE, SEND_PHONE, SUBJECT, MESSAGE, TELECOM,
|
||||
FILENAME01, FILENAME02, FILENAME03, DELIVER_DATE, SENT_DATE, REPORT_DATE
|
||||
FROM MUNJAON_MSG
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</insert>
|
||||
<delete id="deleteFromDeliver">
|
||||
/* MariaDBMapper.deleteFromDeliver */
|
||||
DELETE FROM MUNJAON_MSG
|
||||
WHERE MSG_ID = #{msgId}
|
||||
</delete>
|
||||
</mapper>
|
||||
@ -1,13 +0,0 @@
|
||||
package com.munjaon.client;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class MunjaonClientApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user