调用jdbc已经写成的方法----jdbc工具类抽取方式三

package jdbc_demo3;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.junit.Before;
import org.junit.Test;

import web09.jdbc_text1;
import web09.jdbc_text3;
import web09.jdbc_text4;

/**
 * 测试工具类
 * @author Administrator
 *
 */
public class jdbc_text2 {
/**
 *     
 */@Test
    public void textdeletByid()
    {Connection conn=null;
    PreparedStatement pstmt=null;
    try{
        //1获取链接
        conn=jdbc_text4.getconnection();
        //2编写sql语句
        String sql="delete from tbl_user where uid=?";
        //3获取sql的语句对象
        pstmt = conn.prepareStatement(sql);
        //4设置参数
        pstmt.setInt(1, 3);
    
        //5执行插入炒作
        int row =pstmt.executeUpdate();
        if(row>0){
            System.out.println("删除成功");
        }else{
            System.out.println("删除失败");
        }
    }catch (Exception e){
        throw  new RuntimeException(e);
         
    }finally{
        //6释放资源
        jdbc_text3.release(conn, pstmt, null);;
    }
        
    }    
        
    
    
    
    
    
    @Test
    //增加
public void testAdd()
{Connection conn=null;
PreparedStatement pstmt=null;
try{
    //1获取链接
    conn=jdbc_text3.getconnection();
    //2编写sql语句
    String sql="insert into tbl_user values(null,?,?)";
    //3获取sql的语句对象
    pstmt = conn.prepareStatement(sql);
    //4设置参数
    pstmt.setString(1, "lisi");
    pstmt.setString(2, "hehe");
    //5执行插入炒作
    int row =pstmt.executeUpdate();
    if(row>0){
        System.out.println("插入成功");
    }else{
        System.out.println("插入失败");
    }
}catch (Exception e){
    throw  new RuntimeException(e);
     
}finally{
    //6释放资源
    jdbc_text3.release(conn, pstmt, null);;
}
    
}    
    
    
    
    
@Test
//查询
public void textfinduserbyid(){
    Connection conn=null;
    PreparedStatement pstmt=null; 
    ResultSet rs=null;
    try {
         //1.获取链接
        conn = jdbc_text1.getconnection();
        //2编写sql语句
        String sql ="select * from tbl_user where uid=?";
        //3获取执行sql语句对象
         pstmt = conn.prepareStatement(sql);
        //4设置参数
        pstmt.setInt(1, 2); 
        //setint(第一个表示第一个获取位置,第二个表示值)
        //5设置查询操作
       rs =pstmt.executeQuery();
        while(rs.next()){
            System.out.println(rs.getString(2)+"------------"+rs.getString("upassword"));
        }
    } catch (SQLException e) {
        
        e.printStackTrace();
    }finally {
        jdbc_text1.release(conn, pstmt, rs);
    }
}
}

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import java.util.ResourceBundle;

public class jdbc_text4 {
private static String driver;
private static String url;
private static String username;
private static String password;

/*
* 静态代码块获取配置文件信息
*/

static{

try {
//1.通过当前类获取加载器
ClassLoader calssloader =jdbc_text3.class.getClassLoader();
//2.通过类加载器方法,获取一个输入流
InputStream is = calssloader.getResourceAsStream("db.properties");
//3.创建一个properties对象
Properties props =new Properties();
//4.获取输入流
props.load(is);
//5获取相关操作的值

driver=props.getProperty("driver");
url=props.getProperty("url");
username=props.getProperty("username");
password=props.getProperty("password");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}


public static Connection getconnection(){
Connection conn=null;
//賦值是爲了防止空指針
try {
Class.forName(driver);
//注册驱动
conn = DriverManager.getConnection(url,username,password);
//获取连接
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}

 

 

 

 

 

通过流建立jdbc

转载于:https://www.cnblogs.com/baili-luoyun/p/8068077.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值