Search Results for '아름다운개발'

381 POSTS

  1. 2021.04.13 DBeaver workspace 변경 1
  2. 2021.03.17 apache-tomcat 9.0.x Catalina log 한글깨짐
  3. 2021.02.10 Springboot + gradle + Mybatis typeAlias Eclipse 인식오류 1

DBeaver workspace 변경

Posted 2021. 4. 13. 17:12

사용하던 Windows PC가 느려지거나 오동작한 경우 종종 PC를 초기화하여 사용하게 된다.

백업을 열심히 받고, 빠진게 없나 살펴보았지만 꼭 설치하고나면 빠진게 있어 멘붕이 오곤한다.

 

개발관련 프로그램이나 자료는 대부분  D드라이브에 위치하기 때문에 백업에서 자유롭긴한데, 그래도 빠지는것들이 발생한다.

Eclipse기반의 DBeaver를 사용중인데, 자주 빼먹는 백업요소중 하나이기도 하다. 

설치후 Default로 사용하게 되는 dbeaver의 workspace는 c:\Users\{사용자}\ 이하 디렉토리이다.

정확한 경로는 

공식문서를 찾아보니 CLI를 이용한 -data 옵션으로 실행하면 가능하다고 되어있다. 

command line에서 실행할때 파라메터로 -data 를 이용해서 workspace를 추가하면 된다는 내용인듯.

설치디렉토리에 가보니 dbeaver.exe 외에 dbeaver-cli.exe도 있다. 실행해보니 잘되긴 하는데... 문제는 로그가 foreground로 올라온다.  이건 아니다 싶어 혹시나하고 dbeaver.exe에도 동일한 옵션을 붙여서 해보니 동일하게 잘 된다. 뭐지?

( 설치디렉토리의 readme.txt를 보니 꼭 cli.exe라고 한정하지 않고 있다. )

 

바로가기를 만들고 대상입력란에 -data 옵션추가해서 사용하면 끝.

 

또다른 방법으로 Symbolic Link를 활용

또는 mklink명령어 사용

출처 : https://zetawiki.com/wiki/%EC%9C%88%EB%8F%84%EC%9A%B0_%EC%8B%AC%EB%B3%BC%EB%A6%AD_%EB%A7%81%ED%81%AC_%EC%83%9D%EC%84%B1

 

이렇게 해놓으면 다음부턴 굳이 백업을 받지 않아도 됨.

 



이전 apache-tomcat 8.5.56 에서도 한글이 깨져 관련 글을 포스팅했었는데, (gubok.tistory.com/500) 이번엔 조금 다른형태로 진행됨.

기존 apache-tomcat 8.5.56 에서는 {TOMCAT_HOME}/conf/logging.properties 의 encoding설정라인을 아예 주석으로 처리해서 한글문제가 해결되었으나 이번 apache-tomcat 9.0.41에서는 해결되지 않았다.

구글링해서 얻은 결론은 EUC-KR로 처리함. ( 환경은 Windows 2012 Server )

 

Encoding전

 

Encoding후

 

EUC-KR로 인코딩이라... 오랫만에 보는 인코딩이라 뭔가 좀 찜찜하다. 



어느순간 SpringFramework을 사용하는 프로젝트는 springboot가 대세가 되버렸고, 

이제는 점점 springboot + maven + mybatis 에서 maven자리를 gradle이 대체하는 추세인듯하다. (개인적인 느낌)

여전히 Maven이 친숙한 입장에서 gradle이 익숙하지 않은데서 오는 삽질이 또다시 반복되고 있다.(ㅠ.ㅠ)

(앞으로도 개발을 놓기전까지 이런 패턴은 계속될듯...)

 

eclipse나 sts등의 IDE에서 gradle로 관리하는 프로젝트에서 mybatis mapper.xml 에서 domain class의 typealias를 인식하지 못하고 오류표시를 내곤한다.

Class/TypeAlias 인식하지 못한 오류

그런데 springboot로 실행하면 특별한 오류없이 잘 실행되곤 한다. 그냥 내버려두고 싶다가도 계속 눈에 거슬리다보니 원인과 해결책을 찾아 메모해둔다. 

 

개인의견으로는 Spring의 설정이 xml 에서 annotation으로 변화되면서 실행시점에 mapper와 domain class를 인식하기에 실행에는 문제가 없으나 IDE Tool에서는 이를 인지하기엔 추가적인 설정이 필요하지만 적용하지 않아 발생하는 오류로 보인다.

기본적인 springboot+mybatis+gradle  프로젝트 설정 이후 DataSource관련 추가설정을 별도의 class로 분리하여 아래와 같이 설정했다.

 

1. 일반적인 springboot 설정

@SpringBootApplication
public class TestBootApplication {

	public static void main(String[] args) {
		
		SpringApplication app = new SpringApplication(TestBootApplication.class);
		app.run(args); 
	}

2. DataSource Config설정

@Configuration
@ComponentScan
@EnableTransactionManagement
public class DataSourceConfig {
	
	@Bean
	public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
		SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
		sessionFactory.setDataSource(dataSource);
		sessionFactory.setVfs(SpringBootVFS.class); 
		
		Properties properties = new Properties();
		properties.setProperty("callSettersOnNulls", "true");
		sessionFactory.setConfigurationProperties(properties);
		
		org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
		configuration.setCallSettersOnNulls(true);
		sessionFactory.setConfiguration(configuration);
		sessionFactory.setTypeAliasesPackage("com.test.dto");

		return sessionFactory.getObject();
	}	
}

여기까지만 해도 실행에는 문제가 발생하지 않는다. 하지만 서두의 문제처럼 IDE에서 오류가 발생한다.

 

application.properties나 application.yml에 아래의 설정을 추가해주자.

mybatis:
  type-aliases-package: com.test.dto
  mapper-locations: com/test/mapper/*.xml

추가로

위의 mapper-locations 는 일정한 규칙대로 일괄적용하는 방식이라면

config-location=mybatis-config.xml 형식으로 지정하면 선택적인 mapper및 alias name을 적용할 있다. 

아래는 mybatis-config.xml 파일의 샘플이다.

<?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>
		<setting name="callSettersOnNulls"    value="true"/>
		<setting name="jdbcTypeForNull"       value="NULL" />
		<setting name="cacheEnabled"          value="false" />
		<setting name="useGeneratedKeys"      value="true" />
		<setting name="defaultExecutorType"   value="REUSE" />
		<setting name="mapUnderscoreToCamelCase" value="true"/>
	</settings>
 
  <mappers> 
    <mapper resource="com/test/oracle/mapper/TestMapper.xml"/>
    <mapper resource="com/test/oracle2/mapper/UserDao.xml"/>
    ...
  </mappers>

  <typeAliases>
	<typeAlias type="com.test.dto.UserDto" alias="User" />
  </typeAliases>

 

 



« PREV : 1 : 2 : 3 : 4 : 5 : 6 : 7 : ··· : 127 : NEXT »