main() 메써드에서 테스트 코드를 작성하던 시대는 지났다. 아직도 적지 않은 Java 개발자가 습관상 main() 메써드 안에서 자신이 작성한 소스 코드를 테스트한다. 하지만 JUnit이 등장하면서 소스 코드를 테스트하기 훨씬 편해졌다. 테스트 클래스를 생성하고 메써드 앞에 @Test 어노테이션을 부여하면 간단하게 코드 테스트가 가능하다. 그렇다면 테스트 코드는 어디에 작성해야 할까? 프로젝트 구조를 변경하자. Eclipse에서 Java Project를 새로 생성하면 기본적으로 아래 구조로 프로젝트가 생성되며 src 폴더 밑에 새로운 패키지를 생성하여 소스 코드를 작성하게 된다. src org.jsonobject.someproject 하지만 최근 추세는 메인 소스 코드와 테스트 소스 코드를 분리하여 ..
영원한 고민거리, Java에서의 데이터베이스와 SQL 접근 Java 개발자에게 있어 데이터베이스와 SQL 접근은 영원한 고민거리이다. 요즘같이 생산성이 중요시되는 시대에 공부 목적이 아닌 이상 java.sql.* 패키지만을 사용하여 Plain JDBC로 데이터베이스 접근 코드를 구현하는 사람은 적을 것이다. Plain JDBC만을 사용하면 간단한 SQL 쿼리 결과를 얻기 위해 불필요한 Boilerplate Code(보일러플레이트 코드)가 너무 많아 프로젝트의 규모가 조금만 커져도 생산성의 발목을 잡게 된다. MyBatis, JdbcTemplate, Hibernate... 이러한 생산성을 향상시켜주는 라이브러리가 존재한다. 먼저 너무나도 유명한 MyBatis는 iBatis의 전신으로 국내 프로젝트 환경에서..
Oracle(오라클)에서는 테이블 생성시 날짜와 시간을 저장하는 DATE 타입에 아래와 같이 SYSDATE로 기본값을 부여할 수 있다. CREATE TABLE ORACLE_TABLE( DATE_CREATED DATE DEFAULT SYSDATE ) ; 당연한 생각에 MySQL에서도 동일한 시도를 해보았다. MySQL의 DATETIME은 Oracle의 DATE와 동일한 역할을 하는 타입이다. CREATE TABLE MySQL_Table( DateCreated DATETIME DEFAULT NOW() ) ; 당연히 될 줄 알았지만 결과는 오류가 발생했다. 구글링 결과 MySQL 버전에 따라 아래와 같이 처리해야 한다. MySQL v5.6.5 이상일 경우 NOW() 함수가 아닌 CURRENT_TIMESTAMP..
Java 소스 코드 작성시 날짜와 시간을 다룰 때 Java의 기본 API가 제공하는 java.util.Date 클래스를 사용하지 않고 Joda-Time의 org.joda.time.DateTime 클래스를 이용하는 편이다. 사용이 훨씬 편리하기 때문이다. DateTime 클래스 사용시 주의할 점은 데이터베이스에 대한 CRUD 작업시 JDBC Driver를 이용하여 MySQL에 파라메터로 전달할 때 변환 작업이 필요하다. 변환 없이 그래도 파라메터로 전달하면 아래와 같은 오류를 출력한다. com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value... 해답은 DateTime 객체를 yyyy-MM-dd HH:mm:ss 형식의 St..
- Total
- Today
- Yesterday
- 알뜰폰
- JavaScript
- 구동계
- Spring Boot
- JHipster
- maven
- node.js
- 로드바이크
- Eclipse
- MySQL
- Kendo UI
- Tomcat
- 평속
- jpa
- 태그를 입력해 주세요.
- chrome
- 자전거
- Kendo UI Web Grid
- spring
- graylog
- kotlin
- jsp
- CentOS
- java
- 로드 바이크
- DynamoDB
- jstl
- Docker
- Spring MVC 3
- bootstrap
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |