SSM은 사용자 이름과 사용자 역할에 따라 사용자 목록을 모호하게 조회합니다 - User 객체 및 Map으로 캡슐화
1. User 객체에 캡슐화
1-UserMapper.java // : , --
//public List getUserListByUserNameAndUserRole(String userName,Integer userRole);
public List<User> getUserListByUserNameAndUserRole(User user);
2-UserMapper.xml <!-- : , :#{ , }-->
<select id="getUserListByUserNameAndUserRole" parameterType="User" resultType="User">
SELECT *
FROM smbms_user
WHERE userName
LIKE CONCAT('%',#{userName},'%')
AND userRole=#{userRole}
</select>
3 - 테스트 클래스@Test
public void getUserListByUserNameAndUserRoleTest(){
SqlSession sqlSession = MyBatisUtil.createSqlSession();
/* String userName=" ";
Integer userRole=2;*/
User user = new User();
user.setUserName(" ");
user.setUserRole(2);
List<User> userList = sqlSession.getMapper(UserMapper.class).getUserListByUserNameAndUserRole(user);
for(User u:userList){
logger.debug(u.getId()+"\t"+u.getUserName()+"\t"+u.getUserRole());
}
//
sqlSession.commit();
MyBatisUtil.closeSqlSession(sqlSession);
}
2. 맵에 봉인
1-UserMapper.java // : , -- map
public List<User> getUserListByUserNameAndUserRole_map(Map<String,Object> userMap);
2-UserMapper.xml <!-- : , : map;#{ map key }-->
<select id="getUserListByUserNameAndUserRole_map" parameterType="map" resultType="User">
select * from smbms_user
where userName like CONCAT('%',#{yiyang},'%') and userRole=#{qianxi}
</select>
3 - 테스트 클래스@Test
public void getUserListByUserNameAndUserRole_mapTest(){
SqlSession sqlSession = MyBatisUtil.createSqlSession();
Map<String,Object> userMap=new HashMap<>();
userMap.put("yiyang"," ");
userMap.put("qianxi","2");
List<User> userList = sqlSession.getMapper(UserMapper.class).getUserListByUserNameAndUserRole_map(userMap);
for(User u:userList){
logger.debug(u.getId()+"\t"+u.getUserName()+"\t"+u.getUserRole());
}
//
sqlSession.commit();
MyBatisUtil.closeSqlSession(sqlSession);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
// : , --
//public List getUserListByUserNameAndUserRole(String userName,Integer userRole);
public List<User> getUserListByUserNameAndUserRole(User user);
<!-- : , :#{ , }-->
<select id="getUserListByUserNameAndUserRole" parameterType="User" resultType="User">
SELECT *
FROM smbms_user
WHERE userName
LIKE CONCAT('%',#{userName},'%')
AND userRole=#{userRole}
</select>
@Test
public void getUserListByUserNameAndUserRoleTest(){
SqlSession sqlSession = MyBatisUtil.createSqlSession();
/* String userName=" ";
Integer userRole=2;*/
User user = new User();
user.setUserName(" ");
user.setUserRole(2);
List<User> userList = sqlSession.getMapper(UserMapper.class).getUserListByUserNameAndUserRole(user);
for(User u:userList){
logger.debug(u.getId()+"\t"+u.getUserName()+"\t"+u.getUserRole());
}
//
sqlSession.commit();
MyBatisUtil.closeSqlSession(sqlSession);
}
// : , -- map
public List<User> getUserListByUserNameAndUserRole_map(Map<String,Object> userMap);
<!-- : , : map;#{ map key }-->
<select id="getUserListByUserNameAndUserRole_map" parameterType="map" resultType="User">
select * from smbms_user
where userName like CONCAT('%',#{yiyang},'%') and userRole=#{qianxi}
</select>
@Test
public void getUserListByUserNameAndUserRole_mapTest(){
SqlSession sqlSession = MyBatisUtil.createSqlSession();
Map<String,Object> userMap=new HashMap<>();
userMap.put("yiyang"," ");
userMap.put("qianxi","2");
List<User> userList = sqlSession.getMapper(UserMapper.class).getUserListByUserNameAndUserRole_map(userMap);
for(User u:userList){
logger.debug(u.getId()+"\t"+u.getUserName()+"\t"+u.getUserRole());
}
//
sqlSession.commit();
MyBatisUtil.closeSqlSession(sqlSession);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.