검색결과 리스트
웹프로그램에 해당되는 글 66건
- 2010.11.09 [ibatis] ibatis + xmlResultName
- 2010.11.09 [ibatis] parameteramp 사용
- 2010.11.09 [ibatis] 공용으로 조건문 사용하기, WHERE 공동사용
- 2010.11.09 [ibatis] ibatis SqlMapConfig 설정 설명
- 2010.10.29 [자바스크립트]자바스크립트 콤마찍기, 인풋입력에 콤마찍기
- 2010.10.27 [java]문자열 나누기, 문자 배열만들기
- 2010.10.24 [ibatis] ibatis batch 처리
- 2010.10.22 [java] java 엑셀 파일 만들기 예제.
- 2010.10.22 [XML] XML 특수문자, 예약문자
- 2010.10.20 ibatis + insert + sequence + DB 주의할점
글
SELECT
PER_ID as id,
PER_FIRST_NAME as firstName,
PER_LAST_NAME as lastName,
PER_BIRTH_DATE as birthDate,
PER_WEIGHT_KG as weightInKilograms,
PER_HEIGHT_M as heightInMeters
FROM PERSON
WHERE PER_ID = #value#
</select>
위 select 구문은 다음 구조의 XML객체를 생성할 것이다.
<person>
<id>1</id>
<firstName>Clinton</firstName>
<lastName>Begin</lastName>
<birthDate>1900-01-01</birthDate>
<weightInKilograms>89</weightInKilograms>
<heightInMeters>1.77</heightInMeters>
</person>
설정
트랙백
댓글
글
<parameter property=”id”/>
<parameter property=”description”/>
</parameterMap>
<insert id=”insertProduct” parameterMap=”insert-product-param”>
insert into PRODUCT (PRD_ID, PRD_DESCRIPTION) values (?,?)
</insert>
com.domain.Product 클레스로 넘어온값을
파라메타를 다시 제정의한다 순서를 정한다.
그후
인서트 부분에
? ?
순서대로 들어간다
insert into PRODUCT (PRD_ID, PRD_DESCRIPTION) values (id값이들어오고,description값이온다)
설정
트랙백
댓글
글
<!-- 셀렉트 문 밑에 iclude 를 이용하여 붙여 넣기했다 -->
<select id="selectItemCount" resultClass="int">
SELECT COUNT(*) AS total
<include refid="selectItem_fragment"/>
</select>
<select id="selectItems" resultClass="Item">
SELECT id, name
<include refid="selectItem_fragment"/>
</select>
<!-- 파라메타 있는 구분도 가능 하다 -->
<sql id="selectItem_fragment">
FROM items
WHERE parentid = #value#
</sql>
<select id="selectItemCount" parameterClass="int" resultClass="int">
SELECT COUNT(*) AS total
<include refid="selectItem_fragment"/>
</select>
<select id="selectItems" parameterClass="int" resultClass="Item">
SELECT id, name
<include refid="selectItem_fragment"/>
</select>
설정
트랙백
댓글
글
maxRequests - 실행되는 쓰레드 갯수
maxSessions -
이유 - DB에 맺는 세션인데 생성자를 생성하는거다 컴퓨터에 가장 많은 부하를 일으키는것이
1. 파일 읽고 쓰기
2. 네트워크 요청 커넥션
3. 기타 IO
일명 IO라고 하겠다.
IO를 미리 맺어놓는 역활을 하는것이 Session 인데.. 이분분에는 생성자가 생기고 매모리가 추가된다 이때문에 매모리 가 늘어날수박에없다.
DB의 세션 한계도 한번 체크해보자 .!!
의 최대갯수이다. maxSessions보다 작거나 같고 maxRequests보다 작아야함
이것은 DB의에 명령을 한번에할수있는부분이다.. 셀렉트는 시간이 오래걸리고 인서트는 금방한다. 모 차이는 종종있겠지만 .이런 부분을 한거번에 처리하는 갯수
타임시 바이트코드 향상을 가능하게 한다.
체적인 이름(fully qualified name)으로 매핑 구문를 참조해야 한다.
설정
트랙백
댓글
글
<html>
<head>
<title></title>
<script type="text/javascript">
function commify(obj) {
var n = obj.value;
n = unNumberFormat(n);
var reg = /(^[+-]?\d+)(\d{3})/; // 정규식
n += ''; // 숫자를 문자열로 변환
while (reg.test(n))
n = n.replace(reg, '$1' + ',' + '$2');
obj.value = n;
}
function numberFormat(obj) {
var pattern = /(-?[0-9]+)([0-9]{3})/;
while(pattern.test(num)) {
num = num.replace(pattern,"$1,$2");
}
return num;
}
//콤마제거
function unNumberFormat(num) {
return (num.replace(/\,/g,""));
}
</script>
<input type=text name='aaaa' onkeyup="commify(this)"/>
</head>
<body>
</body>
</html>
여기저기 퍼와서 만들었다....
설정
트랙백
댓글
글
[ StringTokenizer 이용 ]
예제>
String str = "MouseVM,,StringTokenizer";
StringTokenizer tokens = new StringTokenizer( str, "," );를 사용 할 경우
for( int x = 1; tokens.hasMoreElements(); x++ )
{
System.out.println( "문자(열) " + x + " : " + tokens.nextToken() );
}
결과>
문자(열) 1 : MouseVM
문자(열) 2 : StringTokenizer
[ Split 를 이용 ]
예제>
String str = "MouseVM,,Slpit";
String[] values = str.split(",");
for( int x = 0; x < values.length; x++ )
{
System.out.println( "문자(열) " + (x+1) + " : " + values[x] );
}
결과>
문자(열) 1 : MouseVM
문자(열) 2 :
문자(열) 3 : Slpit
이 두가지의 차이점은, StringTokenizer 는 값이 없는것은 무시 한다는 점입니다.
즉, 값이 없어도 처리를 하고 싶을경우 split를 이용하고, 그외의 경우는 StringTokenizer 를 사용하면 됩니다.
출처 : http://cafe.naver.com/pgzoo.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=14
※ 주의사항
문자열을 나누기 위해 Split 함수를 쓸때 주의할 사항이 있습니다.
저도 오늘 사용하면서 알게 되었는데요~
String의 멤버함수들 중
replaceAll ( 정규식 , 대체문자열 )
split ( 정규식 )
matches ( 정규식 )
과 같이 정규식을 인수로 넣도록 하는 하는 것들이 있습니다.
정규식은 예약된 표기법을 이용 규칙적인 패턴을 갖는 문자열을 찾는다거나 혹은 변형하는 기능을 갖도록 합니다.
고로, 문자열이 만약 "MouseVM..Slpit" 로 정의되어 있다면
이렇게 str.split("."); 호출하여도 원하는 결과를 얻을 수 없다는 것을 의미합니다.
원하는 결과를 얻기 위해서는
str.split("\\.");
이렇게 사용하여야 합니다.
점(.)은 정규식에서 개행문자를 제외한 아무문자하나를 말합니다.
점을 점 그데로 인식 시키려면 예약어를 일반문자처럼 사용하기 위해 back slash를 앞쪽에 하나 넣어 주는데, 위에서 두 개를 넣은 것은 자바 문법에서 "" 내부에서 \ 가 예약어라 \\개를 넣어 줍니다.
출처 : http://kin.naver.com/db/detail.php?d1id=1&dir_id=10106&eid=u+9cW21TVvIUIAhHBMe3iW90aKtjWOc/&qb=c3BsaXQoIi4iKQ==
설정
트랙백
댓글
글
SqlMapClient client = getSqlMapClient();
try{
client.startTransaction(); //선언해죠야하낟.
client.startBatch();
for (int i = 0; i < listDeptIDs.size(); i++) {
Object res = getSqlMapClientTemplate().queryForObject("select-role-dept", params); // 객체있는지 판단
//System.out.println("res : " + res + ", " + deptid + " : " + rid);
if (res == null || Integer.parseInt("" + res) <= 0) {
client.insert("insert-role-dept", params); // 인서트할 쿼리를 넣는다.
}
}
client.executeBatch();
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
try {
client.endTransaction(); // 종료 확실히
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
잘사용하자.
펌 - http://naucika.tistory.com/63
설정
트랙백
댓글
글
Jakarta POI
VII. 엑셀 쓰기예제
쓰기도 역시 읽기와 비슷합니다.
① 엑셀 워크북을 생성합니다. 행과 셀을 생성하려면 당연한 절차겠죠?
HSSFWorkbook workbook = new HSSFWorkbook();
② 시트를 생성합니다.
시트명을 파라미터로 바로 생성 합니다.
HSSFSheet sheet = workbook.createSheet("sheet name");
만약 한글로 시트명을 만들려면 다음과 같이 인코딩이 필요합니다.
HSSFSheet sheet = workbook.createSheet();
workbook.setSheetName( 0 , "한글" , HSSFWorkbook.ENCODING_UTF_16 );
③ 셀에 사용할 스타일을 미리 생성해 둡니다.
HSSFCellStyle style = wb.createCellStyle();
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBottomBorderColor(HSSFColor.BLACK.index);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setLeftBorderColor(HSSFColor.GREEN.index);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setRightBorderColor(HSSFColor.BLUE.index);
style.setBorderTop(HSSFCellStyle.BORDER_MEDIUM_DASHED);
style.setTopBorderColor(HSSFColor.BLACK.index);
등 여러가지 스타일을 만들 수 있습니다.
스타일은 다음 주소를 참고하세요
http://jakarta.apache.org/poi/apidocs/org/apache/poi/hssf/usermodel/HSSFCellStyle.html
④ 로우를 하나 생성합니다.
HSSFRow row = sheet.createRow(0);
⑤ 셀츨 하나 생성하여 스타일을 주고 값을 입력합니다.
HSSFCell cell = row.createCell((short)0);
cell.setCellStyle(style);
cell.setCellValue("jakarta project!");
만약 한글을 입력한다면 인코딩 해야 하며 값 세팅전에 해야 합니다.
cell.setEncoding(HSSFCell.ENCODING_UTF_16); //한글 처리
cell.setCellStyle(style);
cell.setCellValue("자카드타 프로젝트!");
⑥ 모든 셀이 다 입력되었으면 파일을 만듭니다.
FileOutputStream fs = new FileOutputStream("excelfile.xls");
workbook.write(fs);
fs.close();
VIII. 쓰기샘플 소스
<%@ page language="java" contentType="text/html;charset=euc-kr" %>
<% try { String[] cell_value = {"자카르타","프로젝트","www.jakartaproject.com"}; HSSFWorkbook workbook = new HSSFWorkbook();
HSSFCellStyle style = workbook.createCellStyle(); HSSFRow row = sheet.createRow(0); </body> |
자 결과화면 입니다.
성공!
위의 소스를 기본으로 한다면 그리 어렵지 않을겁니다 ^^
참고로 셀병합은
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFRow row = sheet.createRow((short) 1);
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue("This is a test of merging");
//셀병합
//Region(int 시작row, short 시작col, int 종료row, short 종료col)
sheet.addMergedRegion(new Region(1,(short)1,1,(short)2));
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
와 같이하면 됩니다
설정
트랙백
댓글
글
XML 예약문자 |
<, >, &는 XML tag 표시와 entity를 표시하는 XML 예약문자로, XML 문서에 그대로 사용할 수 없다. | |
< (less-than sign) | < |
> (greater-than sign) | > |
& (ampersand) | & |
그리스문자 | |
그리스 문자는 풀어서 사용한다. | |
α | alpha |
β | beta |
γ | gamma |
δ,Δ | delta |
ε | epsilon |
ζ | zeta |
η | eta |
θ | theta |
ι | iota |
κ | kappa |
λ | lambda |
μ | micron |
ν | nu |
ξ | xi |
ο | omicron |
π | pi |
ρ | rho |
σ, Σ | sigma |
τ | tau |
υ | upsilon |
φ | phi |
χ | chi |
ψ | psi |
ω, Ω | omega |
기호 & 부호 | |
≤ | < or = |
≥ | > or = |
± | +/- |
˚ | degrees |
℃ | degrees C |
→ | --> |
㎍, μG | microgram |
㎕, μL | microliter |
㎛, μM | micrometer |
® | (R) |
™ | (TM) |
χ2 | chi─square |
화학기호 | |
화학기호는 윗첨자나 아랫첨자를 지정하지 않고 그대로 입력한다. |
K+ | K+ |
Cl- | Cl- |
Mg2+ | Mg2+ |
CO2 | CO2 |
H2O | H2O |
수학기호 | |
수학기호는 윗첨자나 아랫첨자를 괄호 "( )" 안에 넣어서 입력한다. |
102 | 10(2) |
10-2 | 10(-2) |
height2.239 | height(2.239) |
설정
트랙백
댓글
글
<insert id="extractionDao.insertNumber" parameterClass="ExtractionInfoBean">
<selectKey resultClass="log" keyProperty="id" >
<![CDATA[
select event_seq.nextval from dual
]]>
</selectKey>
<![CDATA[
insert into event ( type, id, extension ) values ( #type#, #id#, #extension# )
]]>
</insert>
<!— Microsoft SQL Server IDENTITY Column Example -->
<insert id="insertProduct-MS-SQL" parameterClass="com.domain.Product">
insert into PRODUCT (PRD_DESCRIPTION)
values (#description#)
<selectKey resultClass="int" >
SELECT @@IDENTITY AS ID
</selectKey>
</insert>
1. 주의할점
-->keyProperty 는 parameterClass넘어오는 객체에 Set 과 Get으로 이름이존재해야한다.
--> parameterClass 클래스 객체의 타입과 resultClass="log" 의 값은 같아야한다.
--> DB 형식에 따라 selectKey 의 위치가 틀려질수있다.
오라클은 먼저 MYSQL 및 MS_SQL은 뒤에 입력해야한다. 그이유는 DB 마다 스킨스 생성하는 방식이 틀리기 떄문이다.
RECENT COMMENT