--------android培训java培训期待与您交流------
package cn.itcast.dao.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.simple.ParameterizedBeanPropertyRowMapper;
import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import cn.itcast.dao.UserDao;
import cn.itcast.domain.User;
import cn.itcast.util.JdbcUtils;
@SuppressWarnings("deprecation")
@Repository
public class UserDaoSpringImpl implements UserDao {
@Autowired
private SimpleJdbcTemplate simpleJdbcTemplate;
@Override
@Transactional(propagation = Propagation.REQUIRED)
public boolean add(User user) {
String sql = "insert into user(username,password,email,birthday,nickname) values(?,?,?,?,?)";
Object[] args = new Object[] { user.getUsername(), user.getPassword(),
user.getEmail(), user.getBirthday(), user.getNickname() };
return simpleJdbcTemplate.update(sql, args) == 1 ? true : false;
}
@Override
@Transactional(propagation = Propagation.NOT_SUPPORTED)
public User find(String username, String password) {
String sql = "select username,password,email,birthday,nickname from user where username=? and password=?";
Object[] args = new Object[] { username, password };
List<User> users = simpleJdbcTemplate.query(sql,
ParameterizedBeanPropertyRowMapper.newInstance(User.class),
args);
//如果这个集合中是空,说明没找到则返回null;
return users.isEmpty() ? null : users.get(0);
}
DAO层由Spring的SimpleJdbcTemplate接管,其中用到了基于注解方式的声明式事务管理和基于注解方式实现的bean装配与依赖注入;
开发完DAO层后,测试通过,然后抽取接口UserDao;
<script type="text/javascript" id="wumiiRelatedItems"> </script>
转发至微博
转发至微博