MyBatis Mapper Configuration for Elderly Care Assessment System

MyBatis Interface Defniition

The ElderlyMapper interface defines all database operations for the assessment system:

package com.elderly.mapper;

import org.apache.ibatis.annotations.Param;
import com.elderly.entity.*;
import java.util.List;

public interface ElderlyMapper {
    int createAccount(@Param("accountId") String accountId, @Param("pwd") String pwd);
    
    Account authenticateUser(@Param("accountId") String accountId, @Param("pwd") String pwd);
    
    int registerBasicInfo(
        @Param("residentId") String residentId,
        @Param("assessmentDate") String assessmentDate,
        @Param("assessmentReason") String assessmentReason,
        @Param("fullName") String fullName,
        @Param("sex") String sex,
        @Param("dateOfBirth") String dateOfBirth,
        @Param("accountId") String accountId,
        @Param("idCard") String idCard,
        @Param("ethnicity") String ethnicity,
        @Param("educationLevel") String educationLevel,
        @Param("religiousBelief") String religiousBelief,
        @Param("maritalStatus") String maritalStatus,
        @Param("livingArrangement") String livingArrangement,
        @Param("medicalCoverage") String medicalCoverage,
        @Param("incomeSource") String incomeSource,
        @Param("history_1") String history_1,
        @Param("history_2") String history_2,
        @Param("history_3") String history_3,
        @Param("incident_1") String incident_1,
        @Param("incident_2") String incident_2,
        @Param("incident_3") String incident_3,
        @Param("incident_4") String incident_4,
        @Param("incident_5") String incident_5,
        @Param("emergencyContact") String emergencyContact,
        @Param("relationToElderly") String relationToElderly,
        @Param("contactPerson") String contactPerson,
        @Param("contactPhone") String contactPhone
    );
    
    int saveDailyLivingScore(
        @Param("accountId") String accountId,
        @Param("feeding") int feeding,
        @Param("grooming") int grooming,
        @Param("dressing") int dressing,
        @Param("toileting") int toileting,
        @Param("bowelControl") int bowelControl,
        @Param("bladderControl") int bladderControl,
        @Param("bedTransfers") int bedTransfers,
        @Param("chairTransfers") int chairTransfers,
        @Param("walking") int walking,
        @Param("stairs") int stairs
    );
    
    int saveCognitiveScore(
        @Param("accountId") String accountId,
        @Param("orientation") int orientation,
        @Param("memory") int memory,
        @Param("attention") int attention
    );
    
    int savePerceptionScore(
        @Param("accountId") String accountId,
        @Param("vision") int vision,
        @Param("hearing") int hearing,
        @Param("touch") int touch,
        @Param("communication") int communication
    );
    
    int saveSocialScore(
        @Param("accountId") String accountId,
        @Param("socialActivities") int socialActivities,
        @Param("workCapacity") int workCapacity,
        @Param("timeOrientation") int timeOrientation,
        @Param("taskCompletion") int taskCompletion,
        @Param("interpersonalRelations") int interpersonalRelations
    );
    
    List<DailyLivingEntity> queryDailyLiving(@Param("accountId") String accountId);
    
    List<CognitiveEntity> queryCognitive(@Param("accountId") String accountId);
    
    List<PerceptionEntity> queryPerception(@Param("accountId") String accountId);
    
    List<SocialEntity> querySocial(@Param("accountId") String accountId);
    
    BasicInfo queryBasicInfoByAccount(@Param("accountId") String accountId);
    
    BasicInfo queryBasicInfoByContact(@Param("contactPerson") String contactPerson, @Param("contactPhone") String contactPhone);
    
    BasicInfo queryBasicInfoCombined(@Param("accountId") String accountId, @Param("contactPhone") String contactPhone);
    
    int verifyUniqueRecord(
        @Param("residentId") String residentId,
        @Param("assessmentDate") String assessmentDate,
        @Param("fullName") String fullName,
        @Param("sex") String sex,
        @Param("accountId") String accountId,
        @Param("idCard") String idCard
    );
    
    int saveComprehensiveAbility(
        @Param("accountId") String accountId,
        @Param("dailyLivingScore") String dailyLivingScore,
        @Param("cognitiveScore") String cognitiveScore,
        @Param("perceptionScore") String perceptionScore,
        @Param("socialScore") String socialScore,
        @Param("levelOneResult") String levelOneResult,
        @Param("movementScore") String movementScore,
        @Param("levelTwoResult") String levelTwoResult,
        @Param("firstReviewer") String firstReviewer,
        @Param("secondReviewer") String secondReviewer,
        @Param("institution") String institution,
        @Param("assessmentDate") String assessmentDate
    );
    
    ComprehensiveAbility queryComprehensiveAbility(@Param("accountId") String accountId);
}

MyBatis XML Mapping Configuration

<?xml version="1.0" encoding="UTF-8" ?>

