2009. 8. 4. 10:15

여러가지 주요내용 복습중...

 

 

<%! /*한글디코딩*/

String koreanDecoding(String str) throws Exception {

if(str == null) return null;

else

return new String(str.getBytes("8859-1"),"KSC5601");

}

%>

 

 

 

C:\Program Files\Java\jdk1.6.0_13\jre\lib\ext 에 복사할것(드라이버못찾을시)

mysql-connector-java-5.1.7-bin.jar

 

 

글자꺠질떄

DriverManager.getConnection("jdbc:mysql://localhost/jsp?useUnicode=true&characterEncoding=euckr","root","ľĎČŁ");

 

connectDatabase.java 예제

import java.sql.*;

 

public class connectDatabase {

public static void main(String[] args) {

try {

Class.forName("com.mysql.jdbc.Driver");

}catch(ClassNotFoundException e) {

System.out.println("jdbc 드라이버를 찾지 못했습니다");

e.printStackTrace();

}

String url = "jdbc:mysql://localhost:3306/mysql";

String id ="root";

String pass = "apmsetup";

try {

Connection connection =DriverManager.getConnection(url,id,pass);

System.out.println("데이터베이스와의 연결이 성공했습니다");

connection.close() ;

}catch (SQLException e) {

System.out.println("db와의 연결실패");

e.printStackTrace();

}

}

}

mysqljdbc.jsp

 

<%@ page import="java.sql.*" %>

 

<%

String DB_URL = "jdbc:mysql://localhost/test";

String DB_USER = "";

String DB_PASSWORD= "";

 

Connection conn;

Statement stmt;

 

String query = "create table createTest(name varchar(10), tel varchar(15))";

 

// try {

Class.forName("com.mysql.jdbc.Driver");

 

conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);

 

conn.setAutoCommit(false);

stmt = conn.createStatement();

 

stmt.executeUpdate(query);

 

conn.commit();

 

out.println("table created!!");

 

stmt.close();

 

conn.close();

 

// } catch(Exception e){out.println(e.getMessage());}

%>

 

mssql jdbc 드라이버 로드

Class forName("sun.jdbc.odbc.jdbcOdbcDriver");

Connection conn = DriverManager.getConection("jdbc:odbc:test","사용자","패스");

 

mysql jdbc 드라이버로드

Class forName("com.mysql.jdbc.Driver");

mysql db연결

 

dburl

("jdbc:mysql://localhost:3306/menagerie","root","apmsetup");

 

Connection conn = DriverManager.getConection("JDBC URL", "사용자","패스워드");

 

set classpath =%classpath%; c:\경로;

 

다음처럼 테이블을 채우자:

mysql> LOAD DATA LOCAL INFILE "event.txt" INTO TABLE event; //외부파일불러와서 자료입력

 

----------------------------------------------------------------------

mysql 정규표현식에 사용되는 문자 | 설명

------------------------------|---------------------------------------

.         | 문자 하나

* | 앞에 나온 문자의 0 이상의 반복

^ | 문자열 처음

$ | 문자열

[,] | 괄호안의 문자들에 일치

{,} | 반복을 나타낼 . 예로 n 반복할

| {n}으로 적는다.

SELECT * FROM pet WHERE name REGEXP "ffy";

SELECT * FROM pet WHERE name LIKE "ffy";

표현할 수도 있다. 정규표현은 대소문자를 구별한다. 따라서 대문자든 소문자든

상관없이 알파벳 문자 하나를 가리키는 표현은 [a-zA-Z] 해야 한다.

 

* 0 이상의 문자들이라고 했다. x* x, xx, xxx ... 해당한다. [0-9]* 7,

12, 345, 678등의 임의의 길이를 갖는 수를 나타낸다. ^abc abc 시작하는 패턴을

abc$ abc 끝나는 문자열을 의미한다.

 

정규 표현식을 때는 LIKE대신 REGEXP 사용한다.

 

예를 보며 익혀 보자.

 

이름이 소문자 b 혹은 대문자 B 시작하는 조건으로 검색:

 

mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";

+--------+--------+---------+------+------------+------------+

| name | owner | species | sex | birth | death |

+--------+--------+---------+------+------------+------------+

| Buffy | Harold | dog | f | 1989-05-13 | NULL |

| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |

+--------+--------+---------+------+------------+------------+

 

이름이 fy 끝날 ($ 사용한다):

 

mysql> SELECT * FROM pet WHERE name REGEXP "fy$";

+--------+--------+---------+------+-----------+-------+

| name | owner | species | sex | birth | death |

+--------+--------+---------+------+-----------+-------+

| Fluffy | Harold | cat | f |1993-02-04 | NULL |

| Buffy | Harold | dog | f |1989-05-13 | NULL |

+--------+--------+---------+------+-----------+-------+

 

정확하게 5개의 문자로 이름어진 값은 다음 정규 표현에 일치한다:

 

^.....$

 

이것은 반복 연산자를 이용하여 다음처럼 수도 있다.

 

^.{5}$

----------------------------------------------------------------------

 

c + shit + alt + e :전체레이어모양 캡쳐

c + j =layer via copy

alt + printscreen = 해당 창만 복사

--------------

 

닷지툴 밝게

번툴 어둡게

스펀지 -채도올리고 내린다

 

 

 

object getAtrribute(String name) //세션 속성이름 name에 대한

    속성값을 object타입으로 반환

    예제:Integer countNum =(Integer)session.getAttribute("counter")             //counter이름으로된 쿠키의 속성값을 반환

 

countNum = new Integer(1); //정수값1을 integer클래스를 이용하여 객체로 바꾼다음

                정수형 변수 num에 저장

 

Integer 클래스

int 타입의 정수에 대한 wrapper 클래스로 원시 데이터 타입인 int정수를 객체화시킬때 사용

    int intPrim =10;

    Integer int0bj = new Integer(intPrim);

 

쿠키:쿠키이름,값을 사용자 컴터에 저장

세션:세션id만 사용자컴터에 저정,중요정보(session객체속성등)은 웹서버에 저장된다.

 

자바빈즈

jsp페이지의디자인 요소로부터 분리된 순수한 자바 코드로 이루어진 자바 프로그램으로 재사용이 가능한 컴포넌트

 

컴포넌트

재사용가능한 블록형태로묶어놓은것

 

...\classes> javac -d . Myjava.java (컴파일) package

 

this.age = age;

vector.addElement (new CustomerAppBean(name, age));

    코드해석:age할당까지 끝나면 할당받은 nameage값을 customerAppBean의 생성자함수의 인수로 입력하여     CustomerAppBean객체를 만든 다음 이 것을 vector에 추가

 

 

 

 

 

--------------------------------------------

-------

 

http://www.itmembers.net/lecture/db8-1.gif

---------------------


회사 내의 부서, 사원 등에 대한 정보가 있어야겠죠? 여기서 부서, 사원 등에 해당되는 개념이 바로 entity입니다. 한마디로 "업무에서 필요로하는 관련된 데이터의 집합"으로 규정할 수 있죠

Attributes

그러나 entity만 가지고는 정보를 표현하기에 부적합합니다. 조금 전 부서, 사원 등이 entity에 해당된다고 했는데 각각의 사원은 사원번호, 이름, 나이, 연봉 등의 값을 가지고 있습니다. 부서는 부서의 코드와 부서 이름 등의 하위 값을 가질 수 있죠. 이렇게 entity가 가지고 있는 보다 구체적인 데이터를 attributes라고 합니다.

Entity Relationship Diagram은 "entity들 간의 상호 관계를 그림으로 도식화한 것"이라고 정의 ERD


---------------