真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringJDBC的使用方法詳解

1、為什么使用Spring提供的JDBC的封裝?

成都創(chuàng)新互聯(lián),專注為中小企業(yè)提供官網(wǎng)建設(shè)、營(yíng)銷型網(wǎng)站制作、響應(yīng)式網(wǎng)站設(shè)計(jì)、展示型成都網(wǎng)站建設(shè)、網(wǎng)站制作等服務(wù),幫助中小企業(yè)通過(guò)網(wǎng)站體現(xiàn)價(jià)值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷推廣問(wèn)題。

因?yàn)镾pring提供了完整的模板類以及基類可以簡(jiǎn)化開(kāi)發(fā),我們只需寫(xiě)少量的代碼即可。

2、實(shí)例講解

第一步:導(dǎo)入依賴  MySQL-connector spring-jdbc spring-tx spring-core spring-beans spring-context 等等

第二步:數(shù)據(jù)庫(kù)的建立,配置xml

第三步:獲取jdbcTemplate對(duì)象

可以這樣獲得

 private JdbcTemplate jdbcTemplate;
  public void setDataSource(DataSource dataSource){
    this.jdbcTemplate=new JdbcTemplate(dataSource);
} 

    

也可以繼承JdbcDaoSupport,使用super.getJdbcTemplate()獲得

第四步:使用jdbcTemplate對(duì)象進(jìn)行增刪改查

增刪改使用update(),這個(gè)方法的參數(shù),第一個(gè)為sql語(yǔ)句,之后為可變參數(shù),傳入sql語(yǔ)句中的占位符

查詢使用queryForObject()方法的第一個(gè)參數(shù)為sql中需要的參數(shù),第三個(gè)參數(shù)為實(shí)現(xiàn)RowMapper接口的對(duì)象,

用于處理結(jié)果集,該方法要求返回單一的對(duì)象

query()該方法返回對(duì)象集合

public class UserDaoImpl extends JdbcDaoSupport implements IUserDao {

  public void save(User user) {
    super.getJdbcTemplate().update("insert into user(id,username,password,date,salary) values(null,?,?,?,?)",
        user.getUsername(),user.getPassword(),user.getDate(),user.getSalary());

  }

  public void update(User user) {
    super.getJdbcTemplate().update("update user set username=?,password=?,date=?,salary=? where id=?",
        user.getUsername(), user.getPassword(), user.getDate(), user.getSalary(), user.getId());

  }

  public void delete(Integer id) {
    super.getJdbcTemplate().update("delete from user where id=?",id);
  }

  public User findById(Integer id) {
    /* List user = super.getJdbcTemplate().query("select * from user where id=?", new Object[]{id},
        new RowMapper() {
          @Override
          public User mapRow(ResultSet resultSet, int i) throws SQLException {
            User user = new User();
            user.setId(resultSet.getInt("id"));
            user.setDate(resultSet.getDate("date"));
            user.setUsername(resultSet.getString("username"));
            user.setPassword(resultSet.getString("password"));
            user.setSalary(resultSet.getBigDecimal("salary"));
            return user;
          }
          //方法的返回值會(huì)直接封裝到集合中
        });
    return user.size()>0?user.get(0):null;*/

    User user = super.getJdbcTemplate().queryForObject("select * from user where id=?", new Object[]{id},
        new RowMapper() {
          @Override
          public User mapRow(ResultSet resultSet, int i) throws SQLException {
            User user = new User();
            user.setId(resultSet.getInt("id"));
            user.setDate(resultSet.getDate("date"));
            user.setUsername(resultSet.getString("username"));
            user.setPassword(resultSet.getString("password"));
            user.setSalary(resultSet.getBigDecimal("salary"));
            return user;
          }
        });
    return user;
  }

  public List findAll() {
    List users = super.getJdbcTemplate().query("select * from user",
        new RowMapper() {
          @Override
          public User mapRow(ResultSet resultSet, int i) throws SQLException {
            User user = new User();
            user.setId(resultSet.getInt("id"));
            user.setDate(resultSet.getDate("date"));
            user.setUsername(resultSet.getString("username"));
            user.setPassword(resultSet.getString("password"));
            user.setSalary(resultSet.getBigDecimal("salary"));
            return user;
          }
          //方法的返回值會(huì)直接封裝到集合中
        });
    return users;
  }

}

3、JdbcTemplate是JDBC核心包的中心類

知識(shí)點(diǎn)查詢地址:

https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/data-access.html#jdbc

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


文章名稱:SpringJDBC的使用方法詳解
轉(zhuǎn)載源于:http://weahome.cn/article/igjdgj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部