Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.neeti.neg.dao.impl; import com.neeti.neg.dao.RegisterUserDao; import com.neeti.neg.modal.RegisterUser; import com.neeti.neg.modal.UserRole; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.jdbc.core.namedparam.SqlParameterSource; import org.springframework.jdbc.core.simple.SimpleJdbcInsert; import org.springframework.stereotype.Repository; /** * * @author manishas */ @Repository public class RegisterUserDaoImpl implements RegisterUserDao { private NamedParameterJdbcTemplate namedParameterJdbcTemplate; private SimpleJdbcInsert insertUser; private static final String SQL_COUNTUSERS_BYUSERNAME = "select count(*) from user where groupname = :groupname"; private static final String SQL_CREATE_USERROLE = "INSERT INTO user_role (username, user_role) VALUES (:groupname,:role)"; private static final String SQL_GETUSER_BYUSERNAME = "SELECT groupid, groupname, grouppassword, teammembers, email, enabled FROM user WHERE groupname = :groupname"; private static final String SQL_GETGAMEREF = "SELECT gameid FROM games where gamereqid= :gamereqid and gamepass=:gamepassword"; @Autowired public void setDataSource(DataSource dataSource) { this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource); this.insertUser = new SimpleJdbcInsert(dataSource).withTableName("user") .usingColumns("groupname", "grouppassword", "teammembers", "email", "enabled") .usingGeneratedKeyColumns("groupid"); } @Override public long createUser(RegisterUser registerUser) { Map<String, Object> parameters = new HashMap<>(); parameters.put("groupname", registerUser.getGroupName()); parameters.put("grouppassword", registerUser.getGroupPassword()); parameters.put("teammembers", registerUser.getTeamMembers()); parameters.put("email", registerUser.getEmail()); parameters.put("enabled", registerUser.getEnabled()); Number userid = insertUser.executeAndReturnKey(parameters); return userid.longValue(); } @Override public void createUserRole(RegisterUser registerUser) { //loop through user role list for (UserRole userRole : registerUser.getUserRoleList()) { Map<String, Object> namedParameters = new HashMap<>(); namedParameters.put("groupname", registerUser.getGroupName()); namedParameters.put("role", userRole.getRole()); this.namedParameterJdbcTemplate.update(SQL_CREATE_USERROLE, namedParameters); } } @Override public int countOfUsersByUserName(String username) { SqlParameterSource namedParameters = new MapSqlParameterSource("groupname", username); int i = this.namedParameterJdbcTemplate.queryForObject(SQL_COUNTUSERS_BYUSERNAME, namedParameters, Integer.class); return i; } @Override public int getGameId(String gameRefId, String pass) { MapSqlParameterSource namedParameters = new MapSqlParameterSource(); namedParameters.addValue("gamereqid", gameRefId); namedParameters.addValue("gamepassword", pass); int temp = 0; try { temp = this.namedParameterJdbcTemplate.queryForInt(SQL_GETGAMEREF, namedParameters); } catch (Exception e) { e.printStackTrace(); temp = 0; } finally { //status=(boolean) temp; return temp; } } @Override public RegisterUser getRegisterUserByUserName(String username) { SqlParameterSource namedParameters = new MapSqlParameterSource("groupname", username); RegisterUser registerUser = (RegisterUser) this.namedParameterJdbcTemplate .queryForObject(SQL_GETUSER_BYUSERNAME, namedParameters, new RegisterUserRowMapper()); return registerUser; } public class RegisterUserRowMapper implements RowMapper { @Override public Object mapRow(ResultSet rs, int rowNum) throws SQLException { RegisterUser registerUser = new RegisterUser(); registerUser.setUserId(rs.getInt("groupid")); registerUser.setGroupName(rs.getString("groupname")); registerUser.setGroupPassword(rs.getString("grouppassword")); registerUser.setTeamMembers(rs.getString("teammembers")); registerUser.setEmail(rs.getString("email")); registerUser.setEnabled(rs.getInt("enabled")); return registerUser; } } }