Java Spring-JdbcTemplate增刪改查

來源:互聯網
上載者:User

標籤:類型   void   throws   except   object   contex   insert   ted   temp   

2017-11-11 21:13:13

Spring 架構中提供了對持久層支援人員的類 :

  • JDBC : org.springframework.jdbc.core.support.JdbcDaoSupport
  • Hibernate 3.0 : org.springframework.orm.hibernate3.support.HibernateDaoSupport
  • iBatis : org.springframework.orm.ibatis.support.SqlMapClientDaoSupport

增加,刪除和修改的操作還是比較容易的,因為,並不需要有傳回值。

增加,刪除和修改的代碼:

// Userpublic class User {    private Integer id;    private String name;    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    @Override    public String toString() {        return "User{" +                "id=" + id +                ", name=‘" + name + ‘\‘‘ +                ‘}‘;    }}// UserDaopublic class UserDao extends JdbcDaoSupport {    public void add(User user){        String sql = "insert into user values(?,?)";        getJdbcTemplate().update(sql,user.getId(),user.getName());    }    public void delete(User user){        String sql = "delete from user where id=?";        getJdbcTemplate().update(sql, user.getId());    }    public void update(User user){        String sql = "update user set name=? where id=?";        getJdbcTemplate().update(sql, user.getName(), user.getId());    }}// 測試@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("classpath:config4.xml")public class Jdbc3 {    @Resource(name = "userdao")    private UserDao userdao;    @Test    public void demo(){        User user= new User();        user.setName("劉亦菲");        user.setId(001);        // userdao.add(user);        //user.setName("胡歌");        //userdao.update(user);        userdao.delete(user);    }}

尋找操作是相對比較麻煩的,因為這裡一般是有傳回值的。

針對傳回值為基本類型的,可以比較方便的進行轉換;

針對傳回值是對象的,需要自訂轉換方法;

查詢代碼:

// UserDaopublic class UserDao extends JdbcDaoSupport {    public void add(User user){        String sql = "insert into user values(?,?)";        getJdbcTemplate().update(sql,user.getId(),user.getName());    }    public void delete(User user){        String sql = "delete from user where id=?";        getJdbcTemplate().update(sql, user.getId());    }    public void update(User user){        String sql = "update user set name=? where id=?";        getJdbcTemplate().update(sql, user.getName(), user.getId());    }    public int findCount(){        String sql = "select count(*) from user";        return this.getJdbcTemplate().queryForObject(sql,Integer.class);    }    public String findNameByID(int id){        String sql = "select name from user where id = ?";        return getJdbcTemplate().queryForObject(sql,String.class,id);    }    public User findUserByID(int id){        String sql = "select * from user where id = ?";        return getJdbcTemplate().queryForObject(sql, new MyRowMap(), id);    }    public List<User> findAll(){        String sql = "select * from user";        return getJdbcTemplate().query(sql,new MyRowMap());    }    // 匿名內部類進行自訂的類型轉換    class MyRowMap implements RowMapper<User>{        /**         *         * @param resultSet:結果集,裡麵包含所有的結果         * @param i:行號         * @return 將每一行的資料自行轉成需要的對象的資料類型         * @throws SQLException         */        @Override        public User mapRow(ResultSet resultSet, int i) throws SQLException {            User user = new User();            user.setName(resultSet.getString("name"));            user.setId(resultSet.getInt("id"));            return user;        }    }}// 查詢@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("classpath:config4.xml")public class Jdbc3 {    @Resource(name = "userdao")    private UserDao userdao;    @Test    public void demo(){        User user= new User();        user.setName("章子怡");        user.setId(002);        userdao.add(user);    }    @Test    public void demo2(){        System.out.println(userdao.findCount());        List<User> ls = userdao.findAll();        for(User user:ls){            System.out.println(user);        }    }}

 

Java Spring-JdbcTemplate增刪改查

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.