๋ชฉ์ฐจ
1. 23.11.20(์)
F_JDBC01
ใด C:\JDBCStudy\JDBC01\src\com\test
ใดใด test001.java
/*======================
Test001.java
=======================*/
package com.test;
public class test001
{
public static void main(String[] args)
{
System.out.println("JAVA Test");
}
}
ใดใด test002.java
/*======================
Test002.java
=======================*/
package com.test;
import java.sql.Connection;
import com.util.DBConnBackup2;
public class Test002
{
public static void main(String[] args)
{
Connection conn = DBConnBackup2.getConnection();
// โป DB ์ฐ๊ด ๊ณผ์ ์ด ๋งค์ฐ ๋ถํ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์
// ํ ๋ฒ ์ฐ๊ฒฐ๋ ๊ฐ์ฒด๋ฅผ ๊ณ์ ์ฌ์ฉํ ์ ์๋๋ก Singleton ํจํด ์ ์ฉ~!!!
// ์์ getConnection() ๋ฉ์๋๋ฅผ ํตํด
// ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์์ ์ธ ์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด์ง ์ํฉ์ด๋ผ๋ฉด...
if(conn != null)
{
System.out.println("๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ์ฑ๊ณต~!!!");
}
DBConnBackup2.close();
}
}
ใดใด test003.java
/*======================
Test003.java
=======================*/
package com.test;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import com.util.DBConn;
public class Test003
{
public static void main(String[] args) throws ClassNotFoundException, SQLException
{
// ์ฐ๊ฒฐ ๊ฐ์ฒด ์์ฑ(๊ตฌ์ฑ)
Connection conn = DBConn.getConnection();
if(conn == null)
{
System.out.println("๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ์คํจ~!!!");
System.exit(0);
}
// ** if ๋ else๋ก ํ์ง ์์ ์ด์ : ์คํจ์ผ ๋๋ง ๋ฉ์ธ์ง ์ถ๋ ฅํ๊ณ , ์ฑ๊ณต์ ์ ์ ํ
์คํธ.
//System.out.println("๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ์ฑ๊ณต~!!!");
try
{
// ์์
๊ฐ์ฒด ๊ตฌ์ฑ(์์
์ ์ํํ๊ธฐ ์ํ ์ค๋น)
/* ** ์ฐ๊ฒฐ์ ๋ก์ ํ๋ผ๋ต๋ฐ๊ตฌ๋ ๋งค๋ฌ๊ธฐ ** */
Statement stmt = conn.createStatement();
//โป ๋ฐ์ดํฐ ์
๋ ฅ ์ฟผ๋ฆฌ ์คํ ๊ณผ์
// ํ ๋ฒ ์คํํ๋ฉด ๋ค์ ์คํํ์ง ๋ชปํ๋ ์ํฉ์ด๋ค.
// ๊ธฐ๋ณธ ํค ์ ์ฝ์กฐ๊ฑด์ด ์ค์ ๋์ด ์์ผ๋ฏ๋ก
// ๋์ผํ ํค ๊ฐ์ด ์ค๋ณต๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
// ์ฟผ๋ฆฌ๋ฌธ ์ค๋น
String sql = "INSERT INTO TBL_MEMBER(SID, NAME, TEL) VALUES(2,'์ค์๊ฒฝ','010-2222-2222')";
//-- ์ฃผ์1. ์ฟผ๋ฆฌ๋ฌธ ๋์ <;> ๋ถ์ด์ง ์๋๋ค.
//-- ์ฃผ์2. ์๋ฐ์์ ์คํํ DML ๊ตฌ๋ฌธ์ ๋ด๋ถ์ ์ผ๋ก ์๋ COMMIT ๋๋ค.(์คํ ์ปค๋ฐ)
//-- ์ฃผ์3. ์ค๋ผํด์์ ํธ๋์ญ์
์ฒ๋ฆฌ๊ฐ ๋๋์ง ์์ ์ํ๋ฉด ๋ฐ์ดํฐ ์ก์
์ฒ๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ง์ง ์๋๋ค.
// stmt.executeUpdate();
// stmt.executeQuery();
// ์ฟผ๋ฆฌ๋ฌธ ์ ๋ฌ(์คํ)
int result = stmt.executeUpdate(sql);
//-- ์ ์ฉ๋ ํ์ ๊ฐฏ์ ๋ฐํ
if (result > 0)
{
System.out.println("๋ฐ์ดํฐ ์
๋ ฅ ์ฑ๊ณต~!!!");
}else {
System.out.println("์
๋ ฅ ์คํจ~ ใ
ใ
กใ
");
}
} catch (Exception e)
{
System.out.println(e.toString());
}
DBConn.close();
//-- ๋ฆฌ์์ค ๋ฐ๋ฉ(์ฐ๊ฒฐ ์ข
๋ฃ)
}
}
ใด C:\JDBCStudy\JDBC01\src\com\util
ใดใด DBConn.java
/* ====================
DBConn.java
=======================*/
/* โป ์ฑ๊ธํค(singletone) ๋์์ธ ํจํด์ ์ด์ฉํ Database ์ฐ๊ฒฐ ๊ฐ์ฒด ์์ฑ ์ ์ฉ ํด๋์ค
-> DB ์ฐ๊ฒฐ ๊ณผ์ ์ด ๋ถํ๊ฐ ๋งค์ฐ ํฌ๊ธฐ ๋๋ฌธ์
ํ๋ฒ ์ฐ๊ฒฐ๋ ๊ฐ์ฒด๋ฅผ ๊ณ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ง ์์๊น...
**
*๋์์ธ ํจํด: ๊ณ์ธต์ ๋ํ ๊ตฌ์กฐ,๊ณต์ํ ๋ ์ค๊ณ
*ใด ์ฝ๋๋ ๋ฒจ์ ๊ท์น์ฑ: ์๊ณ ๋ฆฌ์ฆ
*ex. ๊ฑด์ถํ 10์ธต ์ง๋ฆฌ ๊ฑด๋ฌผ์ ์ง๋๋ค-> ๊ธฐ์ด๊ณต์ฌํด์ผํจ
**
*/
package com.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
// ** ์ธ์ธ๊ฒ **
public class DBConn
{
// ๋ณ์ ์ ์ธ(์ฐ๊ฒฐ ๊ฐ์ฒด)
private static Connection dbConn;
// ** static -> ์ฑ๊ธํค์ ๋ํ๋ด๋ ๋ํ ์ฝ๋
// ** ใด ํ์์์ , ๊ณต์
// ** ์ด ๊ตฌ๋ฌธ์์๋ ๊ณต์ ์ ๊ฐ๋
์ ๊ฐ์ ธ๊ฐ
// ** c - class, i - interface
// ๋ฉ์๋ ์ ์ -> ์ฐ๊ฒฐ
public static Connection getConnection() throws ClassNotFoundException, SQLException
{
// ** ์ฐ๊ฒฐํ ๋ ์ด ๋ฉ์๋๋ฅผ ํตํด ์ฐ๊ฒฐํ๊ฒ ๋ค๋ ์ ์
// ** ์ฐ๊ฒฐ์ ํ๋ฒ ์ฐ๊ฒฐ๋๋ฉด
// ํ ๋ฒ ์ฐ๊ฒฐ๋ ๊ฐ์ฒด๋ฅผ ๊ณ์ ์ฌ์ฉ
// ์ฆ, ์ฐ๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ์๋ง ์ฐ๊ฒฐ์ ์๋ํ๊ฒ ๋ค๋ ์๋ฏธ
// -> ์ฑ๊ธํค(๋์์ธ ํจํด)
if (dbConn == null)
{
String url = "jdbc:oracle:thin:@localhost:1521:xe";
//-- <localhost>๋ ์ค๋ผํด ์๋ฒ์ ip ์ฃผ์๋ฅผ ๊นํ๋ ๋ถ๋ถ
// "jdbc:oracle:thin:@localhost:1521:xe
// jdbc:oracle:thin:@211.238.142.164:1521:xe
// jdbc:oracle:thin:@127.0.0.1:1521:xe
// ** 127.0.0.1 -> localhost **
// ** xe: ์์คํ
์ ๋ํด ๊ณ ์ ํ๊ฒ ์ ํํ ์ ์๋ ๊ถํ
// ** ใด ๋ด๊ฐ ์ ์
//-- <1521> ์ ์ค๋ผํด ๋ฆฌ์ค๋ Port Number
//-- <xe> ๋ ์ค๋ผํด SID(Express Edition ์ SID ๋ xe)
String user = "scott";
//-- ์ค๋ผํด ์ฌ์ฉ์ ๊ณ์ ์ด๋ฆ
String pwd = "tiger";
//-- ์ค๋ผํด ์ฌ์ฉ์ ๊ณ์ ์ํธ
Class.forName("oracle.jdbc.driver.OracleDriver");
//-- OracleDriver ํด๋์ค์ ๋ํ ๊ฐ์ฒด ์์ฑ(ํด๋์ค ์ฐพ์์ค~!!!)
// ** Class๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง ํด๋์ค๋ก๋ถํฐ.forName ๋ฉ์๋๋ฅผ ์ด๋ฆ์ ๊ฐ์ง ํ์๋ฅผ ํจ
// ** forName: ์ด๋ฆ์ ์ฐพ๋ ๊ฒ **
dbConn = DriverManager.getConnection(url, user, pwd);
//-- ์ค๋ผํด ์๋ฒ ์ค์ ์ฐ๊ฒฐ
// ** getConnection: static ๋ฉ์๋ **
// ๊ฐ๊ณ ์๋ ์ธ์๊ฐ(๋งค๊ฐ๋ณ์)์ ์ค๋ผํด์ฃผ์, ๊ณ์ ๋ช
,ํจ์ค์๋
}
// ๊ธฐ์กด์ ๋ง๋ค์ด ๋์ ์ฐ๊ฒฐ๊ฐ์ฒด๊ฐ ์๋ค๋ฉด ๊ทธ๋๋ก ๋ฐํ
return dbConn;
//-- ๊ตฌ์ฑ๋ ์ฐ๊ฒฐ ๊ฐ์ฒด ๋ฐํ
}
// ๋ฉ์๋ ์ ์ -> ์ค๋ฒ๋ก๋ฉ -> ์ฐ๊ฒฐ
public static Connection getConnection(String url, String user, String pwd) throws SQLException, ClassNotFoundException
{
// ํ ๋ฒ ์ฐ๊ฒฐ๋ ๊ฐ์ฒด๋ฅผ ๊ณ์ ์ฌ์ฉ
// ์ฆ, ์ฐ๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ์๋ง ์ฐ๊ฒฐ์ ์๋ํ๊ฒ ๋ค๋ ์๋ฏธ
// -> ์ฑ๊ธํค(๋์์ธ ํจํด)
if (dbConn == null)
{
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, user, pwd);
}
return dbConn;
//-- ๊ตฌ์ฑ๋ ์ฐ๊ฒฐ ๊ฐ์ฒด ๋ฐํ
}
// ๋ฉ์๋ ์ ์ -> ์ฐ๊ฒฐ ์ข
๋ฃ
public static void close() throws SQLException
{
// ** ์ด๋ฏธ ๋์ด์ง ๊ฒ์ ๋ค์ ๋์ง ์๋๋ก..
// dbConn ๋ณ์(๋ฉค๋ฒ ๋ณ์)๋
// Database ๊ฐ ์ฐ๊ฒฐ ๋ ์ํ์ผ ๊ฒฝ์ฐ Connection์ ๊ฐ๋๋ค.
// ์ฐ๊ฒฐ๋์ง ์์ ์ํ๋ผ๋ฉด.. null์ธ ์ํ๊ฐ ๋๋ค.
if (dbConn != null)
{
// ** ์ด๋ฆ ์์ is๊ฐ ๋ถ์ผ๋ฉด ๋ง๋์ง ์๋์ง ํ์ธํ๋ ๋ฉ์๋ -> ๊ฒฐ๊ณผ boolean
// ์ฐ๊ฒฐ ๊ฐ์ฒด(dbConn)์ isClosed() ๋ฉ์๋๋ฅผ ํตํด ์ฐ๊ฒฐ ์ํ ํ์ธ
//-- ์ฐ๊ฒฐ์ด ๋ซํ์๋ ๊ฒฝ์ฐ true ๋ฐํ
// ์ฐ๊ฒฐ์ด ๋ซํ์์ง ์์ ๊ฒฝ์ฐ false ๋ฐํ
if (!dbConn.isClosed())
{
dbConn.close();
//-- ์ฐ๊ฒฐ ๊ฐ์ฒด์ close() ๋ฉ์๋ ํธ์ถ์ ํตํด ์ฐ๊ฒฐ ์ข
๋ฃ~!!
}
}
// check~!!!
dbConn = null;
//-- ์ฐ๊ฒฐ ๊ฐ์ฒด ์ด๊ธฐํ
// ** null ๋ก ์ด๊ธฐํ ์ํค์ง ์์ผ๋ฉด ์ฐ๊ฒฐ์ ์ค๋ฅ๋จ
}
}
ใดใด DBConnBackup2.java
/*======================
DBConnBackup2.java
=======================*/
package com.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnBackup2
{
private static Connection dbConn;
public static Connection getConnection()
{
if (dbConn == null)
{
try
{
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "scott";
String pwd = "tiger";
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, user, pwd);
} catch (Exception e)
{
System.out.println(e.toString());
//-- ์ค๋ผํด ์ฐ๊ฒฐ ์คํจ ์ ์ค๋ฅ ๋ฉ์ธ์ง ์ถ๋ ฅ ๋ถ๋ถ
}
}
return dbConn;
}
public static Connection getConnection(String url, String user, String pwd)
{
if (dbConn == null)
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, user, pwd);
} catch (Exception e)
{
System.out.println(e.toString());
}
}
return dbConn;
}
public static void close()
{
if (dbConn != null)
{
try
{
if (!dbConn.isClosed())
dbConn.close();
} catch (Exception e)
{
System.out.println(e.toString());
}
}
dbConn = null;
}
}
ใด JDBC01_scott.sql
SELECT USER
FROM DUAL;
--==>> SCOTT
SELECT *
FROM TAB;
PURGE RECYCLEBIN;
DROP TABLE TBL_MEMBER;
--==>> Table TBL_MEMBER์ด(๊ฐ) ์ญ์ ๋์์ต๋๋ค.
--โ ์ค์ต ํ
์ด๋ธ ์์ฑ
CREATE TABLE TBL_MEMBER
( SID NUMBER
, NAME VARCHAR2(30)
, TEL VARCHAR2(60)
, CONSTRAINT MEMBER_SID_PK PRIMARY KEY(SID)
);
--==>> Table TBL_MEMBER์ด(๊ฐ) ์์ฑ๋์์ต๋๋ค.
--โ ์ํ ๋ฐ์ดํฐ ์
๋ ฅ
INSERT INTO TBL_MEMBER(SID, NAME, TEL) VALUES(1,'ํ๊ธธ๋','010-1111-1111');
--==>> 1 ํ ์ด(๊ฐ) ์ฝ์
๋์์ต๋๋ค.
--โ ํ์ธ
SELECT *
FROM TBL_MEMBER;
--==>> 1 ํ๊ธธ๋ 010-1111-1111
--โ ์ปค๋ฐ CHECK~!!!
COMMIT;
--==>> ์ปค๋ฐ ์๋ฃ.
/*
** JDBC๋ ์ปค๋ฐ์ด๋ ๋กค๋ฐฑ ์ํ๋ฉด ๋ฐ๋์ ๋ฌธ์ ์๊น**
*/
--โ ์๋ฐ์์ Test003.java ์คํ ํ ๋ค์ ํ์ธ
SELECT *
FROM TBL_MEMBER;
/*
2 ์ค์๊ฒฝ 010-2222-2222
1 ํ๊ธธ๋ 010-1111-1111
*/