MyBatis在springboot中两种使用方式

2017-11-09  本文已影响0人  墨色尘埃

第一种:NMtyzwkMapper → NMtyzwkMapper.xml → xxControl/java类
NMtyzwkMapper类中定义好方法

public interface NMtyzwkMapper {
    /*
     * 获得班组下的所有人员信息 综调
     */
    List<StaffModel> getZDUserByOrgName(String orgId);

}

NMtyzwkMapper.xml中实现数据库增删改查操作

    <resultMap type="com.jsptpd.zhywserver.supportsystemservice.model.tyzwk.StaffModel" id="resultListStaffModel">
        <result column="STAFF_ID" property="STAFF_ID"/>
        <result column="STAFF_NAME" property="STAFF_NAME"/>
        <result column="USERNAME" property="USERNAME"/>
    </resultMap>

    <select id="getZDUserByOrgName" resultMap="resultListStaffModel">
        SELECT d.STAFF_ID,d.STAFF_NAME,d.USERNAME FROM NM_TBK.UOS_JOB_STAFF_CNST a,NM_TBK.UOS_JOB_CNST b,NM_TBK.UOS_ORG_CNST c,NM_TBK.UOS_STAFF_CNST d
          WHERE c.ORG_ID = #{0}
            AND c.ORG_ID = b.ORG_ID
            AND b.JOB_ID = a.JOB_ID
            AND a.STAFF_ID = d.STAFF_ID
            AND a.STATE = 1
            AND a.IS_NORMAL = 1
            AND b.STATE = 1
            AND c.STATE = 1
            AND d.STATE = 1
    </select>

xxControl/java中使用接口NMtyzwkMapper中的方法

    /*
     * 获得班组下的所有人员信息 综调
     */
    public List<IdValue> getZDUserByOrgName(String orgId) {
        List<IdValue> staffList = new ArrayList<IdValue>();
        List<StaffModel> staffModelList = new ArrayList<StaffModel>();
        staffModelList = nMtyzwkMapper.getZDUserByOrgName(orgId);
        if (staffModelList.size() > 0) {
            for (StaffModel staffModel : staffModelList) {
                IdValue staff = new IdValue();
                staff.setId(staffModel.getUSERNAME() + " " + staffModel.getSTAFF_ID());
                staff.setValue(staffModel.getSTAFF_NAME());
                staffList.add(staff);
            }
        }
        return staffList;
    }

第二种:HouseDesignMapper → xxControl/java类
HouseDesignMapper中方法上方加上增删改查标识

/**
 * Created by HASEE on 2017/11/1.
 * 智慧家庭设计页面:户型设计
 */
@Mapper
public interface HouseDesignMapper {

    /**
     * 如果是新增户型,在新增户型之前进行查询,保证户型唯一性
     * 如果存在则提示失败
     * 如果不存在进行插入操作
     */
    @Select("SELECT HOUSE_DESIGN_NAME FROM HOUSE_DESIGN WHERE HOUSE_DESIGN_NAME =#{houseDesignName}")
    String getHouseDesignName(String houseDesignName);


    /**
     * 保存户型
     */
    @Insert("INSERT INTO HOUSE_DESIGN (\n" +
            "\tHOUSE_DESIGN_ID,\n" +
            "\tHOUSE_DESIGN_NAME,\n" +
            "\tSOURCE_TYPE,\n" +
            "\tCREATE_TIME,\n" +
            "\tCREATE_USER_ID,\n" +
            "\tCREATE_USER_NAME,\n" +
            "\tHOUSE_DESIGN_DATA,\n" +
            "\tUPDATE_TIME\n" +
            ")\n" +
            "VALUES\n" +
            "\t(\n" +
            "\t\t#{houseDesignId, jdbcType=VARCHAR},\n" +
            "\t\t#{houseDesignName, jdbcType=VARCHAR},\n" +
            "\t\t#{sourceType, jdbcType=VARCHAR},\n" +
            "\t\t#{createTime,jdbcType=TIMESTAMP},\n" +
            "\t\t#{createUserId, jdbcType=VARCHAR},\n" +
            "\t\t#{createUserName, jdbcType=VARCHAR},\n" +
            "\t\t#{houseDesignData, jdbcType=VARCHAR},\n" +
            "\t\t#{updateTime,jdbcType=TIMESTAMP}\n" +
            "\t)")
    int saveHouseDesignData(@Param("houseDesignId") String houseDesignId,
                            @Param("houseDesignName") String houseDesignName,
                            @Param("sourceType") String sourceType,
                            @Param("createTime") Date createTime,
                            @Param("createUserId") String createUserId,
                            @Param("createUserName") String createUserName,
                            @Param("houseDesignData") String houseDesignData,
                            @Param("updateTime") Date updateTime);

