Mybatis 에서 만능 맵 전 참 을 사용 하여 실현
Map 의 특성 은 키 값 에 대응 하 는 것 입 니 다.키 키 하나만 확인 하면 값 value 는 모든 데이터 일 수 있 습 니 다.그러면 map 메모리 에 모든 데 이 터 를 저장 할 수 있 습 니 다.
다음 예 는 my batis 에서 Map 과 결합 하여 기본 적 인 첨삭 검 사 를 실현 하 는 것 을 보 여 줍 니 다.
데이터베이스 시트(fruits)구조:
실체 클래스:
package com.pojo.pp1;
import java.math.BigDecimal;
/**
* :
*
* @author:LiYansheng
* @date:2021/07/20 22:29
* @version:
*/
public class fruits {
private int id;
private String name;
private BigDecimal price;
public fruits(int id, String name, BigDecimal price) {
this.id = id;
this.name = name;
this.price = price;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public BigDecimal getPrice() {
return price;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
@Override
public String toString() {
return "fruits{" +
"id=" + id +
", name='" + name + '\'' +
", price=" + price +
'}';
}
}
Dao 인터페이스:
package com.pojo.Dao;
import com.pojo.pp1.fruits;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* :
*
* @author:LiYansheng
* @date:2021/07/20 22:31
* @version:
*/
public interface fruitsDao {
/* */
List<fruits> getfruitsList();
/* ID */
fruits getfruitsById(@Param("map") Map<String, Object> map);
/* */
int addfruits(@Param("map") Map<String, Object> map);
/* */
int deletefruits(@Param("map") Map<String, Object> map);
/* */
int updatefruits(@Param("map") Map<String, Object> map);
}
Dao 인터페이스.XML 파일:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pojo.Dao.fruitsDao">
<select id="getfruitsList" resultType="fruits">
select id,name,price from fruits
</select>
<select id="getfruitsById" parameterType="Map" resultType="fruits">
select id,name,price from fruits where id=#{map.id};
</select>
<insert id="addfruits" parameterType="Map" >
insert into fruits(id,name,price) values (#{map.id},#{map.name},#{map.price});
</insert>
<delete id="deletefruits" parameterType="Map" >
delete from fruits where id=#{map.id};
</delete>
<update id="updatefruits" parameterType="Map" >
update fruits set name=#{map.name},price=#{map.price} where id=#{map.id}
</update>
</mapper>
Test 클래스 에서 테스트 실행:
package com.pojo.Dao;
import com.pojo.pp1.fruits;
import com.utils.mybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* :
*
* @author:LiYansheng
* @date:2021/07/20 22:39
* @version:
*/
public class fruitsDaoTest {
@Test
public void getfruitsListTest() {
SqlSession sqlSession = mybatisUtils.getSqlSession();
fruitsDao fruitsDao = sqlSession.getMapper(com.pojo.Dao.fruitsDao.class);
List<fruits> fruitsList = fruitsDao.getfruitsList();
for (fruits f : fruitsList) {
System.out.println(f);
}
sqlSession.close();
}
@Test
public void getfruitsByIdTest() {
SqlSession sqlSession = mybatisUtils.getSqlSession();
fruitsDao fruitsDao = sqlSession.getMapper(com.pojo.Dao.fruitsDao.class);
Map<String, Object> map = new HashMap<>();
map.put("id", 3);
fruits f = fruitsDao.getfruitsById(map);
System.out.println(f);
sqlSession.close();
}
@Test
public void addfruits() {
SqlSession sqlSession = mybatisUtils.getSqlSession();
fruitsDao fruitsDao = sqlSession.getMapper(com.pojo.Dao.fruitsDao.class);
Map<String, Object> map = new HashMap<>();
map.put("id", 0);
map.put("name", "watermelon");
BigDecimal bigDecimal= BigDecimal.valueOf(2);
map.put("price", bigDecimal);
int a = fruitsDao.addfruits(map);
if (a > 0) {
System.out.println(" ok");
}
sqlSession.commit();
sqlSession.close();
}
@Test
public void deletefruits() {
SqlSession sqlSession = mybatisUtils.getSqlSession();
fruitsDao fruitsDao = sqlSession.getMapper(com.pojo.Dao.fruitsDao.class);
Map<String, Object> map = new HashMap<>();
map.put("id", 3);
int a = fruitsDao.deletefruits(map);
if (a > 0) {
System.out.println(" ok");
}
sqlSession.commit();
sqlSession.close();
}
@Test
public void updatefruits() {
SqlSession sqlSession = mybatisUtils.getSqlSession();
fruitsDao fruitsDao = sqlSession.getMapper(com.pojo.Dao.fruitsDao.class);
Map<String, Object> map = new HashMap<>();
map.put("id", 1);
BigDecimal bigDecimal = BigDecimal.valueOf(5);
map.put("name", "Big_apple");
map.put("price", bigDecimal);
int a = fruitsDao.updatefruits(map);
if (a > 0) {
System.out.println(" ok");
}
sqlSession.commit();
sqlSession.close();
}
}
테스트 결 과 는 모두 통과 할 수 있다.주의해 야 할 점:
번 호 를 표시 하 는 곳 은 두 가지 유형 을 쓰 는 방식 이다.
두 번 째 방식 은 프로젝트 설정 에 resources 에서 my batis-config.xml 파일 에 다음 과 같은 형식 별명 을 추가 해 야 합 니 다.
<typeAliases>
<typeAlias type="java.util.Map" alias="Map"/>
</typeAliases>
두 번 째 방법 을 추천 합 니 다.마 이 바 티 스 에서 만능 맵 을 사용 하여 전 삼 을 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 마 이 바 티 스 맵 전 삼 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SpringMVC와 Mybatis 집합은 호출 저장 프로세스, 사무 제어 실례를 실현한다SSM 프레임워크에서 호출 데이터베이스의 저장 프로세스와 사무 제어에 자주 사용되는데 다음은 증빙서류를 저장하는 예를 들어 소개한다. 1. Oracle에 저장된 프로세스 코드는 다음과 같습니다(주요 논리는 증빙 서류...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.