mysql
package spring_app12_conn;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MysqlDAO implements DAO {
private static Connection conn;
final String DRIVER = "com.mysql.jdbc.Driver";
final String URL = "jdbc:mysql://localhost:3306/goott7?useSSL=false";
final String USER = "scott";
final String PASSWORD = "tiger";
StringBuffer sb = new StringBuffer();
PreparedStatement pstmt = null;
ResultSet rs = null;
public void init() {
if(conn == null) {
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL, USER, PASSWORD);
System.out.println("conn : "+ conn);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}// if end
} // init end
public void close() {
try {
conn.close();
System.out.println("종료메소드 호출");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}// close() end
@Override
public int selectCount() {
// TODO Auto-generated method stub
sb.setLength(0);
sb.append("select count(*) cnt ");
sb.append("from dept ");
int result = 0;
try {
pstmt = conn.prepareStatement(sb.toString());
rs = pstmt.executeQuery();
if(rs.next()){
result = rs.getInt("cnt");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
}
oracle
package spring_app12_conn;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class OracleDAO implements DAO {
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String user = "scott";
String password = "tiger";
Connection conn = null;
StringBuffer sb = new StringBuffer();
PreparedStatement pstmt = null;
ResultSet rs = null;
public OracleDAO() {
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,user,password);
System.out.println("conn : "+ conn);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}// 생성자 end
@Override
public int selectCount() {
sb.setLength(0);
sb.append("select count(*) cnt ");
sb.append("from dept ");
int result = 0;
try {
pstmt = conn.prepareStatement(sb.toString());
rs = pstmt.executeQuery();
if(rs.next()){
result = rs.getInt("cnt");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}// selectCount() end
}
bean
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<!-- <bean id="oracle" class="spring_app12_conn.OracleDAO"></bean> -->
<!-- 기본 생성자를 통한 DBMS 접근하는 방법 대신
개발자가 method를 만들어서 접근하도록 되어 있음
=> 자아 먼저 실행된 메소드를 선택 : init-method
=> 메모리 제거할 목적의 메소드 선택 : destory-method
-->
<!-- 처음 시작될 메소드 끝나면 실행될 메소드 범위 등을 정할수 있는것이 spring프레임워크의 최대 장점 -->
<bean id="dao" class="spring_app12_conn.MysqlDAO"
init-method="init" destroy-method="close" scope="singleton"
>
</bean>
</beans>
'스프링' 카테고리의 다른 글
spring websocket + stomp (0) | 2020.06.03 |
---|---|
AOP 관점 지향 프로그래밍 (0) | 2020.05.20 |
annotation (0) | 2020.05.18 |
maven (0) | 2020.05.18 |
스프링 정리 (0) | 2020.05.15 |
댓글