【代码仓库】sql数据库查询【增、改、查、删】通用写法

package functionClass;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Arrays;

public class baseFunction {
    public static Connection co;
    public static Statement conn;
    public boolean connect(){
        String address = "jdbc:derby://localhost:1527/DBDB";
        try
        {
            Class.forName("org.apache.derby.jdbc.ClientDriver");
            co  = DriverManager.getConnection(address,"DBDB","DBDB");
            conn = co.createStatement();
            return true ;
        }catch(SQLException s){ System.out.println("SQL Error : " + s.toString() );  }
        catch (Exception e){System.out.println("Error :" + e.toString());    }  
        return false;
    }
    public boolean disconnect(){
        try
        {
            conn.close();
            return true ;
        }catch(SQLException s){ System.out.println("SQL Error : " + s.toString() );  }
        catch (Exception e){System.out.println("Error :" + e.toString());    }  
        return false;
    }

    public class Model{
        String string[]=new String[11];//string[0]不用
    }
    public int zeng(String biaoming,int num,Model model)throws Exception{
        String str1="insert into "+biaoming+" values ";
        String str2="(?";    for(int i=1;i<num;i++){str2=str2+",?";        }    str2=str2+")";
        String  sql1=str1+str2;
        PreparedStatement pre=co.prepareStatement(sql1);
        for(int i=1;i<=num;i++){pre.setString(i,model.string[i]);}
        return pre.executeUpdate();
    }
    public int gai(String biaoming,int neirongPairs,Model neirong,int tiaojianPiars,Model tiaojian)throws Exception{
        String str1="update "+biaoming+" ";
        String str2="set "+neirong.string[1]+" = ? ";for(int i=1;i<neirongPairs;i++){str2=str2+", "+neirong.string[i*2+1]+" = ? ";}
        String str3="where "+tiaojian.string[1]+" = ? ";for(int i =1;i<tiaojianPiars;i++){str3=str3+" and "+tiaojian.string[i*2+1]+" = ? ";}
        String sql2=str1+str2+str3;//String sql2="update xueshengInf set mima='222' where xuehao='111' ";  
        PreparedStatement pre=co.prepareStatement(sql2);
        for(int i=1;i<=neirongPairs;i++){pre.setString(i, neirong.string[i*2]);}
        for(int i=1;i<=tiaojianPiars;i++){pre.setString(neirongPairs+i,tiaojian.string[i*2]);}
        
        return pre.executeUpdate();
    }
    public int chaLines(String biaoming)throws Exception{
        String sql3="select * from "+biaoming;
        PreparedStatement pre=co.prepareStatement(sql3);
        ResultSet result=pre.executeQuery();
        int count=0;while(result.next()){++count;}; 
        return count;
    }
    public ArrayList<Model> cha(String biaoming,int tiaojianPairs,Model model)throws Exception{
        String str1="select * from "+biaoming+" ";
        String str2="where "+model.string[1]+" = ? ";for(int i=1;i<tiaojianPairs;i++){str2=str2+"and "+model.string[i*2+1]+" = ?";}
        String sql3;//String sql3="select * from xueshengInf";
        if(tiaojianPairs==0){sql3=str1;}
        else sql3=str1+str2;
        PreparedStatement pre=co.prepareStatement(sql3);
        for(int i=1;i<=tiaojianPairs;i++){pre.setString(i,model.string[i*2]);}
        ResultSet result=pre.executeQuery();

        
        ResultSetMetaData rsmd = result.getMetaData() ;
        int columns=rsmd.getColumnCount();//获取列数
        ArrayList<Model> model_list = new ArrayList<Model>();//System.out.println( "查"+  result.getString("xuehao")+result.getString("mima") );
        while(result.next()){
            Model mode =new Model();
            for(int i=1;i<=columns;i++){mode.string[i]=result.getString(i);        }
            model_list.add(mode);
        }
        return model_list;
    }
    public int shan(String biaoming,int tiaojianPairs,Model model)throws Exception{
        String str1="delete from "+biaoming+" ";
        String str2="where "+model.string[1]+" = ? ";for(int i=1;i<tiaojianPairs;i++){str2=str2+"and "+model.string[i*2+1]+" = ? ";}
        String sql4=str1+str2;//String sql4="delete from xueshengInf where xuehao='111'"; 
        PreparedStatement pre=co.prepareStatement(sql4);
        for(int i=1;i<=tiaojianPairs;i++){pre.setString(i,model.string[i*2]);}
        return pre.executeUpdate();
    }
}

【注:‘’查 ‘’ 功能读取ArrayList的配套代码】

        System.out.println("connect:"+ basef.connect() );
        System.out.println("cha :"+basef.cha("xueshengInf",2,model2) );
        ArrayList<baseFunction.Model> model_list= new ArrayList<baseFunction.Model>();
        model_list=basef.cha("xueshengInf",0,model2);
        
        for(int k=0;k<model_list.size();k++){
            model1=model_list.get(k);
            for(int i=0;i<10;i++)System.out.print(model1.string[i]+"  ");
            System.out.println();
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值