Database/DB ์ด๋ก
JDBC
vividswan
2022. 3. 8. 01:41
JDBC
JAVA๋ก DBMS๋ฅผ ์กฐํํ๊ณ ์กฐ์ํ ์ ์๋ JDBC์ ๋ํด์ ์์๋ณด์.
JDBC๋?
- Java Database Connectivity์ ์ฝ์
- ์๋ฐ ์ธ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํด ์ฃผ๋ ํต๋ก
- ์๋ฐ๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์, SQL ๋ฌธ์ฅ์ ์คํ, ์ป์ด์ง ๋ฐ์ดํฐ์ ํธ๋ค๋ง์ ์ํ ๊ท์ฝ
- ์๋ฐ ์์์ SQL ๋ฌธ์ ์คํ์ํค๊ธฐ ์ํ ์๋ฐ API
- SQL๊ณผ ํ๋ก๊ทธ๋๋ฐ์ธ์ด์ ํตํฉ ์ ๊ทผ
- ์ธํฐํ์ด์ค๊ฐ ์ด๋ฏธ ์ ์๋ผ์๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐด๋์ ์๊ด์์ด ๋์ผํ๊ฒ ์ฌ์ฉ
JDBC์ ์ค์น
- lib์ ๋๋ ํฐ๋ฆฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐ
- Maven ํ๊ฒฝ์์๋ ์์กด์ฑ(dependency)์ ์ถ๊ฐ
JDBC ํ๋ก๊ทธ๋๋ฐ ๋จ๊ณ
- java.sql์ import
- ๋๋ผ์ด๋ฒ๋ฅผ ๋ก๋(Class.forName(~));
- DriveManager๋ก Connection ๊ฐ์ฒด๋ฅผ ์ป์(
DriverManager.getConnection(dburl, ID, Password)
) - Connection ๊ฐ์ฒด๋ก Statement ๊ฐ์ฒด๋ฅผ ์์ฑ(
Connection๊ฐ์ฒด.createStatement()
); - statement๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ก ResultSet์ ์ป์ (
statement๊ฐ์ฒด.executeQuery("์ฟผ๋ฆฌ ๋ฌธ์ฅ")
) - ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๊ณ ๋ชจ๋ Close๋ก ํด์ (
์์๋ฅผ ๊ฑฐ๊พธ๋ก Close
)
์ฝ๋ ์์
public static Connection getConnection() throws Exception{
String url = "๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ง๋ dburl์ด ๋ค์ด๊ฐ๋ค.";
String user = "userID";
String password = "userPassword";
Connection conn = null;
Class.forName("๋ก๋ํ ๋๋ผ์ด๋ฒ์ ์ ๋ณด๋ฅผ ์
๋ ฅ");
conn = DriverManager.getConnection(url, user, password);
return conn;
}
Statement stmt = con.createStatement();
์ฟผ๋ฆฌ๋ฌธ
stmt.execute(“query”);
stmt.executeQuery(“query”);
//SELECT ํ ๋ ์ฌ์ฉ
stmt.executeUpdate(“query”);
//INSERT, UPDATE, DELETE ํ ๋ ์ฌ์ฉ
๊ฒฐ๊ณผ ๋ฐ๊ธฐ ์์
ResultSet rs = stmt.executeQuery( "select data from db" );
while ( rs.next() )
System.out.println( rs.getInt( "data") );
close(๋ฐ๋๋ก)
rs.close();
stmt.close();
con.close();
try ๋ฌธ์ ์ฌ์ฉํด์ ๋ซ์์ฃผ์.