Druid C3P 0 연결 풀 사용 및 DBUtils 사용 및 사무
1.
@Test
// :
public void demo1(){
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///day04");
dataSource.setUsername("root");
dataSource.setPassword("123");
try{
// :
conn = dataSource.getConnection();
// SQL:
String sql = "select * from account";
pstmt = conn.prepareStatement(sql);
// sql:
rs = pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+" "+rs.getString("name")+" "+rs.getDouble("money"));
}
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.release(rs, pstmt, conn);
}
}
2. .properties Properties
@Test
public void demo2(){
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try{
Properties properties = new Properties();
properties.load(new FileInputStream("src/druid.properties"));
DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
// :
conn = dataSource.getConnection();
// SQL:
String sql = "select * from account";
pstmt = conn.prepareStatement(sql);
// sql:
rs = pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+" "+rs.getString("name")+" "+rs.getDouble("money"));
}
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.release(rs, pstmt, conn);
}
}
02 C3P 0 연결 풀
1.
@Test
// :
public void demo1(){
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try{
// :
ComboPooledDataSource dataSource = new ComboPooledDataSource();
// :
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql:///day04");
dataSource.setUser("root");
dataSource.setPassword("123");
// :
conn = dataSource.getConnection();
// SQL:
String sql = "select * from account";
pstmt = conn.prepareStatement(sql);
// sql:
rs = pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+" "+rs.getString("name")+" "+rs.getDouble("money"));
}
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.release(rs, pstmt, conn);
}
}
2.
@Test
//
public void demo2(){
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try{
// :
ComboPooledDataSource dataSource = new ComboPooledDataSource();
// :
conn = dataSource.getConnection();
// SQL:
String sql = "select * from account";
pstmt = conn.prepareStatement(sql);
// sql:
rs = pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+" "+rs.getString("name")+" "+rs.getDouble("money"));
}
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.release(rs, pstmt, conn);
}
}
03 DBUtils 사용
API:
QueryRunner :
ResultSetHandler :
DbUtils :
@Test
DBUils
public void demo1() throws SQLException{
QueryRunner queryRunner = new QueryRunner(JDBCUtils2.getDataSource());
String sql = "insert into account values (null,?,?)";
queryRunner.update(sql, " ",10000);
}
1.
@Test
//
public void demo1() throws SQLException{
QueryRunner queryRunner = new QueryRunner(JDBCUtils2.getDataSource());
String sql ="insert into account values (null,?,?)";
queryRunner.update(sql, "aaa",10000);
}
2.
@Test
//
public void demo2() throws SQLException{
QueryRunner queryRunner = new QueryRunner(JDBCUtils2.getDataSource());
String sql ="update account set name=?,money=? where id =?";
queryRunner.update(sql, "bbb",20000,4);
}
3.
@Test
//
public void demo3() throws SQLException{
QueryRunner queryRunner = new QueryRunner(JDBCUtils2.getDataSource());
String sql ="delete from account where id =?";
queryRunner.update(sql, 4);
}
4.
ArrayHandler:
@Test
// ArrayHandler:
public void demo1() throws SQLException{
QueryRunner queryRunner = new QueryRunner(JDBCUtils2.getDataSource());
String sql = "select * from account where id = ?";
Object[] objs = queryRunner.query(sql, new ArrayHandler(), 1);
System.out.println(Arrays.toString(objs));
}
ArrayListHandler:
, ,
@Test
// ArrayListHandler: , ,
public void demo2() throws SQLException{
QueryRunner queryRunner = new QueryRunner(JDBCUtils2.getDataSource());
String sql = "select * from account";
List
04 JDBC 의 사무 관리
Connection API:
setAutoCommit(boolean flag);
commit();
rollback();
:
@Test
//
public void demo1(){
Connection conn = null;
PreparedStatement pstmt = null;
try{
// :
conn = JDBCUtils.getConnection();
###!!// :(*** ***)
conn.setAutoCommit(false);
// SQL:
String sql = "update account set money = money + ? where name = ?";
// SQL:
pstmt = conn.prepareStatement(sql);
// :
// 1000
pstmt.setDouble(1, -1000);
pstmt.setString(2, " ");
pstmt.executeUpdate(); //
int d = 1 / 0;
// 1000
pstmt.setDouble(1, 1000);
pstmt.setString(2, " ");
pstmt.executeUpdate(); //
###!!// :(*** ***)
conn.commit();
}catch(Exception e){
###!!// :(*** ***)
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}finally{
// :
JDBCUtils.release(pstmt, conn);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.