JDBC dao層增刪改查實現
阿新 • • 發佈:2021-11-19
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; }