简化操作数据库代码

以前如果我的方法里需要去执行sql,我每个方法都写了一遍调连接数据库和操作sql的代码,重复的代码怎么避免?
于是改为:
1.写一个专门连接和操作sql的类,里面放2个方法,一个连接的,一个操作sql的,操作sql的里调用连接的,这样我以后只要调操作sql的方法就行了
2.连接信息和sql语句,我作为参数,调执行sql的方法时传过来,参数值可写在枚举里
具体请看代码

public class OperateDB {

    /**连接数据库*/
    public static Connection getConnection(String username,String pwd,String url) {
        Connection conn = null;
        try {
            System.out.println("加载数据库驱动成功");
            conn= DriverManager.getConnection(url,username,pwd);
            System.out.println("连接数据库成功");

        } catch (SQLException e) {
            System.out.println("SQL异常");
        }
        return conn;
    }

    /**更新数据库*/
    public  static void  doSql(String username, String pwd, String url, String sql1,String sql2,String statusdb,String id){
        try {
            Connection conn = OperateDB.getConnection(username,pwd,url);
            Statement stmt=conn.createStatement();
            String sql = sql1+statusdb+sql2+id;
            stmt.executeUpdate(sql);
            System.out.println("数据更新成功");

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
枚举:
public enum DoSqlEnum{
/**CONNORDER连接和操作订单表
 * CONNCREDIT连接和操作授信单表*/

    CONNORDER("写你的数据库用户名","密码","你的jdbc:mysql://tes...","你的sql,UPDATE  order_base SET status=" ," where wb_id="),
    CONNCREDIT("...","...","jdbc:mysql://..?useSSL=true","UPDATE  credit SET status="," where wb_id=");

    private  String  username;
    private  String  pwd;
    private  String  url;
    private  String  sql1;
    private  String  sql2;


    private  DoSqlEnum(String username,String pwd, String url,String sql1,String sql2){
        this.username = username;
        this.pwd = pwd;
        this.url = url;
        this.sql1 = sql1;
        this.sql2 = sql2;
    }

    public  String getUsername(){return  this.username;}
    public  String getPwd(){return  this.pwd;}
    public  String getUrl(){return  this.url;}
    public  String getSql1(){return  this.sql1;}
    public  String getSql2(){return  this.sql2;}

}
调用操作sql的方法:
 OperateDB.doSql(DoSqlEnum.CONNORDER.getUsername(),DoSqlEnum.CONNORDER.getPwd(),DoSqlEnum.CONNORDER.getUrl(),DoSqlEnum.CONNORDER.getSql1(),DoSqlEnum.CONNORDER.getSql2(),statusdb,id);
               
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值