自定义数据库框架

1.1 自定义数据库框架

  • 我们发现以前我们操作数据库的时候,增删改的时候大部分代码是一样的,只有编写sql语句与设置参数不一致。但是我们之前是不断编写重复代码。

需求: 编写一个数据库的工具类,该工具类实现任何表的增删改都只需要传入sql语句,与参数即可。 

package MyUtils;

import Utils.JDBCUtils;
import org.junit.Test;

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

/*
    需求: 编写一个数据库的工具类,该工具类实现任何表的增删改都只需要传入sql语句,与参数即可。
 */
public class Demo01 {

    //该工具类实现任何表的增删改都只需要传入sql语句,与参数即可。
    public static void update(String sql,Object...args) throws SQLException {
        //获取连接
        Connection connection = JDBCUtils.getConnection();
        //获得预编译对象
        PreparedStatement pst = connection.prepareStatement(sql);
        //获得参数的元数据
        ParameterMetaData metaData = pst.getParameterMetaData();
        //获得当前SQL语句需要设置的参数个数
        int Count = metaData.getParameterCount();
        //设置参数
        for (int i = 0; i < Count; i++) {
           pst.setObject(i+1,args[i]);
        }
        //关闭资源
        JDBCUtils.close(null,pst,connection);
    }

    @Test
    public void test() throws SQLException {
       /* String sql = "insert into category(cid,cname)values(?,?)";
        update(sql,5,"保健品");*/

       String sql = "delete from student where name=?";
       update(sql,"张国荣");
    }
}

 

你可能感兴趣的:(Spring框架)