QA@IT
«質問へ戻る

タグを追加しました。

0
タグ

NamedParameterJdbcTemplateでWHERE句を設定すると値の取得が行えない。

NamedParameterJdbcTemplateについて質問させて頂きます。
下記のような形で、SELECTの実行結果を取得しようとしております。
環境
Java8
Tomcat8
MySQL5.7

pom.xmlの設定
org.springframework.boot spring-boot-starter-jdbc 1.5.2.RELEASE
com.h2database h2 1.3.176

    final String sql =
                            "SELECT " +
                            "  user.login_id " +
                            "  , user.user_id " +
                            "  , user.password " +
                            "  , user.maintenance_msg AS maintenance_msg " +
                            "  , user_authority.project_id " +
                            "  , user_authority.position_div " +
                            "  , user_authority.maintenance_msg AS authority_maintenance_msg " +
                            "FROM " +
                            "  user  " +
                            "  inner join user_authority " +
                            "    on user.user_id = user_authority.user_id " +
                            "WHERE " +
                            "  user.user_id = 1";


    SqlParameterSource bind = new MapSqlParameterSource();

    User login = jdbcTemplate.queryForObject(sql, bind, new RowMapper<User>() {
        @Override
        public User mapRow(ResultSet rs, int rowNum) throws SQLException {
            User login = new User();

            List<UserAuthority> userAuthorityList = new ArrayList<>();

            int i = 0;
            while(rs.next()){
                if(i==0){
                    login.setLoginId(rs.getString("login_id"));
                    login.setUserId(rs.getString("user_id"));
                    login.setPassword(rs.getString("password"));
                }

                UserAuthority userAuthority = new UserAuthority();
                userAuthority.setProjectId(rs.getString("project_id"));
                userAuthority.setPositionDiv(rs.getString("position_div"));
                userAuthorityList.add(userAuthority);
                i++;
            }
            login.setUserAuthority(userAuthorityList);
            return login;
        }
    });

    return login;

SELECT自体の実行は成功するのですが値の取得が行えません。
もちろん、DBには対象のデータは存在しています。

それと、WEHERE句の箇所を消して実行するとデータの取得が行えます。
なにかご存知な方がおりましたらご教授頂けると幸いです。
何卒宜しくお願い致します。

NamedParameterJdbcTemplateについて質問させて頂きます。
下記のような形で、SELECTの実行結果を取得しようとしております。
環境 
Java8
Tomcat8
MySQL5.7

pom.xmlの設定
org.springframework.boot spring-boot-starter-jdbc 1.5.2.RELEASE
com.h2database h2 1.3.176


		final String sql =
								"SELECT " +
								"  user.login_id " +
								"  , user.user_id " +
								"  , user.password " +
								"  , user.maintenance_msg AS maintenance_msg " +
								"  , user_authority.project_id " +
								"  , user_authority.position_div " +
								"  , user_authority.maintenance_msg AS authority_maintenance_msg " +
								"FROM " +
								"  user  " +
								"  inner join user_authority " +
								"    on user.user_id = user_authority.user_id " +
								"WHERE " +
								"  user.user_id = 1";


		SqlParameterSource bind = new MapSqlParameterSource();

		User login = jdbcTemplate.queryForObject(sql, bind, new RowMapper<User>() {
			@Override
			public User mapRow(ResultSet rs, int rowNum) throws SQLException {
				User login = new User();

			    List<UserAuthority> userAuthorityList = new ArrayList<>();

				int i = 0;
				while(rs.next()){
					if(i==0){
						login.setLoginId(rs.getString("login_id"));
						login.setUserId(rs.getString("user_id"));
						login.setPassword(rs.getString("password"));
					}

					UserAuthority userAuthority = new UserAuthority();
					userAuthority.setProjectId(rs.getString("project_id"));
					userAuthority.setPositionDiv(rs.getString("position_div"));
					userAuthorityList.add(userAuthority);
					i++;
				}
				login.setUserAuthority(userAuthorityList);
			    return login;
			}
		});

		return login;

SELECT自体の実行は成功するのですが値の取得が行えません。
もちろん、DBには対象のデータは存在しています。

それと、WEHERE句の箇所を消して実行するとデータの取得が行えます。
なにかご存知な方がおりましたらご教授頂けると幸いです。
何卒宜しくお願い致します。

