반응형
package my.util;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
/**
*
* <pre>
* origin.sql File을 읽어서 DAO에서 사용할 SQL로 바꾸는 Util
* 마음대로 배포 및 수정 하셔도 됩니다.
* author 만 남겨주세요.
* </pre>
* @author Jeong-Hoon, Kim
*
* @since Jdk 1.6.0_02
* 2008. 02. 20
*/
public class SqlDaoConverter {
private String resultSql;
/**
* 생성자
* @throws IOException
*/
public SqlDaoConverter() throws IOException{
String str = "src\\my\\util\\sql\\origin.sql";
BufferedReader br = new BufferedReader(new FileReader(str));
StringBuilder sb = new StringBuilder();
setResultSql(br, sb);
}
/**
* DAO에서 사용하도록 쿼리를 바꾼다.
* @param br
* @param sb
* @throws IOException
*/
private void setResultSql(BufferedReader br, StringBuilder sb)
throws IOException {
String s;
while((s = br.readLine()) != null){
sb.append("\""+s.trim()+"\""+"+"+"\""+"\\n"+"\""+"\n+");
}
resultSql = sb.substring(0, sb.length()-7).toString().replaceAll(getBindingVariableString(30), "?");
}
/**
* Orange의 binding 값을 ? 로 바꾼다.
* @param limit
* @return
*/
private String getBindingVariableString(int limit) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < limit ; i++) {
sb.append(":"+i+"|");
}
String strBindingVariable = sb.toString().substring(0, sb.length()-1);
return strBindingVariable;
}
/**
* 결과 Sql을 Return한다.
* @return
*/
public String getResultSql() {
return resultSql;
}
/**
* main에 출력.
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
SqlDaoConverter sdc = new SqlDaoConverter();
System.out.println("===========================================================");
System.out.println(sdc.getResultSql().trim());
System.out.println("===========================================================");
}
}
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
/**
*
* <pre>
* origin.sql File을 읽어서 DAO에서 사용할 SQL로 바꾸는 Util
* 마음대로 배포 및 수정 하셔도 됩니다.
* author 만 남겨주세요.
* </pre>
* @author Jeong-Hoon, Kim
*
* @since Jdk 1.6.0_02
* 2008. 02. 20
*/
public class SqlDaoConverter {
private String resultSql;
/**
* 생성자
* @throws IOException
*/
public SqlDaoConverter() throws IOException{
String str = "src\\my\\util\\sql\\origin.sql";
BufferedReader br = new BufferedReader(new FileReader(str));
StringBuilder sb = new StringBuilder();
setResultSql(br, sb);
}
/**
* DAO에서 사용하도록 쿼리를 바꾼다.
* @param br
* @param sb
* @throws IOException
*/
private void setResultSql(BufferedReader br, StringBuilder sb)
throws IOException {
String s;
while((s = br.readLine()) != null){
sb.append("\""+s.trim()+"\""+"+"+"\""+"\\n"+"\""+"\n+");
}
resultSql = sb.substring(0, sb.length()-7).toString().replaceAll(getBindingVariableString(30), "?");
}
/**
* Orange의 binding 값을 ? 로 바꾼다.
* @param limit
* @return
*/
private String getBindingVariableString(int limit) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < limit ; i++) {
sb.append(":"+i+"|");
}
String strBindingVariable = sb.toString().substring(0, sb.length()-1);
return strBindingVariable;
}
/**
* 결과 Sql을 Return한다.
* @return
*/
public String getResultSql() {
return resultSql;
}
/**
* main에 출력.
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
SqlDaoConverter sdc = new SqlDaoConverter();
System.out.println("===========================================================");
System.out.println(sdc.getResultSql().trim());
System.out.println("===========================================================");
}
}
반응형