티스토리 뷰

QR인식 or 이미지 클릭하여 회원가입시(평생 수수료 25%이상 할인)-[25% or more discount on commission]

 

아래 링크를 통해 가입시 바이낸스 코인 거래수수료 25% 평생할인!

25% lifetime discount on Binance Coin transaction fees when you sign up through the link below!

https://accounts.binance.com/en/register?ref=286562663

 

Log In | Binance

login-description

accounts.binance.com

 

바이낸스 추천코드로 가입하고 수수료 25% 평생 할인 받으세요! (바이낸스 가입 레퍼럴코드, 추천

바이낸스 추천코드로 가입하고 수수료 25% 평생 할인 받으세요! 바이낸스 가입코드, 레퍼럴코드, 추천코드, 할인코드  :  ( 286562663 ) 아래 링크를 통해 가입시 25% 할인 받을 수 있습니다 http

pink24.tistory.com

 

 

Spring JDBC 6-3 JdbcTemplate API 사용

queryForInt() 메서드

Select 문을 실행하여 하나의 정수값을 받아내기 위해 사용

int count = getJdbcTemplate().queryForInt("select count(*) from users");

int boardCount = getJdbcTemplate().queryForInt(

"select count(*) from board where category_no = ?", "CATEGORY-00001");

queryForObject() 메서드

SQL 문 수행결과가 하나의 Object로 리턴되는 경우 이용

전달하는 파라미터는 Object의 배열형 -> 순서대로 ?에 삽입됨

리턴받고자하는 타입명을 명시해야 함.

String name = getJdbcTemplate().queryForObject(

"select name from users where id = ?", new Object[]{"test"}, String.class);

query() 메서드

select의 실행 결과가 여려목록으로 리턴되는 경우 사용

sql 문 수행 결과는 Collection 으로 리턴

3개의 매개변수

sql(String), 필요 파라미터(Object 배열), 실행 결과를 매핑할 RowMapper

Object[] args = {"%"+searchKeyword+"%"};

ArrayList list = getJdbcTemplate().query("select * from users where user_name like ?",

args, new UserRowMapper());

RowMapper

select 수행 결과를 단순한 정수나 문자열로 담지 않고 VO(Value Object)에 담고자 하는 경우, select한 결과와 VO객체의 속성을 매핑함.

RowMapper 인터페이스를 구현한 클래스를 작성한 후 매핑정보를 담고, 그것을 JdbcTemplate 메서드의 인자로 전달함.

Anonymous Inner Class 형태

private final String USER_GET = "select * from users where id=?";

public UserVO getUser(UserVO vo) {

Object[] args = {vo.getId()};

return (UserVO)getJdbcTemplate().queryForObject(USER_GET, args,

new RowMapper<UserVO>(){

public UserVO mapRow(ResultSet rs, int rowNum) throws SQLException {

UserVO user = new UserVO();

user.setId(rs.getString("USER_ID"));

user.setPassword(rs.getString("PASSWORD"));

user.setName(rs.getString("NAME"));

user.setRole(rs.getString("ROLE"));

return user;

}

}

);

}

RowMapper - 이어서

query() 메서드에서도 RowMapper사용

private final String USER_LIST = "select * from users order by name desc";

public ArrayList<UserVO> getUserList(UserVO vo) {

Object[] args = new Object[0];

return (ArrayList<UserVO>)getJdbcTemplate().query(USER_LIST, args,

new RowMapper<UserVO>(){

public UserVO mapRow(ResultSet rs, int rowNum) throws SQLException {

UserVO user = new UserVO();

user.setId(rs.getString("USER_ID"));

user.setPassword(rs.getString("PASSWORD"));

user.setName(rs.getString("NAME"));

user.setRole(rs.getString("ROLE"));

return user;

}

}

);

}

RowMapper 클래스 구현

재사용성을 위해 별도의 외부 클래스를 정의하여 사용

private final String USER_GET = "select * from users where id=?";

private final String USER_LIST = "select * from users order by name desc";

public UserVO getUser(UserVO vo) {

Object[] args = {vo.getId()};

return (UserVO)getJdbcTemplate().queryForObject(

USER_GET, args, new UserRowMapper());

}

public ArrayList<UserVO> getUserList(UserVO vo) {

Object[] args = new Object[0];

return (ArrayList<UserVO>)getJdbcTemplate().query(

USER_LIST, args, new UserRowMapper());

}

class UserRowMapper implements RowMapper<UserVO> {

public UserVO mapRow(ResultSet rs, int rowNum) throws SQLException {

UserVO user = new UserVO();

user.setId(rs.getString("USER_ID"));

user.setPassword(rs.getString("PASSWORD"));

user.setName(rs.getString("NAME"));

user.setRole(rs.getString("ROLE"));

return user;

}

}

update 메서드

insert, update, delete 수행을 위해 사용

private final String USER_ADD = "insert into users(id, pass, name) values(?,?,?)";

public void addUser(UserVO vo) {

getJdbcTemplate().update(USER_ADD, vo.getId(), vo.getPass(), vo.getName());

}

매개변수값과 타입을 배열 형태로 전달 가능

private final String USER_UPDATE = "update users set name=?, role=? where id=?";

public void updateUser(UserVO vo) {

Object[] params = {vo.getName(), vo.getRole(), vo.getId()};

int[] types = {Types.VARCHAR, Types.VARCHAR, Types.VARCHAR};

getJdbcTemplate().update(USER_UPDATE, params, types);

}

PreparedStatementSetter 이용

파라미터 값을 순서대로가 아닌 프로그램에서 직접 지정하는 방법 제공

private final String USER_ADD = "insert into users(id, pass, name) values(?,?,?)";

public void addUser(final UserVO vo) {

getJdbcTemplate().update(USER_ADD, new PreparedStatementSetter () {

public void setValues(PreparedStatement stmt) throws SQLException {

stmt.setString(1, vo.getId());

stmt.setString(2, vo.getPass());

stmt.setString(3, vo.getName());

}

});

}

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

바이낸스 코인 거래수수료 25% 평생할인받기

 

바이낸스 추천코드로 가입하고 수수료 25% 평생 할인 받으세요! (바이낸스 가입 레퍼럴코드, 추천

바이낸스 추천코드로 가입하고 수수료 25% 평생 할인 받으세요! 바이낸스 가입코드, 레퍼럴코드, 추천코드, 할인코드  :  ( 286562663 ) 아래 링크를 통해 가입시 25% 할인 받을 수 있습니다 http

pink24.tistory.com

 

비트코인 바이낸스 거래소 선물거래, 마진거래방법 가이드 - 바이낸스 회원가입(계정생성)

 

비트코인 바이낸스 선물거래, 마진거래 방법 feat.바이낸스 회원가입

바이낸스 거래소 선물 및 마진거래 방법! ------------------------------------------------------------------------ 1. 바이낸스 회원가입 2. 국내코인거래소에서 코인을 구매 후 바이낸스 지갑으로 전송. 3...

pink24.tistory.com

 

비트코인 바이낸스 마진거래방법, 선물거래방법 - USDT

 

바이낸스 선물, 마진거래 방법 (USDT)

Usdt 거래에 필요한 기존 단계들은 아래 링크드린 이전 포스팅을 참고해주세요 https://pink24.tistory.com/9 비트코인 바이낸스 선물거래, 마진거래 방법 feat.바이낸스 회원가입 바이낸스 거래소 선물

pink24.tistory.com

댓글

QR인식 or 이미지 클릭하여 회원가입시(평생 수수료 20%이상 할인)-[20% or more discount on commission]

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함