working with jdbc

2020-03-05  本文已影响0人  cdz620

template

使用姿势

1.注入bean

JavaConfig

import org.springframework.stereotype.Repository;
@Repository
public class JdbcSpitterRepository implements SpitterRepository {
    private JdbcTemplate jdbcTemplate;
    @Autowired
    public JdbcSpitterRepository(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;       
    }
}

xml configuration

<bean id="jdbcTemplate"
        class="org.springframework.jdbc.core.JdbcTemplate" 
        c:_-ref="dataSource" />

2. 数据库操作

public Spitter findOne(long id) {
    return jdbcOperations.queryForObject(
            SELECT_SPITTER_BY_ID, new SpitterRowMapper(),
            id
);
}

private static final class SpitterRowMapper
                    implements RowMapper<Spitter> {
  public Spitter mapRow(ResultSet rs, int rowNum)
                                   throws SQLException {
        return new Spitter(
        rs.getLong("id"),
        rs.getString("username"),
        rs.getString("password"),
        rs.getString("fullName"),
        rs.getString("email"),
        rs.getBoolean("updateByEmail"));
} }
public void addSpitter(Spitter spitter) {
    jdbcOperations.update(INSERT_SPITTER,
        spitter.getUsername(),
        spitter.getPassword(),
        spitter.getFullName(),
        spitter.getEmail(),
        spitter.isUpdateByEmail());
}

map 方式

private static final String INSERT_SPITTER =
        "insert into Spitter " +
        "    (username, password, fullname, email, updateByEmail) " +
        "values " +
        "    (:username, :password, :fullname, :email, :updateByEmail)";
public void addSpitter(Spitter spitter) {
    Map<String, Object> paramMap = new HashMap<String, Object>();
      paramMap.put("username", spitter.getUsername());
      paramMap.put("password", spitter.getPassword());
      paramMap.put("fullname", spitter.getFullName());
      paramMap.put("email", spitter.getEmail());
      paramMap.put("updateByEmail", spitter.isUpdateByEmail());
      jdbcOperations.update(INSERT_SPITTER, paramMap);
}
上一篇 下一篇

猜你喜欢

热点阅读