영원한 고민거리, Java에서의 데이터베이스와 SQL 접근 Java 개발자에게 있어 데이터베이스와 SQL 접근은 영원한 고민거리이다. 요즘같이 생산성이 중요시되는 시대에 공부 목적이 아닌 이상 java.sql.* 패키지만을 사용하여 Plain JDBC로 데이터베이스 접근 코드를 구현하는 사람은 적을 것이다. Plain JDBC만을 사용하면 간단한 SQL 쿼리 결과를 얻기 위해 불필요한 Boilerplate Code(보일러플레이트 코드)가 너무 많아 프로젝트의 규모가 조금만 커져도 생산성의 발목을 잡게 된다. MyBatis, JdbcTemplate, Hibernate... 이러한 생산성을 향상시켜주는 라이브러리가 존재한다. 먼저 너무나도 유명한 MyBatis는 iBatis의 전신으로 국내 프로젝트 환경에서..
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..
* Spring 3 환경에서 메일을 발송하는 방법을 조사해봤다. 간단하게 Oracle에서 제공하는 JavaMail API를 사용하면 된다. 현재 최신 버전은 1.4.7이며 maven javamail로 구글링하면 mail-1.4.7.jar 파일을 다운로드받을 수 있다. * 다운로드받은 mail-1.4.7.jar 파일을 프로젝트의 CLASSPATH에 추가한다. 웹 애플리케이션의 경우 /WebContent/WEB-INF/lib 디렉토리에 복사하면 간단하게 끝난다. * 메일 발송 정보를 저장할 mail.xml 파일을 작성한다.smtptruetruetrue * DispatcherServlet 역할을 하는 XML 파일에 아래 내용을 추가한다. * 애플리케이션의 @Service 오브젝트에서 사용될 MailServic..
* 일반적으로 전산실 환경에서 주기적인 디비 백업이나 메일 발송 기능은 유닉스 또는 리눅스 상에서의 cron을 이용하여 쉘 스크립트를 실행하는 형태로 구현한다. 현재 Spring Web MVC 3를 기반으로 개발 중인 사내 웹 애플리케이션에도 이런 형태의 스케줄 작업을 구현할 필요가 생겼는데 웹 애플리케이션 내부에서 구현해보자는 생각에 Spring 3 환경에서 Task Scheduler 메써드를 구현하는 방법을 조사해봤다. * Spring 3에서는 어노테이션 기반으로 cron만큼 편리하고 직관적인 작업 스케줄러 기능을 지원한다. * 적용할 Spring Web MVC 3 프로젝트가 XML 기반의 ApplicationContext로 구성되었다는 가정 하에 아래와 같이 task.xml 파일을 작성한다. * D..
- Total
- Today
- Yesterday
- 로드바이크
- Spring Boot
- 구동계
- chrome
- jstl
- 평속
- 자전거
- jpa
- java
- Kendo UI
- node.js
- jsp
- spring
- Docker
- MySQL
- CentOS
- Tomcat
- 알뜰폰
- kotlin
- Eclipse
- JavaScript
- Kendo UI Web Grid
- graylog
- maven
- 로드 바이크
- 태그를 입력해 주세요.
- Spring MVC 3
- bootstrap
- JHipster
- DynamoDB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |