티스토리 뷰
아래 링크를 통해 가입시 바이낸스 코인 거래수수료 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