黑马程序员--用户注册登录管理系统…

来源:互联网 发布:艾科网络 编辑:程序博客网 时间:2024/06/06 12:24

--------android培训java培训期待与您交流------

package cn.itcast.dao.impl;

import java.util.List;

importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.jdbc.core.simple.ParameterizedBeanPropertyRowMapper;
importorg.springframework.jdbc.core.simple.SimpleJdbcTemplate;
import org.springframework.stereotype.Repository;
importorg.springframework.transaction.annotation.Propagation;
importorg.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 SimpleJdbcTemplatesimpleJdbcTemplate;

 
 @Override
 @Transactional(propagation =Propagation.REQUIRED)
 public boolean add(User user) {
  String sql = "insert intouser(username,password,email,birthday,nickname)values(?,?,?,?,?)";
  Object[] args = new Object[] {user.getUsername(), user.getPassword(),
    user.getEmail(),user.getBirthday(), user.getNickname() };
  returnsimpleJdbcTemplate.update(sql, args) == 1 ? true : false;
 }

@Override
 @Transactional(propagation =Propagation.NOT_SUPPORTED)
 public User find(String username, Stringpassword) {
  String sql = "selectusername,password,email,birthday,nickname from user whereusername=? 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;

 
0 0