1. 程式人生 > 其它 >JDBC dao層增刪改查實現

JDBC dao層增刪改查實現

1.在實現增刪改查時,首先應先宣告一個成員變數,QueryRunner型別的成員變數,注意不要使用無參構造方法,要將連線池的物件傳入其中。

private QueryRunner queryRunner = new QueryRunner(DButil.getDruidDataSource());

在QueryRunner類中有增刪改的方法,QueryRunner.update()想方法中傳入sql語句即可

//插入程式碼

 private QueryRunner queryRunner = new QueryRunner(DButil.getDruidDataSource());
    
//插入 public boolean insert(person person) { boolean result = false; Object[] prams = {person.getHousetype(),person.getHometype(),person.getHomearea(),person.getHomenummber(),person.getMaster(),person.getIdnummber(),person.getSex(),person.getNation(),person.getEducation()};
try { int result1 = queryRunner.update("insert into person(housetype,hometype,homearea,homenummber,master,idnummber,sex,nation,education) value (?,?,?,?,?,?,?,?,?)",prams); if(result1 == 1) { result = true; } } catch (SQLException e) { e.printStackTrace(); }
return result; }

//刪除程式碼

    public boolean delete(person person)
    {
        String name = person.getMaster();
        boolean result = false;
        try {
            int resultq = queryRunner.update("delete from person where master=?",name);
            if (resultq == 1)
                result = true;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return result;
    }

//修改程式碼

public boolean update(person person)
    {
//        String name = person.getMaster();
        Object[] params = {person.getIdnummber(),person.getSex(),person.getNation(),person.getEducation(),person.getMaster()};
        try {
            int result = queryRunner.update("update person set idnummber=?,sex=?,nation=?,education=? where master=?",params);
            if(result == 1)
                return true;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }

//查詢程式碼

查詢單個所用到的方法為QueryRunner.query()

此方法的構造方法需要傳入三個值,首先是sql語句,其次呼叫的是BeanHeadler方法其中泛型則是需要幫你轉化為什麼型別,這裡視具體情況而定,BeanHeadler的構造方法中填的是你泛型的.class方法,

第三個傳params陣列

查詢單個用到的是BeanHeadler

public person select(person person)
    {
        String name = person.getMaster();
        try {
            person person1 = queryRunner.query("select * from person where master=?",new BeanHandler<person>(person.class),name);
            return person1;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

查詢所有用的是BeanListHeadler

public List<person> selectAll()
    {
        try {
            List<person> personList = queryRunner.query("select * from person",new BeanListHandler<person>(person.class));
            return personList;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }