编写自己的tomcat(代码分享)

小兔叽 可爱的博主

时间: 2020-10-14 阅读: 99 字数:4694

{}
编写jdbc数据库时留下的工具方法分享

各种util工具分享

分页小插件(新手入门可用)数据库数据庞大,建议使用数据库limit

public class ListPage {
    /**
     * 自制分页小插件
     * @param list//传过来你需要分页的数据
     * @param one//从第多少开始分页
     * @param two//取多少
     * @param <E>//泛型你传给我什么类型我就返回什么类型
     * @return
     */
    public static  <E> List<E> Lists(List<E> list, int one, int two){
        ArrayList<E> lists = new ArrayList<>();
        for (int i = one; i < list.size() ; i++) {
            if(i == (two+one)){
                break;
            }
            lists.add(list.get(i));
        }
        return lists;
    }
}

Jdbc实现,字段自动注入sql语句

/**
     *
     * sql:为数据库语句
     * @param sql:数据库语句
     * @param obj:字段
     * @return String=>返回字符串
     * @author 阿喜!
     */
    public static String setString(String sql,Object obj,Class clazz) {
        Class bookbean = clazz;
        String[] stri = new String[1000];
        int a = 0;
        try {
            Field[] fs = bookbean.getDeclaredFields();//获取所有属性
            for (int i = 0; i < fs.length; i++) {
                Field f = fs[i];
                f.setAccessible(true);//设置属性是可以访问的
                Object val = null;// 得到此属性的值
                val = f.get(obj);
                if (val != null) {
                    Object s = fs[i].getType().getTypeName();
                    if (s == "boolean") {
                        System.out.println(val);
                        if (val == "true")
                            stri[a] = String.valueOf(1);
                        else
                            stri[a] = String.valueOf(0);
                    } else {
                        stri[a] = String.valueOf(val);
                    }
                    a++;
                }
            }
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return setString(sql,stri);
    }

    /**
     *
     * @param sql:数据库语句
     * @param obj:bean数据
     * @param clazz:bean类型
     * @param str:条件
     * @return String=>返回字符串
     * @author 阿喜!
     */
    public static String setString(String sql,Object obj,Class clazz,Object  str) {
        /*String sql ="delete from book where bid = ?";*/
        Class bookbean = clazz;
        String[] stri = new String[1000];
        int a = 0;
        try {
            Field[] fs = bookbean.getDeclaredFields();//获取所有属性
            int i;
            for (i = 0; i < fs.length; i++) {
                Field f = fs[i];
                f.setAccessible(true);//设置属性是可以访问的
                Object val = null;// 得到此属性的值
                val = f.get(obj);
                if (val != null) {
                    System.out.println(val);
                    stri[a] = String.valueOf(val);
                    a++;
                }
            }
            stri[i] = String.valueOf(str);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return setString(sql,stri);
    }

    /**
     *
     * @param sql:数据库语句
     * @param str:条件数据
     * @return String=>返回字符串
     * @author 阿喜!
     */
    public static String setString(String sql,Object ... str){
        
        StringBuffer chars = new StringBuffer(sql);
        StringBuffer sqls = new StringBuffer();
        int a = 0;
        for (int i = 0; i <chars.length() ; i++) {
                if(str[a] == null)
                 break;
                if(chars.charAt(i) =='?'){
                chars.deleteCharAt(i);
                String str1 = chars.length() > i? String.valueOf(chars.charAt(i)) :" ";
                String st =str[a].toString().trim();
                Pattern pattern =Pattern.compile("^-?\\d+(\\.\\d+)?$");
                if(pattern.matcher(st).matches()){
                    sqls.append( str[a] + str1);
                }else if (st == ""){
                    System.out.println("wwww");
                }else {
                    sqls.append("'" + str[a] + "'" + str1);
                }
                a++;
            }
            else
                sqls.append(chars.charAt(i));
        }
        return sqls.toString();
    }


    public static String[] setString(String sql,Object[][] str) {
        String[] strss = new String[str.length];
        int i = 0;
        for (Object[] s : str) {
            System.out.println(s);
            String sqls = setString(sql, s);
            strss[i] = sqls;
            i++;
        }
        return strss;
    }
本文章网址:https://www.sjxi.cn/detil/ba74eb025b5c4650a695cf178daa5a0b

最新评论

当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号