MyBatis 만능 맵 과 모호 한 조회 실현

만능 지도
  우 리 는 지난 블 로그 에서 Mybatis 를 이용 하여 CRUD 작업 을 실현 할 때 데이터베이스 시트 에 데 이 터 를 추가 하 는 것 은 이렇게 작 동 합 니 다.
실체 클래스 대상 의 필드 는 다음 과 같 습 니 다:

package com.hpf.bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
//     User
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Long id;
    private String username;
    private String password;
}
기 록 된 xml 파일 설정 내용 을 추가 합 니 다:

<insert id="addUser" parameterType="com.hpf.bean.User">
        insert into userinfo (id,username,password) values (#{id},#{username},#{password})
</insert>
그 중에서\#뒤에 있 는 필드 이름 은 모두 우리 실체 류 사용자 류 에서 똑 같은 필드 이름 입 니 다.
이어서 우 리 는 맵 의 방식 으로 사용자 기록 의 신 설 을 실현 해 보 겠 습 니 다.

 <insert id="addUserByMap" parameterType="Map">
        insert into userinfo (id,username,password) values (#{id},#{user},#{pwd})
</insert>
테스트 부분:

 @Test
    public void testAddUserByMap(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        Map<String,Object> map = new HashMap<>();
        map.put("id", 6L);
        map.put("user", "  ");
        map.put("pwd", "666");
        int res = mapper.addUserByMap(map);
        sqlSession.commit();
        sqlSession.close();
    }
설명:우리 업무 와 관련 된 매개 변 수 는 어떤 필드 내용 이 필요 합 니까?우 리 는 맵 에 어떤 필드 내용 을 전달 하면 됩 니 다.
모호 조회
『8195』표 안에 이성 인 사용자 정 보 를 조회 하 라 고 요구 합 니 다.

package com.hpf.dao;

import com.hpf.bean.User;
import java.util.List;
import java.util.Map;
//                 
public interface UserDao {
    //        
    List<User> getUserByLike(Map map);
}

 <select id="getUserByLike" parameterType="Map" resultType="com.hpf.bean.User">
        select * from userinfo where username like #{value}
 </select>

@Test
    public void testGetUserByLike(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        Map<String,Object> map = new HashMap<>();
        map.put("value", " %");
        List<User> userByLike = mapper.getUserByLike(map);
        for(User user:userByLike)
            System.out.println(user);
    }
결 과 는 그림 과 같다.

설명:모호 한 조 회 는 이런 방식 에서 사실 하나의 서법 도 결 과 를 얻 을 수 있 지만 sql 주입 문 제 를 방지 하기 위해 다음 과 같은 서법 을 권장 하지 않 습 니 다.

<select id="getUserByLike" parameterType="Map" resultType="com.hpf.bean.User">
        select * from userinfo where username like #{value}"%"
</select>
마 이 바 티 스 의 만능 맵 실현 과 모호 한 조회 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 마 이 바 티 스 만능 맵 과 모호 한 조회 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기