๐ปStatement ๊ฐ์ฒด
- Statement ๊ฐ์ฒด๋ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ค.
- ์ด ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ SQL ๋ฌธ์ ์ ๋ฌํ๊ณ ์คํํ ์ ์๋ค.
์ข ๋ฅ
Statement ์ธํฐํ์ด์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก SQL ๋ฌธ์ ์คํํ๋๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์ด๋ฅผ ๊ตฌํํ ์ธ ๊ฐ์ง ํ์ ์ธํฐํ์ด์ค๊ฐ ์๋ค
1. Statement (๊ธฐ๋ณธํ)
- ์ ์ ์ธ SQL ๋ฌธ์ ์คํํ๋ค.
- ๋งค๊ฐ ๋ณ์ ์ฒ๋ฆฌ๊ฐ ๊ท์ฐฎ๋ค.
- ์์ ์ฑ๊ณผ ๊ฐ๋ ์ฑ์ด ๋ฎ๋ค.
2. PreparedStatement
- ๋ฏธ๋ฆฌ ์ปดํ์ผ๋ SQL ๋ฌธ์ ์คํํ๋ค. (SQL Injection์ ๋ฐฉ์งํ๊ณ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค)
- ๊ธฐ๋ฅ์ด ๋ ํฅ์๋ ๊ฐ๋ํ์ด๋ค.
- Statement ์์ ๋งค๊ฐ ๋ณ์ ์ฒ๋ฆฌ๋ฅผ ํนํํ๋ค.
- ์์ ์ฑ๊ณผ ๊ฐ๋ ์ฑ์ด ๋๋ค.
3. CallableStatement
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด๋ถ์ ์ ์ฅ ํ๋ก์์ ๋ฅผ ํธ์ถํ๋ค.
- ๊ธฐ๋ฅ์ด ๋ ํฅ์๋ ๊ฐ๋ํ์ด๋ค.
- ํ๋ก์์ ํธ์ถ ์ ์ฉ์ด๋ค.
SQL ์ฟผ๋ฆฌ ์คํ ๋ฐฉ๋ฒ
- ๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ์ ๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ์ ์ฒ๋ฆฌ๋ ํ์ฐํ ๋ค๋ฅด๋ค.
- select ์ ๋ก ๊ฒฐ๊ณผ๊ฐ์ ๋ฐ์์์ผํ๋ ๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ executeQuery() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ResultSet ๊ฐ์ฒด๋ก ๋ฐ์์จ๋ค.
- ๊ทธ์ธ ๋ฐํ๊ฐ(๊ฒฐ๊ณผ๊ฐ)์ด ์๋ ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ executeUpdate() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ์ ๋ฐ์ดํธ๋ ํ์ ์๋ฅผ ๋ฐ์์จ๋ค.
- execute(): ์คํ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ true ๋๋ false๋ฅผ ๋ฐํ๋ค. (SELECT ๋ฌธ ์ด์ธ์ ์ฟผ๋ฆฌ์ ์ฌ์ฉ)
- executeQuery(): ResultSet ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. (SELECT ๋ฌธ์ ์ฌ์ฉ)
- executeUpdate(): ์ ๋ฐ์ดํธ๋ ํ์ ์๋ฅผ ๋ฐํํ๋ค. (INSERT, UPDATE, DELETE ๋ฑ์ ์ฌ์ฉ)
๋ฐ์ธ๋ฉ:
Statement ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ๋ ํ๋ผ๋ฏธํฐ ๊ฐ์ ์ง์ ๋ฌธ์์ด๋ก ํฌํจ์์ผ SQL ๋ฌธ์ ๋ง๋ค๊ฒ ๋๋๋ฐ, ์ด๋ ๋ณด์ ๋ฌธ์ ์ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ์ ์์ต๋๋ค.
๐ปStatement ์์
๋จผ์ ๊ธฐ๋ณธ์ผ๋ก ํ์ํ ๋ฐ์ดํฐ ์์ฑ๊ณผ ๊ธฐ๋ณธ ํ์ ์์ฑํ๋ค.
๋ฐ์ดํฐ ์์ฑ
SQL Developer ํด์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ค.
create table tblAddress (
seq number primary key,
name varchar2(30) not null,
age number not null,
gender char(1) not null,
address varchar2(300) not null,
regdate date default sysdate not null
);
create sequence seqAddress;
insert into tblAddress (seq, name, age, gender, address, regdate) values (seqAddress.nextVal, 'ํ๊ธธ๋', 20, 'm', '์์ธ์ ๊ฐ๋จ๊ตฌ', default);
select * from tblAddress;
commit;
์๋ฐ ๊ธฐ๋ณธ ํ
private static void m2() {
Connection conn = null;
Statement stat = null;
try {
conn = DBUtil.open();
stat = conn.createStatement();
//์ฝ๋ ์์ฑ
stat.close();
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
}
ํญ์ ์ด ์ฝ๋๋ ๊ธฐ๋ณธ์ผ๋ก ๋ค์ด๊ฐ๋ ๋ด์ฉ์ผ๋ก์จ ์ธ์๋๋ ๊ฒ์ด ์ข๋ค.
DB์ ์ํธ์์ฉํ๊ธฐ
- ๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ์ ๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ์ ์ฒ๋ฆฌ๋ ํ์ฐํ ๋ค๋ฅด๋ค.
- select ์ ๋ก ๊ฒฐ๊ณผ๊ฐ์ ๋ฐ์์์ผํ๋ ๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ, executeQuery() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ResultSet ๊ฐ์ฒด๋ก ๋ฐ์์จ๋ค.
- ๊ทธ์ธ ๋ฐํ๊ฐ(๊ฒฐ๊ณผ๊ฐ)์ด ์๋ ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ, executeUpdate() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ์ ๋ฐ์ดํธ๋ ํ์ ์๋ฅผ ๋ฐ์์จ๋ค.
๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ
1. insert
insert ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด๊ธฐ์ ๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ๋ก ์ฒ๋ฆฌํ๋ค
SQL๋ฌธ ์์ฑ
String sql = "insert into tblAddress (seq, name, age, gender, address, regdate) values (seqAddress.nextVal, '์ด์์ ', 25, 'm', '์์ธ์ ๊ฐ๋จ๊ตฌ', default)";
SQL๋ฌธ ๊ทธ๋๋ก ๋ฌธ์์ด ์์ ์์ฑํ๋ค
๋จ, ์๋ฐ์ฝ๋๋ก ์์ฑ ์ ์ฃผ์ํด์ผํ๋ ์ ์ sql ์์ ์ธ๋ฏธ์ฝ๋ก ์ ์ ์ผ๋ฉด ์๋๋ค!
'ORA-00911: invalid character' ์๋ฌ๊ฐ ๋ฐ์ ํ๋ค๋ฉด, sql ๋ฌธ์ ์์ธํ ๋ค์ฌ๋ค ๋ณธ๋ค.
JDBC๋ ์ฟผ๋ฆฌ๋ฌธ์ ํ๋ฒ์ ํ๋์ ๋ฌธ์ฅ๋ง ์ฝ์ ํ ์ ์๊ธฐ๋๋ฌธ์ ์ธ๋ฏธ์ฝ๋ก ์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ๋ฌธ์์ ๋ง๋๋ ๊ฒ์ ์๋๋ค.
Statement ๊ฐ์ฒด ์์ฑ
sql๋ฌธ์ ์คํํ๊ธฐ ์ํ Statement ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
stat = conn.createStatement();
๊ฒฐ๊ณผ๊ฐ ์ ์ฅ
sql๋ฌธ ์คํ์ด ์ ๋๋ก ๋์๋์ง executeUpdate() ๋ฉ์๋๋ก ์ ๋ฐ์ดํธ๋ ํ์ ์๋ฅผ ๋ฐํ๋ฐ๋๋ค.
int result = stat.executeUpdate(sql);
ํ์ธ
์ ๋ฐ์ดํธ๋ ํ์ ์๊ฐ 1์ด๋ฉด sql๋ฌธ ์คํ์ด ์ ๋๋ก ๋์๋ค๊ณ ๋ณผ ์ ์๊ณ , 1์ด ์๋๋ฉด ์คํจํ๋ค๊ณ ๋ณธ๋ค.
if (result == 1) {
System.out.println("์ฝ์
์ฑ๊ณต");
} else {
System.out.println("์ฝ์
์คํจ");
}
์ ์ฒด ์ฝ๋
private static void m1() {
Connection conn = null;
Statement stat = null;
try {
conn = DBUtil.open();
if (!conn.isClosed()) {
String sql = "insert into tblAddress (seq, name, age, gender, address, regdate) values (seqAddress.nextVal, '์ด์์ ', 25, 'm', '์์ธ์ ๊ฐ๋จ๊ตฌ', default)";
stat = conn.createStatement();
int result = stat.executeUpdate(sql);
if (result == 1) {
System.out.println("์ฝ์
์ฑ๊ณต");
} else {
System.out.println("์ฝ์
์คํจ");
}
stat.close();
conn.close();
} else {
System.out.println("DB ์ ์ ์คํจ");
}
} catch (Exception e) {
e.printStackTrace();
}
}
sql developer์ ์๋ฐ๋ก insert ํ๋ ๊ฑด ๋๊ฐ์ ์ฟผ๋ฆฌ์ด๋ค. ๊ตฌ๋ณํ ์ ์๋ ์ ๋๋ก ์ฐจ์ด์ ์ด ์๋ค.
2. update
update ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ๊ฒ์ด๊ธฐ์ ๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ๋ก ์ฒ๋ฆฌํ๋ค.
๋๋ถ๋ถ์ ์ฝ๋๋ insert ํ ๋์ ๋์ผํ๋ค.
private static void m2() {
Connection conn = null;
Statement stat = null;
try {
conn = DBUtil.open();
stat = conn.createStatement();
String sql = "update tblAddress set age = age + 1";
int result = stat.executeUpdate(sql);
if (result > 0) {
System.out.println("์์ ์ฑ๊ณต");
} else {
System.out.println("์์ ์คํจ");
}
stat.close();
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
}
3. delete
delete ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ๊ฒ์ด๊ธฐ์ ๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ๋ก ์ฒ๋ฆฌํ๋ค.
๋๋ถ๋ถ์ ์ฝ๋๋ insert ํ ๋์ ๋์ผํ๋ค.
private static void m3() {
Connection conn = null;
Statement stat = null;
try {
conn = DBUtil.open();
stat = conn.createStatement();
String sql = "delete from tblAddress where seq = 1";
int result = stat.executeUpdate(sql);
if (result > 0) {
System.out.println("์ญ์ ์ฑ๊ณต");
} else {
System.out.println("์ญ์ ์คํจ");
}
stat.close();
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
}
4. create
DDL์ ์๋์ง๋ง create ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด๊ธฐ์ ๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ๋ก ์ฒ๋ฆฌํ๋ค.
๋๋ถ๋ถ์ ์ฝ๋๋ insert ํ ๋์ ๋์ผํ๋ค.
private static void m4() {
Connection conn = null;
Statement stat = null;
try {
conn = DBUtil.open();
stat = conn.createStatement();
String sql = "create table tblAddress (\r\n"
+ " seq number primary key,\r\n"
+ " name varchar2(30) not null,\r\n"
+ " age number not null,\r\n"
+ " gender char(1) not null,\r\n"
+ " address varchar2(300) not null,\r\n"
+ " regdate date default sysdate not null\r\n"
+ ")";
int result = stat.executeUpdate(sql);
stat.close();
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
}
ํ ์ด๋ธ ์์ฑ์ ๋ผ์ธ์ด ์ฝ์ ๋๋ ๊ฒ์ด ์๋๋ผ result๋ 0์ด๋ค.
๊ทธ๋์ ํ ์ด๋ธ ์์ฑ์ด ์ ๋์๋์ง ์ด์ฐจํผ 0์ด๊ธฐ ๋๋ฌธ์ executeUpdate๋ก ํ์ธํ ์ ๊ฐ ์๋ค.
5. ์ฌ์ฉ์์๊ฒ ์ ๋ ฅ๋ฐ์ ๊ฐ์ผ๋ก insert
์ฌ์ฉ์์๊ฒ ๊ฐ์ ์ ๋ ฅ๋ฐ์ insertํ๋ ๊ฒ์ด ๊ธฐ์กด insert๋ฌธ๊ณผ ๋ค๋ฅธ ์ ์ sql๋ฌธ์ ์ ๋ ฅ๋ฐ์ ๊ฐ์ ๋ฃ๋ ๊ฒ์ด๋ค.
String.format() ๋ฉ์๋๋ฅผ ํ์ฉํ์ฌ sql๋ฌธ์ ๊ฐ์ ๋ฃ๋๋ค.
๊ทธ ์ธ ๋ค๋ฅธ ์ ์ ์๋ค.
String sql = String.format("insert into tblAddress (seq, name, age, gender, address, regdate) values "
+ "(seqAddress.nextVal, '%s', %s, '%s', '%s', default)", name, age, gender, address);
private static void m5() {
Scanner scan = new Scanner(System.in);
String name = "";
String age = "";
String gender = "";
String address = "";
Connection conn = null;
Statement stat = null;
try {
System.out.print("์ด๋ฆ: ");
name = scan.nextLine();
System.out.print("๋์ด: ");
age = scan.nextLine();
System.out.print("์ฑ๋ณ(m,f): ");
gender = scan.nextLine();
System.out.print("์ฃผ์: ");
address = scan.nextLine();
conn = DBUtil.open();
if (!conn.isClosed()) {
System.out.println("DB ์ ์ ์ฑ๊ณต");
String sql = String.format("insert into tblAddress (seq, name, age, gender, address, regdate) values "
+ "(seqAddress.nextVal, '%s', %s, '%s', '%s', default)", name, age, gender, address);
stat = conn.createStatement();
int result = stat.executeUpdate(sql);
if (result == 1) {
System.out.println("์ฝ์
์ฑ๊ณต");
} else {
System.out.println("์ฝ์
์คํจ");
}
stat.close();
conn.close();
} else {
System.out.println("DB ์ ์ ์คํจ");
}
} catch (Exception e) {
e.printStackTrace();
}
}
๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ(select ๋ฌธ)
- ๋ฐํ๊ฐ์ด ์๋ ์ฟผ๋ฆฌ๋ ๋ค ๊ฐ์ง ์ข ๋ฅ๊ฐ ๋์ฌ ์ ์๋ค.
- 1. ๋จ์ผ๊ฐ ๋ฐํ(1ํ 1์ด) - ex) ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ ์ ์ฒด ํ์ ์กฐํํ ๋
- 2. ๋ค์ค๊ฐ ๋ฐํ(1ํ n์ด) - ex) ํน์ ํ ์ฌ๋์ ๋ํ ์ ๋ณด๋ฅผ ์กฐํํ ๋
- 3. ๋ค์ค๊ฐ ๋ฐํ(nํ 1์ด) - ex) ๋ชจ๋ ์ง์์ ์ด๋ฆ๋ฅผ ์กฐํํ ๋
- 4. ๋ค์ค๊ฐ ๋ฐํ(nํ n์ด) - ex) ๋ชจ๋ ์ง์์ ๋ชจ๋ ์ ๋ณด๋ฅผ ์กฐํํ ๋
1. ๋จ์ผ๊ฐ ๋ฐํ(1ํ 1์ด)
ํ ์ด๋ธ ์ ์ฒด ํ์ ๊ฐ์ ์กฐํํ๋ค.
ResultSet ์์ฑ
๊ฒฐ๊ณผํ ์ด๋ธ์ ๋ฐ์์ฃผ๋ ํด๋์ค๋ฅผ ์์ฑํด์ค๋ค.
ResultSet rs = null;
Statement ๊ฐ์ฒด ์์ฑ
sql๋ฌธ์ ์คํํ๊ธฐ ์ํ Statement ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
stat = conn.createStatement();
SQL๋ฌธ ์์ฑ
String sql = "select count(*) as cnt from tblAddress";
๋ฐํ๊ฐ ์ ์ฅ
executeQuery() ๋ก ResultSet๋ฅผ ๋ฐํ๋ฐ์ ์์์ ์์ฑํ ResultSet ๋ณ์์ ์ ์ฅํ๋ค.
rs = stat.executeQuery(sql);
ํ์นธ ์ ์งํ๊ธฐ
rs.next();
ResultSet์ Interator, ํฅ์๋ for, ์คํธ๋ฆผ, ์ปค์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ถ๋ฌ์จ๋ค.
์ปค์๊ฐ BOF(ํค๋)์ ์์นํ ๊ฒ์ ํ ์นธ ์ ์งํ์ฌ ์ค์ ๋ฐ์ดํฐ๊ฐ ์๋ ๋ ์ฝ๋๋ก ์ด๋ํ๋ค.
rs.getXXX()
ํ์ฌ ์ปค์๊ฐ ๊ฐ๋ฅดํค๊ณ ์๋ ๋ ์ฝ๋์ ์ํ๋ ์ปฌ๋ผ์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ฉด ์ค๋ ์ ๊ทผ ๋ฐฉ๋ฒ์ด๋ค.
getInt ์ getString ์ด ์กด์ฌํ๋ค.
getInt(n)๋ n๋ฒ์งธ ์ปฌ๋ผ๊ฐ์ ์ซ์๋ก ๋ฐํํ๋ค. ์ธ๋ฑ์ค๋ 1๋ถํฐ ์์ํ๋ค.
getString("์ปฌ๋ผ๋ช
")๋ ์กฐํํ ํน์ ์ปฌ๋ผ๋ช
์ ๋งค๊ฐ๋ณ์ ์ฌ์ฉํ์ฌ ์ปฌ๋ผ๊ฐ์ ๋ฌธ์์ด๋ก ๋ฐํํ๋ค. ์ปฌ๋ผ์ ์ด๋ฆ์ด ๊ธด ๊ฒฝ์ฐ ๊ฐ๋
์ฑ์ด ๋จ์ด์ง๊ณ , ์๋ฌ๊ฐ ๋ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฏ๋ก Alias๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค์ด์ค๋ค.
์ ๋๊ฐ์ง ๋ฐฉ๋ฒ ์ค์์ getString์ด ๊ฐ๋ ์ฑ์ด ๋์์ ๋ ๋ง์ด ์ฌ์ฉํ๋ค.
int count = rs.getInt("cnt");
์์ ํด์
์์ฑํ ์ญ์์ผ๋ก ํด์ ํ๋ค.
rs.close();
stat.close();
conn.close();
์ ์ฒด ์ฝ๋
private static void m6() {
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try {
conn = DBUtil.open();
stat = conn.createStatement();
String sql = "select count(*) as cnt from tblAddress";
rs = stat.executeQuery(sql);
rs.next();
int count = rs.getInt("cnt");
System.out.println(count);
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
2. ๋ค์ค๊ฐ ๋ฐํ(1ํ n์ด)
์กฐํํ ๋ฒํธ๋ฅผ ์ ๋ ฅ๋ฐ์ ๊ทธ ์ฌ๋์ ์ ๋ณด๋ฅผ ์กฐํํ๋ค.
์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฒํธ๊ฐ ์๋ ๋ฐ์ดํฐ์ธ์ง ์กฐ๊ฑด๋ฌธ์ผ๋ก ํ์ธํ๊ณ ์๋ค๋ฉด n๊ฐ์ ์ด๋งํผ getString์ผ๋ก ์ ๊ทผํ์ฌ ์ถ๋ ฅํ๋ค.
private static void m7() {
Scanner scan = new Scanner(System.in);
System.out.print("๋ฒํธ: ");
String seq = scan.nextLine();
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try {
conn = DBUtil.open();
stat = conn.createStatement();
String sql = "select * from tblAddress where seq = " + seq;
rs = stat.executeQuery(sql);
//๊ฒฐ๊ณผ๋ฐ์ดํฐ๊ฐ ์์์๋ ์๊ณ ์์์๋ ์์
if (rs.next()) {
System.out.println("๋ฒํธ: " + rs.getString("seq"));
System.out.println("์ด๋ฆ: " + rs.getString("name"));
System.out.println("๋์ด: " + rs.getString("age"));
System.out.println("์ฃผ์: " + rs.getString("address"));
} else {
System.out.printf("์
๋ ฅํ %s๋ฒ์ ๋ฐ์ดํฐ๊ฐ ์์ต๋๋ค.\n", seq);
}
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
3. ๋ค์ค๊ฐ ๋ฐํ(nํ 1์ด)
ํ ์ด๋ธ์์ ๋ชจ๋ "name" ์ด์ ์กฐํํ๋ค.
์ปค์๊ฐ ์กด์ฌํ ๋๊น์ง ์ถ๋ ฅํ๋ค.
private static void m8() {
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try {
conn = DBUtil.open();
stat = conn.createStatement();
String sql = "select name from tblAddress";
rs = stat.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getString("name"));
}
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
4. ๋ค์ค๊ฐ ๋ฐํ(nํ n์ด)
1ํ n์ด, nํ 1์ด์์ ์์ฑํ ์ฝ๋๋ฅผ ํฉ์ณ์ ์ฌ์ฉํ๋ค.
private static void m9() {
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try {
conn = DBUtil.open();
stat = conn.createStatement();
String sql = "select * from tblAddress";
rs = stat.executeQuery(sql);
System.out.println("[๋ฒํธ]\t[์ด๋ฆ]\t[๋์ด]\t[์ฃผ์]");
while(rs.next()) {
System.out.printf("%s\t%s\t%s\t%s\n"
,rs.getString("seq")
,rs.getString("name")
,rs.getString("age")
,rs.getString("address"));
}
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
'JDBC(Oracle)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JDBC] Auth(์ธ์ฆ ๋ฐ ํ๊ฐ) ๋ก๊ทธ์ธ ๊ตฌํ (0) | 2023.10.23 |
---|---|
[JDBC] Statement ๊ฐ์ฒด์ PrearedStatement, CallableStatement (0) | 2023.10.20 |
[JDBC] JDBC ๋ฆฌํฉํ ๋ง (0) | 2023.10.20 |
[JDBC] JDBC ๊ธฐ์ด, ์ดํด๋ฆฝ์ค์ ์ฐ๊ฒฐํ๊ธฐ (0) | 2023.10.19 |