    /**
     * 更新户型
     */
    @Update("UPDATE HOUSE_DESIGN\n" +
            "SET SOURCE_TYPE = #{sourceType, jdbcType=VARCHAR},\n" +
            " CREATE_USER_ID = #{createUserId, jdbcType=VARCHAR},\n" +
            " CREATE_USER_NAME = #{createUserName, jdbcType=VARCHAR},\n" +
            " HOUSE_DESIGN_DATA = #{houseDesignData, jdbcType=VARCHAR},\n" +
            " UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP}\n" +
            "WHERE\n" +
            "\tHOUSE_DESIGN_NAME = #{houseDesignName, jdbcType=VARCHAR}")
    int updateHouseDesignData(@Param("sourceType") String sourceType,
                              @Param("createUserId") String createUserId,
                              @Param("createUserName") String createUserName,
                              @Param("houseDesignData") String houseDesignData,
                              @Param("updateTime") Date updateTime,
                              @Param("houseDesignName") String houseDesignName);


    /**
     * 获取户型信息列表
     * 户型信息HOUSE_DESIGN_DATA字段不需要,信息量太大
     */
    @Select("SELECT\n" +
            "\tHOUSE_DESIGN_ID,\n" +
            "\tHOUSE_DESIGN_NAME,\n" +
            "\tSOURCE_TYPE,\n" +
            "\tCREATE_TIME,\n" +
            "\tCREATE_USER_ID,\n" +
            "\tCREATE_USER_NAME,\n" +
            "\tUPDATE_TIME\n" +
            "FROM\n" +
            "\tHOUSE_DESIGN")
    List<HouseDesign> getHouseDesignList();


    /**
     * 删除户型信息
     */
    @Delete("DELETE FROM HOUSE_DESIGN WHERE HOUSE_DESIGN_ID=#{houseDesignId, jdbcType=VARCHAR}")
    int deleteHouseDesgin(@Param("houseDesignId") String houseDesignId);


    /**
     * 获取某一户型信息
     */
    @Select("SELECT * FROM HOUSE_DESIGN WHERE HOUSE_DESIGN_ID=#{houseDesignId, jdbcType=VARCHAR}")
    HouseDesign getOneHouseDesign(@Param("houseDesignId") String houseDesignId);


    /**
     * 保存智慧家庭组网数据之前先查询
     * 如果存在则更新
     * 如果不存在则插入
     *
     * @param workOrderId
     * @return
     */
    @Select("SELECT SMART_HOUSE_ID FROM SMART_HOUSE WHERE WORK_ORDER_ID=#{workOrderId, jdbcType=VARCHAR}")
    String selectSmartHouseData(@Param("workOrderId") String workOrderId);

    /**
     * 保存智慧家庭组网数据
     */
    @Insert("INSERT INTO SMART_HOUSE (\n" +
            "\tSMART_HOUSE_ID,\n" +
            "\tWORK_ORDER_ID,\n" +
            "\tSMART_HOUSE_DATA,\n" +
            "\tCREATE_TIME,\n" +
            "\tCREATE_USER_ID,\n" +
            "\tCREATE_USER_NAME,\n" +
            "\tUPDATE_TIME\n" +
            ")\n" +
            "VALUES\n" +
            "\t(\n" +
            "\t\t#{smartHouseId, jdbcType=VARCHAR},\n" +
            "\t\t#{workOrderId, jdbcType=VARCHAR},\n" +
            "\t\t#{smartHouseData, jdbcType=VARCHAR},\n" +
            "\t\t#{createTime,jdbcType=TIMESTAMP},\n" +
            "\t\t#{createUserId, jdbcType=VARCHAR},\n" +
            "\t\t#{createUserName, jdbcType=VARCHAR},\n" +
            "\t\t#{updateTime,jdbcType=TIMESTAMP}\n" +
            "\t)")
    int saveSmartHouseData(@Param("smartHouseId") String smartHouseId,
                           @Param("workOrderId") String workOrderId,
                           @Param("smartHouseData") String smartHouseData,
                           @Param("createTime") Date createTime,
                           @Param("createUserId") String createUserId,
                           @Param("createUserName") String createUserName,
                           @Param("updateTime") Date updateTime);


    /**
     * 更新智慧家庭组网数据
     *
     * @param smartHouseData
     * @param updateTime
     * @param workOrderId
     * @return
     */
    @Update("UPDATE SMART_HOUSE\n" +
            "SET SMART_HOUSE_DATA = #{smartHouseData, jdbcType=VARCHAR},\n" +
            " UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP}\n" +
            "WHERE\n" +
            "\tWORK_ORDER_ID = #{workOrderId, jdbcType=VARCHAR}")
    int updateSmartHouseData(@Param("smartHouseData") String smartHouseData,
                             @Param("updateTime") Date updateTime,
                             @Param("workOrderId") String workOrderId);


    /**
     * 获取智慧家庭组网数据
     */
    @Select("SELECT\n" +
            "\tSMART_HOUSE_ID,\n" +
            "\tWORK_ORDER_ID,\n" +
            "\tCREATE_TIME,\n" +
            "\tCREATE_USER_ID,\n" +
            "\tCREATE_USER_NAME,\n" +
            "\tUPDATE_TIME\n" +
            "FROM\n" +
            "\tSMART_HOUSE")
    List<SmartHouse> getSmartHouseData();

}

