์ฐ์ ๊ธฐ๋ก ๐ช
[SpringBoot+JDBC] sql like ์ฟผ๋ฆฌ๋ฌธ ์ฌ์ฉํ๊ธฐ ๋ณธ๋ฌธ
ํ๋ก์ ํธ ๋์ค ๊ฒ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด like ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. ๊ทธ๋ฐ๋ฐ like๋ฌธ์ ์ฟผ๋ฆฌ๋ฌธ ๋ฌธ๋ฒ์ ์๋์ ๊ฐ๋ค.
--A๋ฅผ ํฌํจํ๋ ๋ฌธ์ ์ฐพ๊ธฐ--
SELECT ์ปฌ๋ผ๋ช
FROM ํ
์ด๋ธ WHERE ์ปฌ๋ผ๋ช
LIKE '%A%'
๊ทธ๋ฐ๋ฐ Springboot ๋ด์์๋ ์ฟผ๋ฆฌ๋ฌธ์ ์๋์ ๊ฐ์ด ํฐ ๋ฐ์ดํ("")๋ก ๋ฌถ๋๋ค.
//MovieDao ํ์ผ
public Writer getWriter(int userIdx) {
//sql๋ฌธ
String getUserQuery = "select user_idx,nickname,photo from user where user_idx=?;";
int param=userIdx;
return this.jdbcTemplate.queryForObject(getUserQuery,
(rs, rowNum) -> new Writer(
rs.getInt("user_idx"),
rs.getString("nickname"),
rs.getString("photo")),
param);
}
๊ทธ๋์ ๊ทธ๋ฅ like๋ฌธ์ ์ฌ์ฉํ๋ฉด ์๋ฌ๊ฐ ๋๋ค. SpringBoot์์ sql๋ฌธ ๋ด ?๋ ์์ ๋ฐ์ดํ๋ก ๊ฐ์ธ์ ธ ์นํ๋๋ฏ๋ก ๊ฒ์ํ๊ณ ์ ํ๋ ๋ด์ฉ์ %%๋ก ๊ฐ์ธ์ ?์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค. ์๋๋ ์ฌ์ฉ ์์์ด๋ค.
public List<GetMovieInfo> getMovieIdx_Search(String keyword,String sort){
String query="SELECT movie_idx FROM movie where movie_title like ? ";
//๊ฒ์ํ๊ณ ์ ํ๋ ํค์๋๋ฅผ %%๋ก ๊ฐ์ธ์ค๋ค.
String param="%"+keyword+"%";
return this.jdbcTemplate.query(query,
(rs, rowNum) -> new GetMovieInfo(
rs.getInt("movie_idx")),param);
}
์์ ๊ฐ์ด SpringBoot์์ like๋ฌธ์ ์ฌ์ฉํ ์ ์๋ค.