質問を投稿

NamedParameterJdbcTemplateでWHERE句を設定すると値の取得が行えない。

NamedParameterJdbcTemplateについて質問させて頂きます。
下記のような形で、SELECTの実行結果を取得しようとしております。
環境
Java8
Tomcat8
MySQL5.7

pom.xmlの設定
org.springframework.boot spring-boot-starter-jdbc 1.5.2.RELEASE
com.h2database h2 1.3.176

    final String sql =
                            "SELECT " +
                            "  user.login_id " +
                            "  , user.user_id " +
                            "  , user.password " +
                            "  , user.maintenance_msg AS maintenance_msg " +
                            "  , user_authority.project_id " +
                            "  , user_authority.position_div " +
                            "  , user_authority.maintenance_msg AS authority_maintenance_msg " +
                            "FROM " +
                            "  user  " +
                            "  inner join user_authority " +
                            "    on user.user_id = user_authority.user_id " +
                            "WHERE " +
                            "  user.user_id = 1";


    SqlParameterSource bind = new MapSqlParameterSource();

    User login = jdbcTemplate.queryForObject(sql, bind, new RowMapper<User>() {
        @Override
        public User mapRow(ResultSet rs, int rowNum) throws SQLException {
            User login = new User();

            List<UserAuthority> userAuthorityList = new ArrayList<>();

            int i = 0;
            while(rs.next()){
                if(i==0){
                    login.setLoginId(rs.getString("login_id"));
                    login.setUserId(rs.getString("user_id"));
                    login.setPassword(rs.getString("password"));
                }

                UserAuthority userAuthority = new UserAuthority();
                userAuthority.setProjectId(rs.getString("project_id"));
                userAuthority.setPositionDiv(rs.getString("position_div"));
                userAuthorityList.add(userAuthority);
                i++;
            }
            login.setUserAuthority(userAuthorityList);
            return login;
        }
    });

    return login;

SELECT自体の実行は成功するのですが値の取得が行えません。
もちろん、DBには対象のデータは存在しています。

それと、WEHERE句の箇所を消して実行するとデータの取得が行えます。
なにかご存知な方がおりましたらご教授頂けると幸いです。
何卒宜しくお願い致します。

NamedParameterJdbcTemplateについて質問させて頂きます。
下記のような形で、SELECTの実行結果を取得しようとしております。
環境 
Java8
Tomcat8
MySQL5.7

pom.xmlの設定
org.springframework.boot spring-boot-starter-jdbc 1.5.2.RELEASE
com.h2database h2 1.3.176


		final String sql =
								"SELECT " +
								"  user.login_id " +
								"  , user.user_id " +
								"  , user.password " +
								"  , user.maintenance_msg AS maintenance_msg " +
								"  , user_authority.project_id " +
								"  , user_authority.position_div " +
								"  , user_authority.maintenance_msg AS authority_maintenance_msg " +
								"FROM " +
								"  user  " +
								"  inner join user_authority " +
								"    on user.user_id = user_authority.user_id " +
								"WHERE " +
								"  user.user_id = 1";


		SqlParameterSource bind = new MapSqlParameterSource();

		User login = jdbcTemplate.queryForObject(sql, bind, new RowMapper<User>() {
			@Override
			public User mapRow(ResultSet rs, int rowNum) throws SQLException {
				User login = new User();

			    List<UserAuthority> userAuthorityList = new ArrayList<>();

				int i = 0;
				while(rs.next()){
					if(i==0){
						login.setLoginId(rs.getString("login_id"));
						login.setUserId(rs.getString("user_id"));
						login.setPassword(rs.getString("password"));
					}

					UserAuthority userAuthority = new UserAuthority();
					userAuthority.setProjectId(rs.getString("project_id"));
					userAuthority.setPositionDiv(rs.getString("position_div"));
					userAuthorityList.add(userAuthority);
					i++;
				}
				login.setUserAuthority(userAuthorityList);
			    return login;
			}
		});

		return login;

SELECT自体の実行は成功するのですが値の取得が行えません。
もちろん、DBには対象のデータは存在しています。

それと、WEHERE句の箇所を消して実行するとデータの取得が行えます。
なにかご存知な方がおりましたらご教授頂けると幸いです。
何卒宜しくお願い致します。