Java createStatement()
2023. 2. 7. 11:55ㆍJava
프로젝트 내 src 내 oracle.db 패키지 내 OracleConnect.java
package oracle.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class OracleConnect {
// 다른 클래스에서는 new 로 생성할수 없다
private OracleConnect() {
// 오라클 드라이버 클래스 실행
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("오라클 드라이버가 없어요:" + e.getMessage());
}
}
public static OracleConnect getInstance() {
return new OracleConnect();
}
// db 연결해서 성공한 커넥션 반환하는 메서드
public Connection getConnection() {
Connection conn = null;
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
try {
conn = DriverManager.getConnection(url, "사용자이름", "a1234");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("오라클 서버 연결 실패:" + e.getMessage());
}
return conn;
}
// 총 4개의 dbClose 를 만듬
public void dbClose(ResultSet rs, Statement stmt, Connection conn) {
try {
if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
}
}
public void dbClose(Statement stmt, Connection conn) {
try {
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
}
}
public void dbClose(ResultSet rs, PreparedStatement pstmt, Connection conn) {
try {
if (rs != null)
rs.close();
if (pstmt != null)
pstmt.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
}
}
public void dbClose(PreparedStatement pstmt, Connection conn) {
try {
if (pstmt != null)
pstmt.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
}
}
}
프로젝트 내 src 내 javabasic 패키지 내 Ex2PersonInsert.java
package javabasic;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import oracle.db.OracleConnect;
public class Ex2PersonInsert {
OracleConnect connect;
public Ex2PersonInsert() {
connect = OracleConnect.getInstance();
}
public void personInsert() {
Scanner sc = new Scanner(System.in);
String name, blood;
int java, spring;
double height;
System.out.println("이름입력");
name = sc.nextLine();
System.out.println("혈액형 입력(소문자로)");
blood = sc.nextLine();
System.out.println("자바점수입력");
java = sc.nextInt();
System.out.println("스프링점수입력");
spring = sc.nextInt();
System.out.println("키 입력");
height = sc.nextDouble();
String sql = "insert into person2 values (seq_person.nextval,'" + name + "','" + blood + "'," + java + ","
+ spring + "," + height + ",sysdate)";
System.out.println(sql);
// Connection conn=null;
Connection conn = null;
// Statement stmt=null;
Statement stmt = null;
// conn=connect.getConnection();
conn = connect.getConnection();
try {
stmt = conn.createStatement();
stmt.execute(sql);
// System.out.printf("데이타 추가 성공입니다\n");
System.out.println("데이타 추가 성공!!");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("sql 오류 : " + e.getMessage());
} finally {
connect.dbClose(stmt, conn);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Ex2PersonInsert ex = new Ex2PersonInsert();
ex.personInsert();
}
}
실행 결과
이름입력
간수라
혈액형 입력(소문자로)
a
자바점수입력
22
스프링점수입력
15
키 입력
167.999
insert into person2 values (seq_person.nextval,'간수라','a',22,15,167.999,sysdate)
데이타 추가 성공!!
Statement java.sql.Connection.createStatement() throws SQLException
createStatement() 메서드는
데이타베이스로 SQL 문을 보내기 위해서 한개의 Statement 객체를 만든다.
'Java' 카테고리의 다른 글
Java ParseException (0) | 2023.02.07 |
---|---|
Java PreparedStatement (0) | 2023.02.07 |
Java executeUpdate(String sql) (0) | 2023.02.07 |
Java Statement class (0) | 2023.02.06 |
Java getConnection(String url, String user, String password) (0) | 2023.02.06 |