java学习之路21java操作数据库、封装工具类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34491508/article/details/82421196

package com.lph.jdbcdemo.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;


public class JDBCUtils {
    private static final String className ="com.mysql.jdbc.Driver";
    private static final String url="jdbc:mysql://localhost:3306/db_jdbcdemo?characterEncoding=utf-8";
    private static final String user = "root";
    private static final String password="root";
    private PreparedStatement ps = null;
    private Connection connection =null;
    private ResultSet rs=null;
    //打开数据库类
    private void open() throws SQLException {
        className.format(className);
        connection = DriverManager.getConnection(url, user, password);        
    }
    //查询操作
    public ResultSet excuteQuery(String sql,List params) throws SQLException {
        if(connection==null || connection.isClosed())//连接对象是空 或者已经打开了就重新开启
        {
            open();
        }
        ps=connection.prepareStatement(sql);
        if(params!=null && params.size()>0) {
            for(int i=0;i<params.size();i++) {
                ps.setObject(i+1,params.get(i));
            }
        }
        rs = ps.executeQuery();
        return rs;
    }
    //更新新操作
    public int excuteUpdate(String sql,List params) throws SQLException {
        if(connection==null || connection.isClosed())//连接对象是空 或者已经打开了就重新开启
        {
            open();
        }
        ps=connection.prepareStatement(sql);
        if(params!=null && params.size()>0) {
            for(int i=0;i<params.size();i++) {
                ps.setObject(i+1,params.get(i));
            }
        }
        return ps.executeUpdate();
    }
    //关闭资源的方法
    public void closeAll() {
        try {
            if(rs!=null&&!rs.isClosed()) {
                rs.close();
            }
            if(ps!=null&&!ps.isClosed()) {
                ps.close();
            }
            if(connection!=null&&!connection.isClosed()) {
                connection.close();
            }
        }catch(Exception e) {
            e.printStackTrace();
        }
    }
    
}


测试类

package com.lph.jdbcdemo.test;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class JDBCUtilsTest {
    public static void main(String[] args) {
        JDBCUtils jdbcUtils = new JDBCUtils();
        String sql  ="select * from user where name=? and pass = ?";
        List params  = new ArrayList<>();
        params.add("xixi");
        params.add("345");
        try {
            ResultSet rs =jdbcUtils.excuteQuery(sql, params);
            while(rs.next()) {
                System.out.println(rs.getInt("id")+""+rs.getString("name")+" "+rs.getString("pass"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            jdbcUtils.closeAll();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_34491508/article/details/82421196