DBUtil文件

package com.jdbc.util;

import com.jdbc.test.TestProperties;
import org.apache.log4j.Logger;

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class DBUtil {
   
private static String driver;
   
private static String url;
   
private static String username;
   
private static String passwd;
   
//日志对象 logger
//    private  static Logger logger=Logger.getLogger(DBUtil.class.getName());
   
private  static  Logger logger=Logger.getLogger(DBUtil.class.getName());
   
static {
       
try {
           
//读取属性文件
//            InputStream input=DBUtil.class.getResourceAsStream("/jdbc.properties");
           
InputStream input=DBUtil.class.getResourceAsStream("/jdbc.properties");
           
Properties properties=new Properties();
           
properties.load(input);

           
driver=properties.getProperty("driver");
           
url=properties.getProperty("url");
           
username=properties.getProperty("username");
           
passwd=properties.getProperty("passwd");
           
//记录日志
           
logger.debug("加载了属性文件");
           
logger.info("加载了属性文件2");
           
logger.error("加载了属性文件3");

        }
catch (IOException e) {
            e.printStackTrace();
        }
    }


   
//获得Connection连接方法
   
public  static Connection getConnection(){

       
Connection conn=null;
       
try {
           
//1.类加载
//            Class.forName("com.mysql.cj.jdbc.Driver");
           
Class.forName(driver);
           
//2.连接数据库,获得链接对象
//            conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai",
//                                                        "root","123456");
           
conn= DriverManager.getConnection(url,username,passwd);

        }
catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
catch (SQLException e) {
            e.printStackTrace();
        }
       
return conn;
    }

   
//封装增删改的操作(DMLobj里面保存的就是传递的参数,一定注意参数的格式的个数和占位符的格式一致,位置也要保持一致

   
public  static  int exeUpdate(String sql,Object[] obj){
       
Connection conn=getConnection();
       
PreparedStatement pstm=null;
       
int update=0;

       
try {
           
//常见命令发送器(手枪)
           
pstm=conn.prepareStatement(sql);
           
//执行sql语句,返回结果(SQL就相当于子弹)
           
for (int i = 0; i < obj.length; i++) {
                pstm.setObject(i+
1,obj[i]);
            }
            update=pstm.executeUpdate();
        }
catch (SQLException e) {
            e.printStackTrace();
        }
finally {
            closeALL(pstm,
conn,null);
        }
       
return update;
    }

   
//抽取关闭操作
   
public  static  void  closeALL(PreparedStatement pstm, Connection conn, ResultSet rs ){

       
try {
           
if (pstm!=null){
                pstm.close();
            }
        }
catch (SQLException e){
          e.printStackTrace();
        }

       
try {
           
if (conn!=null){
                conn.close();
            }
        }
catch (SQLException e) {
            e.printStackTrace();
        }

       
try {
           
if (rs!=null) {
                rs.close();
            }
        }
catch (SQLException e) {
            e.printStackTrace();
        }

    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值