利用DbUtils封装一个MySQL通用插入表方法,N个多个字段,无须自己拼接组合

原理:利用对象类属性名和mysql对应表所建字段一致,然后利用类对象,传递参数;到插入方法中,利用自动获取类属性名和对应属性值,组合sql,提交insert操作

先要创建2个必要方法:

    /**
     * 获取类对象的属性名数组
     * @param cl 类对象
     * */
    public static List getClassFiledName(Object cl){
        Field[] fields=cl.getClass().getDeclaredFields();
        List fieldNames=new ArrayList<>();
        for(int i=0;i

然后是操作MYSQL整条插入方法:

 /**
     * 通用整条插入函数
     * @param mycon mysql连接参数对象
     * @param tbname 插入表名
     * @param info 对象类
     * @param excludefieds 需要排除的属性值(表不存在字段属性)
     * @return
     */
    public static boolean insertToMySQLTable(MySqlUtil.MySqlCon mycon,String tbname, Object info, String... excludefieds) throws SQLException {

        if(info == null)
         return false;

        //获取类的全部属性名
        List cfnames = CommonUtil.getClassFiledName(info);

        if(excludefieds.length>0){
            //主键自增 也是需要删除的
            for (String excludefied : excludefieds) {
                //删除需要排除的属性
                cfnames.remove(excludefied);
            }
        }

        //定义接收属性值变量
        Object[] values = new Object[cfnames.size()];

        //创建问号个数
        StringBuilder wh = new StringBuilder();

        //循环属性集合
        for(int k=0;k0)
            return  true;
        else
            return  false;
    }

 

你可能感兴趣的:(IntelliJ,IDEA,Java,Java,MySQL,多字段,DbUtils,insert)