springjdbc

public class DefaultTemplate {
    private JdbcTemplate jt;

    public void insert(Person person) {
        String sql = "INSERT INTO person(name,password) VALUES (?,?)";
        // 全部的值应该变为对象数组
        Object params[] = new Object[] { person.getName(), person.getPassword() };
        int type[] = new int[] { Types.VARCHAR, Types.VARCHAR };
        jt.update(sql, params, type);
    }

    public void update(Person person) {
        String sql = "UPDATE person SET name=?,password=? WHERE id=?";
        Object params[] = new Object[] { person.getName(),
                person.getPassword(), new Integer(person.getId()) };
        int type[] = new int[] { Types.VARCHAR, Types.VARCHAR, Types.INTEGER };
        jt.update(sql, params, type);
    }

    public Person getPerson(int id) {
        final Person per = new Person();
        String sql = "SELECT id,name,password FROM person WHERE id=?";
        Object[] params = new Object[] { new Integer(id) };
       
        //RowCallbackHandler是接口
        jt.query(sql, params, new RowCallbackHandler() {
            public void processRow(ResultSet rs) throws SQLException {
                per.setId(rs.getInt(1));
                per.setName(rs.getString(2));
                per.setPassword(rs.getString(3));
            }
        });
        return per;
    }
    public int getCount() {
        final Person per = new Person() ;
        String sql = "SELECT COUNT(id) FROM person";
        Object[] params = new Object[] {};
        jt.query(sql, params, new RowCallbackHandler() {
            public void processRow(ResultSet rs) throws SQLException {
                per.setCount(rs.getInt(1)) ;
            }
        });
        return per.getCount();
    }

    public List queryAll() {
        final List<Person> all = new ArrayList<Person>();
        String sql = "SELECT id,name,password FROM person";
        Object[] params = new Object[] {};
        jt.query(sql, params, new RowCallbackHandler() {
            public void processRow(ResultSet rs) throws SQLException {
                Person per = new Person();
                per.setId(rs.getInt(1));
                per.setName(rs.getString(2));
                per.setPassword(rs.getString(3));
                all.add(per);
            }
        });
        return all;
    }

   
   

    public void delete(int id) {
        String sql = "DELETE FROM person WHERE id=?";
        Object params[] = new Object[] { new Integer(id) };
        int type[] = new int[] { Types.INTEGER };
        jt.update(sql, params, type);
    }
   
   
    public JdbcTemplate getJt() {
        return jt;
    }

    public void setJt(JdbcTemplate jt) {
        this.jt = jt;
    }

你可能感兴趣的:(sql)