WisdomHomeImp中使用接口类HouseDesignMapper中的方法

package com.jsptpd.zhywserver.implinterface;

import com.jsptpd.zhywserver.dao.HouseDesignMapper;
import com.jsptpd.zhywserver.model.WisdomHome.HouseDesign;
import com.jsptpd.zhywserver.model.WisdomHome.SmartHouse;
import com.jsptpd.zhywserver.ointerface.IWisdomHome;
import com.jsptpd.zhywserver.supportsystemservice.model.tyzwk.UserInfo;
import com.jsptpd.zhywserver.util.TimeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.UUID;

import javax.servlet.http.HttpSession;

/**
 * Created by HASEE on 2017/11/2.
 */
@Component
public class WisdomHomeImp implements IWisdomHome {

    @Autowired
    HouseDesignMapper houseDesignMapper;

    @Autowired
    HttpSession session;

    public UserInfo getUserInfo() {
        return (UserInfo) session.getAttribute("userInfo");
    }


    /**
     * 保存户型
     * isNew    是否新增
     * houseDesignName  户型名称
     * houseDesignData  户型数据
     */
    @Override
    public String saveHouseDesignData(boolean isNew, String houseDesignName, String houseDesignData) {
        String houseDesignId = UUID.randomUUID().toString();  //变化中的
        UserInfo userInfo = getUserInfo();
        Date createTime = TimeUtil.getNow();
        String createUserId = String.valueOf(userInfo.getZdStaffId());
        String createUserName = userInfo.getUserName();

        if (isNew) {  //新增
            /**
             * 如果是新增户型,在新增户型之前进行查询,保证户型唯一性
             * 如果存在则提示失败
             * 如果不存在进行插入操作
             */
            String houseDesignName1 = houseDesignMapper.getHouseDesignName(houseDesignName);
            if (houseDesignName1 != null && !"".equals(houseDesignName1)) {  //如果存在则提示失败
                return "户型已存在";
            } else {  //如果不存在进行插入操作
                int i = houseDesignMapper.saveHouseDesignData(houseDesignId, houseDesignName, "",
                        createTime, createUserId, createUserName, houseDesignData, createTime);
                if (i == 1) {
                    return "成功";
                } else {
                    return "失败";
                }
            }
        } else {  //更新
            // TODO: 2017/11/2
            Date updateTime = TimeUtil.getNow();
            int i = houseDesignMapper.updateHouseDesignData("", createUserId,
                    createUserName, houseDesignData, updateTime, houseDesignName);
            if (i == 1) {
                return "更新成功";
            } else {
                return "更新失败";
            }
        }
    }

    /**
     * 获取户型信息列表
     * 户型信息HOUSE_DESIGN_DATA字段不需要,信息量太大
     */
    @Override
    public List<HouseDesign> getHouseDesignList() {
        List<HouseDesign> houseDesignList = houseDesignMapper.getHouseDesignList();
        return houseDesignList;
    }

    /**
     * 删除户型信息
     */
    @Override
    public String deleteHouseDesgin(String houseDesignId) {
        int s = houseDesignMapper.deleteHouseDesgin(houseDesignId);
        if (s == 1) {
            return "删除成功";
        } else {
            return "删除失败";
        }
    }

    /**
     * 获取某一户型信息
     */
    @Override
    public HouseDesign getOneHouseDesign(String houseDesignId) {
        HouseDesign oneHouseDesign = houseDesignMapper.getOneHouseDesign(houseDesignId);
        return oneHouseDesign;
    }

    /**
     * 保存智慧家庭组网数据
     */
    @Override
    public String saveSmartHouseData(String workOrderId, String smartHouseData) {
        String s = houseDesignMapper.selectSmartHouseData(workOrderId);
        if (s != null && !"".equals(s)) {//查询成功,执行更新操作
            Date updateTime = TimeUtil.getNow();
            int i1 = houseDesignMapper.updateSmartHouseData(smartHouseData, updateTime, workOrderId);
            if (i1 == 1) {
                return "更新成功";
            } else {
                return "更新失败";
            }
        } else {//查询失败,执行新增操作
            String smartHouseId = UUID.randomUUID().toString();
            Date createTime = TimeUtil.getNow();
            UserInfo userInfo = getUserInfo();
            String createUserId = String.valueOf(userInfo.getZdStaffId());
            String createUserName = userInfo.getUserName();
            int i1 = houseDesignMapper.saveSmartHouseData(smartHouseId, workOrderId, smartHouseData,
                    createTime, createUserId, createUserName, createTime);
            if (i1 == 1) {
                return "保存成功";
            } else {
                return "保存失败";
            }
        }
    }

    /**
     * 获取智慧家庭组网数据
     * 户型信息HOUSE_DESIGN_DATA字段不需要,信息量太大
     */
    @Override
    public List<SmartHouse> getSmartHouseData() {
        List<SmartHouse> smartHouseData = houseDesignMapper.getSmartHouseData();
        return smartHouseData;
    }


}

上一篇 下一篇

猜你喜欢

热点阅读