@Repository
public class UserDaoImpl extends JdbcTemplate implements UserDao {
@Resource
private JdbcTemplate jdbcTemplate;
public boolean addUser(final User user) {
String sqlStr = "INSERT INTO USER(username,PASSWORD) VALUES(?,?)";
int status = jdbcTemplate.update(sqlStr, new PreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps) throws SQLException {
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
}
});
return status == 0 ? false : true;
}
public boolean delUser(final User user) {
String sqlStr = "DELETE FROM USER WHERE id=?";
int status = jdbcTemplate.update(sqlStr, new PreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps) throws SQLException {
ps.setInt(1, user.getId());
}
});
return status == 0 ? false : true;
}
public List<User> findByAll() {
String sqlStr = "SELECT id,username,PASSWORD FROM USER";
List<User> users = jdbcTemplate.query(sqlStr, new BeanPropertyRowMapper<User>(User.class));
return users;
}
public List<User> findByCloumns(final User user) {
String sqlStr = "SELECT id,username,password FROM USER WHERE username=? AND password=?";
final List<User> users = new ArrayList<User>();
final User u = new User();
jdbcTemplate.query(sqlStr, new PreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps) throws SQLException {
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
}
}, new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
u.set(rs.getInt("id"), rs.getString("username"), rs.getString("password"));
users.add(u);
}
});
jdbcTemplate.query(sqlStr, new Object[]{user.getUsername(), user.getPassword()}, new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
u.set(rs.getInt("id"), rs.getString("username"), rs.getString("password"));
users.add(u);
}
});
return users;
}
public boolean updUser(final User user) {
String sqlStr = "UPDATE USER SET username=?, PASSWORD=? WHERE id=?";
int status = jdbcTemplate.update(sqlStr, new PreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps) throws SQLException {
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
ps.setInt(3, user.getId());
}
});
return status == 0 ? false : true;
}
}
配置文件中声明jdbcTemplate即可
<!-- 配置Jdbc模板 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>