s_cheon
14
2019-04-23 12:42:38
11
393

[Junit] org.mybatis.spring.MyBatisSystemException Error


테스트 코드에서 저렇게 에러가 발생하네요.

	@Test
	public void ValidTest() {
		String result = testEnv.get("output") + "";
	
		SQLResult tmp = new SQLResult();
		tmp.result = DbCommon.DB_SUCC; //DB_SUCC = 10001;
		tmp.reason = "OK";
		tmp.FRV_string = "";
		Mockito.when(Db.getCm(anyString())).thenReturn(tmp);
		
		assertEquals(result, Test());
	}


왜 이런 문제가 나오죠...?

1
0
  • 답변 11

  • 초급개발자(오)
    511
    2019-04-23 12:59:08

    정보가 너무 적은데요.... 오류 문구를 좀더 올려주시겠어요?

    0
  • s_cheon
    14
    2019-04-23 13:07:59 작성 2019-04-23 13:09:30 수정됨

    대충 이렇게 쭉 나와요 ㅠ

    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
    ### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not connect to address=(host=localhost)(port=3306)(type=master) : Connection refused: connect)
    ### The error may exist in class path resource [com/samsung/nms/db/commondb/mapper/DbCommonDao.xml]
    ### The error may involve com.samsung.nms.db.commondb.dao.DbCommonDao.getAllCmLevel3_S09
    ### The error occurred while executing a query
    ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not connect to address=(host=localhost)(port=3306)(type=master) : Connection refused: connect)
    at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator. .... 

    Caused by: org.apache.ibatis.exceptions.PersistenceException: 
    ### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not connect to address=(host=localhost)(port=3306)(type=master) : Connection refused: connect)
    ### The error may exist in class path resource [com/samsung/nms/db/commondb/mapper/DbCommonDao.xml]
    ### The error may involve com.samsung.nms.db.commondb.dao.DbCommonDao.getAllCmLevel3_S09
    ### The error occurred while executing a query
    ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not connect to address=(host=localhost)(port=3306)(type=master) : Connection refused: connect)
    at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
    at org.apa      ....
    0
  • 초급개발자(오)
    511
    2019-04-23 13:13:23 작성 2019-04-23 13:14:02 수정됨

    1.JDBC의 jar파일은 있으신가요?

    2.DB(host=localhost)(port=3306)(type=master)정보가 맞으신가요? (id,password,url 등)

    3.현재 DB접속은 가능하신 상태이신가요?(접속권한,보안정책 등)

    0
  • s_cheon
    14
    2019-04-23 13:23:38

    jar 파일은 있고 DB 정보도 맞는데
    DB가 생성되기 전 테스트라서 Db.getCm이 DB 가져오는 메소드인데 when으로 실제 DB 가져오는거 대신 제가 직접 값 넣어준거거든요... 뭐가 잘못된걸까요?

    0
  • 초급개발자(오)
    511
    2019-04-23 13:37:08

    오류 내용은

    (host=localhost)(port=3306)(type=master)

    에 연결을 할수 없어서 오류가 발생했다고 하는데요...

    아무래도 DB에 접근을 할수없다는 내용인거 같은데 localhost시면 PC 아니신가요?

    0
  • s_cheon
    14
    2019-04-23 14:00:14 작성 2019-04-23 14:00:44 수정됨

    아 넵 PC에요.

    그렇담 DB조회하는 메소드를 mocking 하면 해결될까요?

    0
  • 초급개발자(오)
    511
    2019-04-23 14:05:55

    url이 아마

    localhost:1521:xe 이실거에요 대부분의 PC가 그렇거든요 ㅎ

    0
  • s_cheon
    14
    2019-04-23 14:14:40

    제가 자바배운지가 얼마 안되서요...

    url 경로를 변경해줘야 하는건가요?

    수정해야 된다면 이게 maven이 아니라 일반 프로젝트라 pom.xml이 없어요ㅠ

    0
  • 초급개발자(오)
    511
    2019-04-23 14:20:04 작성 2019-04-23 14:23:35 수정됨

    음 DB 관련 XML 이나 프로바티스 파일에

    id,password,url이렇게 들어가계실거에요 ㅎ

    이때

    id="DB계정"

    password="DB비밀번호"

    URL="DB아이피:포트:SID"

    이렇게 되어 있으실거에요 ㅎ

    여기서 PC는 대부분

    URL이 localhost:1521:xe 로 되어있다는 말이었어요 ㅎ

    물론 DB Connection 에서도 바꿔주셔야해요 ㅎ

    0
  • s_cheon
    14
    2019-04-23 14:21:44
    그럼... localhost:1521로 되어있는 부분을 제 로컬에 맞게 바꿔주면 된다는 말씀 ..??? !!!!!!!!!!!!!!!!!!!!!
    0
  • 초급개발자(오)
    511
    2019-04-23 14:47:38

    3306포트는 mysql 기본 포트입니다. 

    DB가 생성되지않았는데 mysql로 가려하니 문제가 생기는 부분인것같아

    localhost:1521:xe 로 수정하신후 테스트하시는것이 좋다는 이야기였습니다 ㅎ

    1
  • 로그인을 하시면 답변을 등록할 수 있습니다.