Mybatis의 일대일, 일대다, 다중 구성 원칙 예시 코드
MyBatis는 맞춤형 SQL, 저장 프로세스, 고급 매핑을 지원하는 우수한 지구층 프레임워크입니다.MyBatis는 거의 모든 JDBC 코드와 수동으로 파라미터를 설정하고 결과 집합을 가져오는 것을 피합니다.MyBatis는 구성과 원본 맵에 간단한 XML이나 주석을 사용하여 인터페이스와 자바의 POJOS(Plain Old Java Objects, 일반 자바 대상)를 데이터베이스에 비추는 기록을 사용할 수 있습니다.
표: market_plan(사용자 관련 마케팅 프로그램)
market_plan_제품(제품 관련 마케팅 계획)
market_plan_label(레이블 관련 마케팅 계획)
market_plan_ideadata(창의 소재 관련 마케팅 계획)
user_ideadata_activity(활동 관련 사용자, 활동 관련 창의 소재표)
user(사용자 테이블)
설정 원칙: A연관B, A의resultMap연관(association)을 B의resultMap에 연결합니다. 이렇게 해야만 관련 조회 sql문장을 쓸 때 A, B표의 속성을 조회할 수 있습니다.여러 장의 시계의 연관성도 마찬가지다!
xml 예제 구성:
<resultMap id="userResultMap" type="com.mchuan.fastmarketplat.b.entity.User">
<id column="USER_ID" property="id" />
<result column="ACCOUNT" property="account" />
<result column="NAME" property="name" />
<result column="MOBILE" property="mobile" />
</resultMap>
<resultMap id="labelResultMap"
type="com.mchuan.fastmarketplat.b.entity.MarketPlanLabel">
<id property="id" column="LABEL_ID" />
<result property="gender" column="GENDER" />
<result property="area" column="AREA" />
<result property="age" column="AGE" />
<result property="deviceType" column="DEVICE_TYPE" />
<result property="communicationFee" column="COMMUNICATION_FEE" />
<result property="actionLabels" column="ACTION_LABELS" />
<result property="netScene" column="NET_SCENE" />
</resultMap>
<resultMap id="productResultMap"
type="com.mchuan.fastmarketplat.b.entity.MarketPlanProduct">
<id property="id" column="PRODUCT_ID" />
<result property="coverAmount" column="COVER_AMOUNT" />
</resultMap>
<resultMap id="activityResultMap"
type="com.mchuan.fastmarketplat.b.entity.UserActivity">
<id column="AC_ID" property="id" />
<result column="ACTIVITY_ID" property="activityId" jdbcType="INTEGER" />
<result column="COVER_URL" property="coverUrl" jdbcType="VARCHAR" />
<result column="ACTIVITY_URL" property="activityUrl" jdbcType="VARCHAR" />
<result column="VIEW_URL" property="viewUrl" jdbcType="VARCHAR" />
<result column="CREATE_TIME" property="createTime" />
<result column="UPDATE_TIME" property="updateTime" />
</resultMap>
<resultMap id="ideaDataResultMap"
type="com.mchuan.fastmarketplat.b.entity.MarketPlanIdeaData">
<id property="id" column="IDEA_DATA_ID" />
<result property="content" column="CONTENT" />
<result property="linkUrl" column="LINK_URL" />
<!-- ideaData -->
<association property="userActivity"
javaType="com.mchuan.fastmarketplat.b.entity.UserActivity" resultMap="activityResultMap" />
</resultMap>
<resultMap id="BaseResultMap" type="com.mchuan.fastmarketplat.b.entity.MarketPlan">
<id column="ID" property="id" jdbcType="INTEGER" />
<result column="PLAN_NAME" property="planName" jdbcType="VARCHAR" />
<result column="BUDGET" property="budget" jdbcType="DECIMAL" />
<result column="ACTUAL_BUDGET" property="actualBudget"
jdbcType="DECIMAL" />
<result column="DEMAND_TYPE" property="demandType" jdbcType="VARCHAR" />
<result column="START_DATE" property="startDate" />
<result column="END_DATE" property="endDate" />
<result column="CREATE_STATUS" property="createStatus"
jdbcType="INTEGER" />
<result column="CREATE_TIME" property="createTime" />
<result column="UPDATE_TIME" property="updateTime" />
<result column="NOTE" property="note" jdbcType="VARCHAR" />
<result column="STATUS" property="status" jdbcType="INTEGER" />
<result column="DESTPAGE_URL" property="destpageUrl" jdbcType="VARCHAR" />
<result column="IS_AWARD" property="isAward" jdbcType="INTEGER" />
<result column="AWARD_MONEY" property="awardMoney" jdbcType="DECIMAL" />
<result column="ADVERTISER" property="advertiser" jdbcType="VARCHAR" />
<result column="INDUSTRY" property="industry" jdbcType="INTEGER" />
<!-- marketPlan -->
<association property="user"
javaType="com.mchuan.fastmarketplat.b.entity.User" resultMap="userResultMap" />
<association property="marketPlanLabel"
javaType="com.mchuan.fastmarketplat.b.entity.MarketPlanLabel"
resultMap="labelResultMap" />
<association property="marketPlanProduct"
javaType="com.mchuan.fastmarketplat.b.entity.MarketPlanProduct"
resultMap="productResultMap" />
<association property="marketPlanIdeaData"
javaType="com.mchuan.fastmarketplat.b.entity.MarketPlanIdeaData"
resultMap="ideaDataResultMap" />
</resultMap>
위에서 말한 것은 편집자가 여러분께 소개한 Mybatis 중의 일대일, 일대다, 다대다 설정 원칙의 예시 코드입니다. 여러분께 도움이 되기를 바랍니다. 만약에 궁금한 점이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 여러분에게 회답할 것입니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL/마이바티스 | 동적 쿼리 사용A라는 서비스에 해당하는 테이블을 조인하고 조회하는 데 사용됩니다. 나중에 공통화를 위해 B 및 C 서비스도 추가됩니다. A, B, C 서비스는 모두 단일 쿼리에서 작동할 수 있도록 공통화되어야 합니다. 테이블에 각...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.