<mapper namespace="com.elderly.mapper.ElderlyMapper">

    <insert id="createAccount">
        INSERT INTO accounts(account_id, password) VALUES (#{accountId}, #{pwd});
    </insert>
    
    <insert id="registerBasicInfo">
        INSERT INTO basic_info(
            resident_id, assessment_date, assessment_reason, full_name, sex, 
            date_of_birth, account_id, id_card, ethnicity, education_level, 
            religious_belief, marital_status, living_arrangement, medical_coverage, 
            income_source, history_1, history_2, history_3, incident_1, incident_2, 
            incident_3, incident_4, incident_5, emergency_contact, relation_to_elderly, 
            contact_person, contact_phone
        ) VALUES (
            #{residentId}, #{assessmentDate}, #{assessmentReason}, #{fullName}, #{sex},
            #{dateOfBirth}, #{accountId}, #{idCard}, #{ethnicity}, #{educationLevel},
            #{religiousBelief}, #{maritalStatus}, #{livingArrangement}, #{medicalCoverage},
            #{incomeSource}, #{history_1}, #{history_2}, #{history_3}, #{incident_1}, #{incident_2},
            #{incident_3}, #{incident_4}, #{incident_5}, #{emergencyContact}, #{relationToElderly},
            #{contactPerson}, #{contactPhone}
        );
    </insert>
    
    <insert id="saveDailyLivingScore">
        INSERT INTO daily_living(
            account_id, feeding, grooming, dressing, toileting, 
            bowel_control, bladder_control, bed_transfers, chair_transfers, 
            walking, stairs
        ) VALUES (
            #{accountId}, #{feeding}, #{grooming}, #{dressing}, #{toileting},
            #{bowelControl}, #{bladderControl}, #{bedTransfers}, #{chairTransfers},
            #{walking}, #{stairs}
        );
    </insert>
    
    <insert id="saveCognitiveScore">
        INSERT INTO cognitive_assessment(account_id, orientation, memory, attention)
        VALUES (#{accountId}, #{orientation}, #{memory}, #{attention});
    </insert>
    
    <insert id="savePerceptionScore">
        INSERT INTO perception_assessment(account_id, vision, hearing, touch, communication)
        VALUES (#{accountId}, #{vision}, #{hearing}, #{touch}, #{communication});
    </insert>
    
    <insert id="saveSocialScore">
        INSERT INTO social_assessment(account_id, social_activities, work_capacity, time_orientation, task_completion, interpersonal_relations)
        VALUES (#{accountId}, #{socialActivities}, #{workCapacity}, #{timeOrientation}, #{taskCompletion}, #{interpersonalRelations});
    </insert>
    
    <insert id="saveComprehensiveAbility">
        INSERT INTO comprehensive_ability(
            account_id, daily_living_score, cognitive_score, perception_score, 
            social_score, level_one_result, movement_score, level_two_result, 
            first_reviewer, second_reviewer, institution, assessment_date
        ) VALUES (
            #{accountId}, #{dailyLivingScore}, #{cognitiveScore}, #{perceptionScore},
            #{socialScore}, #{levelOneResult}, #{movementScore}, #{levelTwoResult},
            #{firstReviewer}, #{secondReviewer}, #{institution}, #{assessmentDate}
        );
    </insert>
    
    <select id="authenticateUser" resultType="com.elderly.entity.Account">
        SELECT * FROM accounts WHERE account_id = #{accountId} AND password = #{pwd};
    </select>
    
    <select id="queryDailyLiving" resultType="com.elderly.entity.DailyLivingEntity">
        SELECT * FROM daily_living WHERE account_id = #{accountId};
    </select>
    
    <select id="queryCognitive" resultType="com.elderly.entity.CognitiveEntity">
        SELECT * FROM cognitive_assessment WHERE account_id = #{accountId};
    </select>
    
    <select id="queryPerception" resultType="com.elderly.entity.PerceptionEntity">
        SELECT * FROM perception_assessment WHERE account_id = #{accountId};
    </select>
    
    <select id="querySocial" resultType="com.elderly.entity.SocialEntity">
        SELECT * FROM social_assessment WHERE account_id = #{accountId};
    </select>
    
    <select id="queryBasicInfoByAccount" resultType="com.elderly.entity.BasicInfo">
        SELECT * FROM basic_info WHERE account_id = #{accountId};
    </select>
    
    <select id="queryBasicInfoByContact" resultType="com.elderly.entity.BasicInfo">
        SELECT * FROM basic_info WHERE contact_phone = #{contactPhone};
    </select>
    
    <select id="queryBasicInfoCombined" resultType="com.elderly.entity.BasicInfo">
        SELECT * FROM basic_info WHERE account_id = #{accountId} AND contact_phone = #{contactPhone};
    </select>
    
    <select id="verifyUniqueRecord" resultType="int">
        SELECT COUNT(*) FROM records_registry
        WHERE resident_id = #{residentId}
           OR assessment_date = #{assessmentDate}
           OR full_name = #{fullName}
           OR sex = #{sex}
           OR account_id = #{accountId}
           OR id_card = #{idCard}
    </select>
    
    <select id="queryComprehensiveAbility" resultType="com.elderly.entity.ComprehensiveAbility">
        SELECT * FROM comprehensive_ability WHERE account_id = #{accountId};
    </select>
</mapper>

Tags: MyBatis java Elderly Care Assessment System Mapper

Posted on Wed, 22 Jul 2026 16:56:10 +0000 by zuessh