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;
}
}