若依分离版SQL Server开发和使用教程

        若依分离版MS SQLServer项目工程地址[官方推荐]如下所示,但下载到本地运行时,遇到一些问题,已整理出来,分享需要的朋友,偶已复制到自己的码云,修改发布执行的问题,可以去我的码云去下载。

https://gitee.com/qu_bing/ruoyi-vue-plus-sqlserver

1. sys_menu表中的将菜单ID修改为自动ID,解决不能增加菜单的问题,操作流程如下:

解决方案如下

菜单栏->工具->选项

点击设计器,去掉阻止保存要求更新创建表的更改选项,点确认既可以保存了 

2 自动生成代码找不表的解决方案

 2.1   必须为表添加MS_Description的属性的值,如所所示

3 打包正式环境,发布到服务器,正常退出报404错误的问题 

4 支持多种数据库的功能

1.在 yml 文件中配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: oracle.jdbc.driver.OracleDriver
        druid:
            # 主库数据源
            master:
                url: jdbc:oracle:thin:@//X.X.X.X:1521/cllect
                username: xxxx
                password: xxxxxx
            # 从库数据源
            slave:
                # 从数据源开关/默认关闭
                enabled: true
                url: jdbc:oracle:thin:@//X.X.X.X:1521/dw
                username: xxxx
                password: xxxxxx

            imes:
                enabled: true
                url: jdbc:oracle:thin:@//X.X.X.X:1521/mb2pd
                username: xxxx
                password: xxxxxx

2.在ruoyi-framework 中 Config/ DruidConfig.java 中
添加
@Bean
    @ConfigurationProperties("spring.datasource.druid.slave")
    @ConditionalOnProperty(prefix = "spring.datasource.druid.slave", name = "enabled", havingValue = "true")
    public DataSource slaveDataSource(DruidProperties druidProperties)
    {
        DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
        return druidProperties.dataSource(dataSource);
    }

    @Bean
    @ConfigurationProperties("spring.datasource.druid.imes")
    @ConditionalOnProperty(prefix = "spring.datasource.druid.imes", name = "enabled", havingValue = "true")
    public DataSource imesDataSource(DruidProperties druidProperties)
    {
        DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
        return druidProperties.dataSource(dataSource);
    }

3.在IMPL 中添加注解 @DataSource(DataSourceType.MES) 
ALTER TABLE `ry-vue-mes`.dv_repair ADD workstation_id BIGINT NULL;
ALTER TABLE `ry-vue-mes`.dv_repair ADD workstation_code varchar(100) NULL COMMENT '设备保养和维修工站';
ALTER TABLE `ry-vue-mes`.dv_repair ADD workstation_name varchar(100) NULL COMMENT '工站名称';
ALTER TABLE `ry-vue-mes`.dv_repair ADD user_id varchar(100) NULL COMMENT '工站工位的责任人ID';
ALTER TABLE `ry-vue-mes`.dv_repair ADD user_name varchar(100) NULL COMMENT '工站工位的责任人帐号';
ALTER TABLE `ry-vue-mes`.dv_repair ADD nick_name varchar(100) NULL COMMENT '工站工位的责任人的姓名';
ALTER TABLE `ry-vue-mes`.dv_repair ADD repair_start_time DATETIME NULL COMMENT '维修开始时间';
ALTER TABLE `ry-vue-mes`.dv_repair ADD repair_end_time DATETIME NULL COMMENT '维修结束时间';
ALTER TABLE `ry-vue-mes`.dv_repair ADD repair_workhour DECIMAL NULL COMMENT '维修工时';
package com.ktg.mes.dv.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.BaseEntity;

/**
 * 设备维修单对象 dv_repair
 *
 * @author brant
 * @date 2024-04-27
 */
public class DvRepair extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 维修单ID
     */
    private Long repairId;

    /**
     * 维修单编号
     */
    @Excel(name = "维修单编号")
    private String repairCode;

    /**
     * 维修单名称
     */
    @Excel(name = "维修单名称")
    private String repairName;

    /**
     * 设备ID
     */
    @Excel(name = "设备ID")
    private Long machineryId;

    /**
     * 设备编码
     */
    @Excel(name = "设备编码")
    private String machineryCode;

    /**
     * 设备名称
     */
    @Excel(name = "设备名称")
    private String machineryName;

    /**
     * 品牌
     */
    @Excel(name = "品牌")
    private String machineryBrand;

    /**
     * 规格型号
     */
    @Excel(name = "规格型号")
    private String machinerySpec;

    /**
     * 设备类型ID
     */
    @Excel(name = "设备类型ID")
    private Long machineryTypeId;

    /**
     * 报修日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报修日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date requireDate;

    /**
     * 维修完成日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "维修完成日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishDate;

    /**
     * 验收日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "验收日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmDate;

    /**
     * 维修结果
     */
    @Excel(name = "维修结果")
    private String repairResult;

    /**
     * 维修人员
     */
    @Excel(name = "维修人员")
    private String acceptedBy;

    private String acceptName;

    /**
     * 验收人员
     */
    @Excel(name = "验收人员")
    private String confirmBy;

    private String confirmName;

    /**
     * 单据状态
     */
    @Excel(name = "单据状态")
    private String status;

    /**
     * 预留字段1
     */
    private String attr1;

    /**
     * 预留字段2
     */
    private String attr2;

    /**
     * 预留字段3
     */
    private Long attr3;

    /**
     * 预留字段4
     */
    private Long attr4;


    @Excel(name = "责任人ID")
    private Long userId;

    @Excel(name = "责任人帐号")
    private String userName;

    @Excel(name = "责任人姓名")
    private String nickName;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Long getWorkstationId() {
        return workstationId;
    }

    public void setWorkstationId(Long workstationId) {
        this.workstationId = workstationId;
    }

    public String getWorkstationCode() {
        return workstationCode;
    }

    public void setWorkstationCode(String workstationCode) {
        this.workstationCode = workstationCode;
    }

    public String getWorkstationName() {
        return workstationName;
    }

    public void setWorkstationName(String workstationName) {
        this.workstationName = workstationName;
    }

    public Date getRepairStartTime() {
        return repairStartTime;
    }

    public void setRepairStartTime(Date repairStartTime) {
        this.repairStartTime = repairStartTime;
    }

    public Date getRepairEndTime() {
        return repairEndTime;
    }

    public void setRepairEndTime(Date repairEndTime) {
        this.repairEndTime = repairEndTime;
    }

    public BigDecimal getRepairWorkhour() {
        return repairWorkhour;
    }

    public void setRepairWorkhour(BigDecimal repairWorkhour) {
        this.repairWorkhour = repairWorkhour;
    }

    @Excel(name = "工站ID")
    private Long workstationId;

    @Excel(name = "工站代码")
    private String workstationCode;

    @Excel(name = "工站名称")
    private String workstationName;


    /**
     * 维修完成日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "维修开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date repairStartTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "维修结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date repairEndTime;


    @Excel(name = "维修所花工时")
    private BigDecimal repairWorkhour;


    public void setRepairId(Long repairId) {
        this.repairId = repairId;
    }

    public Long getRepairId() {
        return repairId;
    }

    public void setRepairCode(String repairCode) {
        this.repairCode = repairCode;
    }

    public String getRepairCode() {
        return repairCode;
    }

    public void setRepairName(String repairName) {
        this.repairName = repairName;
    }

    public String getRepairName() {
        return repairName;
    }

    public void setMachineryId(Long machineryId) {
        this.machineryId = machineryId;
    }

    public Long getMachineryId() {
        return machineryId;
    }

    public void setMachineryCode(String machineryCode) {
        this.machineryCode = machineryCode;
    }

    public String getMachineryCode() {
        return machineryCode;
    }

    public void setMachineryName(String machineryName) {
        this.machineryName = machineryName;
    }

    public String getMachineryName() {
        return machineryName;
    }

    public void setMachineryBrand(String machineryBrand) {
        this.machineryBrand = machineryBrand;
    }

    public String getMachineryBrand() {
        return machineryBrand;
    }

    public void setMachinerySpec(String machinerySpec) {
        this.machinerySpec = machinerySpec;
    }

    public String getMachinerySpec() {
        return machinerySpec;
    }

    public void setMachineryTypeId(Long machineryTypeId) {
        this.machineryTypeId = machineryTypeId;
    }

    public Long getMachineryTypeId() {
        return machineryTypeId;
    }

    public void setRequireDate(Date requireDate) {
        this.requireDate = requireDate;
    }

    public Date getRequireDate() {
        return requireDate;
    }

    public void setFinishDate(Date finishDate) {
        this.finishDate = finishDate;
    }

    public Date getFinishDate() {
        return finishDate;
    }

    public void setConfirmDate(Date confirmDate) {
        this.confirmDate = confirmDate;
    }

    public Date getConfirmDate() {
        return confirmDate;
    }

    public void setRepairResult(String repairResult) {
        this.repairResult = repairResult;
    }

    public String getRepairResult() {
        return repairResult;
    }

    public void setAcceptedBy(String acceptedBy) {
        this.acceptedBy = acceptedBy;
    }

    public String getAcceptedBy() {
        return acceptedBy;
    }

    public void setConfirmBy(String confirmBy) {
        this.confirmBy = confirmBy;
    }

    public String getConfirmBy() {
        return confirmBy;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getAcceptName() {
        return acceptName;
    }

    public void setAcceptName(String acceptName) {
        this.acceptName = acceptName;
    }

    public String getConfirmName() {
        return confirmName;
    }

    public void setConfirmName(String confirmName) {
        this.confirmName = confirmName;
    }

    public String getStatus() {
        return status;
    }

    public void setAttr1(String attr1) {
        this.attr1 = attr1;
    }

    public String getAttr1() {
        return attr1;
    }

    public void setAttr2(String attr2) {
        this.attr2 = attr2;
    }

    public String getAttr2() {
        return attr2;
    }

    public void setAttr3(Long attr3) {
        this.attr3 = attr3;
    }

    public Long getAttr3() {
        return attr3;
    }

    public void setAttr4(Long attr4) {
        this.attr4 = attr4;
    }

    public Long getAttr4() {
        return attr4;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("repairId", getRepairId())
                .append("repairCode", getRepairCode())
                .append("repairName", getRepairName())
                .append("machineryId", getMachineryId())
                .append("machineryCode", getMachineryCode())
                .append("machineryName", getMachineryName())
                .append("machineryBrand", getMachineryBrand())
                .append("machinerySpec", getMachinerySpec())
                .append("machineryTypeId", getMachineryTypeId())
                .append("requireDate", getRequireDate())
                .append("finishDate", getFinishDate())
                .append("confirmDate", getConfirmDate())
                .append("repairResult", getRepairResult())
                .append("acceptedBy", getAcceptedBy())
                .append("confirmBy", getConfirmBy())
                .append("status", getStatus())
                .append("remark", getRemark())
                .append("userId", getUserId())
                .append("userName", getUserName())
                .append("nickName", getNickName())
                .append("workstationId", getWorkstationId())
                .append("workstationCode", getWorkstationCode())
                .append("workstationName", getWorkstationName())
                .append("repairStartTime", getRepairStartTime())
                .append("repairEndTime", getRepairStartTime())
                .append("repairWorkhour", getRepairWorkhour())
                .append("attr1", getAttr1())
                .append("attr2", getAttr2())
                .append("attr3", getAttr3())
                .append("attr4", getAttr4())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
<?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.ktg.mes.dv.mapper.DvRepairMapper">
    
    <resultMap type="DvRepair" id="DvRepairResult">
        <result property="repairId"    column="repair_id"    />
        <result property="repairCode"    column="repair_code"    />
        <result property="repairName"    column="repair_name"    />
        <result property="machineryId"    column="machinery_id"    />
        <result property="machineryCode"    column="machinery_code"    />
        <result property="machineryName"    column="machinery_name"    />
        <result property="machineryBrand"    column="machinery_brand"    />
        <result property="machinerySpec"    column="machinery_spec"    />
        <result property="machineryTypeId"    column="machinery_type_id"    />
        <result property="requireDate"    column="require_date"    />
        <result property="finishDate"    column="finish_date"    />
        <result property="confirmDate"    column="confirm_date"    />
        <result property="repairResult"    column="repair_result"    />
        <result property="acceptedBy"    column="accepted_by"    />
        <result property="confirmBy"    column="confirm_by"    />
        <result property="userId"    column="user_id"    />
        <result property="userName"    column="user_name"    />
        <result property="nickName"    column="nick_name"    />
        <result property="workstationId"    column="workstation_id"    />
        <result property="workstationName"    column="workstation_name"    />
        <result property="workstationCode"    column="workstation_code"    />
        <result property="repairStartTime"    column="repair_start_time"    />
        <result property="repairEndTime"    column="repair_end_time"    />
        <result property="repairWorkhour"    column="repair_workhour"    />
        <result property="status"    column="status"    />
        <result property="remark"    column="remark"    />
        <result property="attr1"    column="attr1"    />
        <result property="attr2"    column="attr2"    />
        <result property="attr3"    column="attr3"    />
        <result property="attr4"    column="attr4"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
    </resultMap>

    <sql id="selectDvRepairVo">
        select repair_id, repair_code, repair_name, machinery_id, machinery_code, machinery_name, machinery_brand, machinery_spec, machinery_type_id, require_date, finish_date, confirm_date, repair_result, accepted_by, confirm_by,user_id,user_name,nick_name,workstation_id,workstation_code,workstation_name,repair_start_time,repair_end_time,repair_workhour, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_repair
    </sql>

    <select id="selectDvRepairList" parameterType="DvRepair" resultMap="DvRepairResult">
        <include refid="selectDvRepairVo"/>
        <where>  
            <if test="repairCode != null  and repairCode != ''"> and repair_code = #{repairCode}</if>
            <if test="repairName != null  and repairName != ''"> and repair_name like concat('%', #{repairName}, '%')</if>
            <if test="machineryId != null "> and machinery_id = #{machineryId}</if>
            <if test="machineryCode != null  and machineryCode != ''"> and machinery_code = #{machineryCode}</if>
            <if test="machineryName != null  and machineryName != ''"> and machinery_name like concat('%', #{machineryName}, '%')</if>
            <if test="machineryBrand != null  and machineryBrand != ''"> and machinery_brand = #{machineryBrand}</if>
            <if test="machinerySpec != null  and machinerySpec != ''"> and machinery_spec = #{machinerySpec}</if>
            <if test="machineryTypeId != null "> and machinery_type_id = #{machineryTypeId}</if>
            <if test="requireDate != null "> and require_date = #{requireDate}</if>
            <if test="finishDate != null "> and finish_date = #{finishDate}</if>
            <if test="confirmDate != null "> and confirm_date = #{confirmDate}</if>
            <if test="repairResult != null  and repairResult != ''"> and repair_result = #{repairResult}</if>
            <if test="acceptedBy != null  and acceptedBy != ''"> and accepted_by = #{acceptedBy}</if>
            <if test="confirmBy != null  and confirmBy != ''"> and confirm_by = #{confirmBy}</if>

            <if test="userId != null "> and user_id = #{userId}</if>
            <if test="userName != null  and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
            <if test="nickName != null  and nickName != ''"> and nick_name like concat('%', #{nickName}, '%')</if>

            <if test="workstationId != null "> and workstation_id = #{workstationId}</if>
            <if test="workstationCode != null  and workstationCode != ''"> and workstation_code like concat('%', #{workstationCode}, '%')</if>
            <if test="workstationName != null  and workstationName != ''"> and workstation_name like concat('%', #{workstationName}, '%')</if>


            <if test="repairStartTime != null "> and repair_start_time = #{repairStartTime}</if>
            <if test="repairEndTime != null "> and repair_end_time = #{repairEndTime}</if>
            <if test="repairWorkhour != null "> and repair_workhour = #{repairWorkhour}</if>


            <if test="status != null  and status != ''"> and status = #{status}</if>
        </where>
    </select>
    
    <select id="selectDvRepairByRepairId" parameterType="Long" resultMap="DvRepairResult">
        <include refid="selectDvRepairVo"/>
        where repair_id = #{repairId}
    </select>

    <select id="checkCodeUnique" parameterType="DvRepair" resultMap="DvRepairResult">
        <include refid="selectDvRepairVo"/>
        where repair_code = #{repairCode} limit 1
    </select>

    <insert id="insertDvRepair" parameterType="DvRepair" useGeneratedKeys="true" keyProperty="repairId">
        insert into dv_repair
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="repairCode != null and repairCode != ''">repair_code,</if>
            <if test="repairName != null">repair_name,</if>
            <if test="machineryId != null">machinery_id,</if>
            <if test="machineryCode != null and machineryCode != ''">machinery_code,</if>
            <if test="machineryName != null and machineryName != ''">machinery_name,</if>
            <if test="machineryBrand != null">machinery_brand,</if>
            <if test="machinerySpec != null">machinery_spec,</if>
            <if test="machineryTypeId != null">machinery_type_id,</if>
            <if test="requireDate != null">require_date,</if>
            <if test="finishDate != null">finish_date,</if>
            <if test="confirmDate != null">confirm_date,</if>
            <if test="repairResult != null">repair_result,</if>
            <if test="acceptedBy != null">accepted_by,</if>
            <if test="confirmBy != null">confirm_by,</if>
            <if test="userId != null">user_id,</if>
            <if test="userName != null">user_name,</if>
            <if test="nickName != null">nick_name,</if>
            <if test="workstationId != null">workstation_id,</if>
            <if test="workstationCode != null">workstation_code,</if>
            <if test="workstationName != null">workstation_name,</if>
            <if test="repairStartTime != null">repair_start_time,</if>
            <if test="repairEndTime != null">repair_end_time,</if>
            <if test="repairWorkhour != null">repair_workhour,</if>
            <if test="status != null">status,</if>
            <if test="remark != null">remark,</if>
            <if test="attr1 != null">attr1,</if>
            <if test="attr2 != null">attr2,</if>
            <if test="attr3 != null">attr3,</if>
            <if test="attr4 != null">attr4,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="repairCode != null and repairCode != ''">#{repairCode},</if>
            <if test="repairName != null">#{repairName},</if>
            <if test="machineryId != null">#{machineryId},</if>
            <if test="machineryCode != null and machineryCode != ''">#{machineryCode},</if>
            <if test="machineryName != null and machineryName != ''">#{machineryName},</if>
            <if test="machineryBrand != null">#{machineryBrand},</if>
            <if test="machinerySpec != null">#{machinerySpec},</if>
            <if test="machineryTypeId != null">#{machineryTypeId},</if>
            <if test="requireDate != null">#{requireDate},</if>
            <if test="finishDate != null">#{finishDate},</if>
            <if test="confirmDate != null">#{confirmDate},</if>
            <if test="repairResult != null">#{repairResult},</if>
            <if test="acceptedBy != null">#{acceptedBy},</if>
            <if test="confirmBy != null">#{confirmBy},</if>
            <if test="userId != null">#{userId},</if>
            <if test="userName != null">#{userName},</if>
            <if test="nickName != null">#{nickName},</if>
            <if test="workstationId != null">#{workstationId},</if>
            <if test="workstationCode != null">#{workstationCode},</if>
            <if test="workstationName != null">#{workstationName},</if>
            <if test="repairStartTime != null">#{repairStartTime},</if>
            <if test="repairEndTime != null">#{repairEndTime},</if>
            <if test="repairWorkhour != null">#{repairWorkhour},</if>
            <if test="status != null">#{status},</if>
            <if test="remark != null">#{remark},</if>
            <if test="attr1 != null">#{attr1},</if>
            <if test="attr2 != null">#{attr2},</if>
            <if test="attr3 != null">#{attr3},</if>
            <if test="attr4 != null">#{attr4},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
         </trim>
    </insert>

    <update id="updateDvRepair" parameterType="DvRepair">
        update dv_repair
        <trim prefix="SET" suffixOverrides=",">
            <if test="repairCode != null and repairCode != ''">repair_code = #{repairCode},</if>
            <if test="repairName != null">repair_name = #{repairName},</if>
            <if test="machineryId != null">machinery_id = #{machineryId},</if>
            <if test="machineryCode != null and machineryCode != ''">machinery_code = #{machineryCode},</if>
            <if test="machineryName != null and machineryName != ''">machinery_name = #{machineryName},</if>
            <if test="machineryBrand != null">machinery_brand = #{machineryBrand},</if>
            <if test="machinerySpec != null">machinery_spec = #{machinerySpec},</if>
            <if test="machineryTypeId != null">machinery_type_id = #{machineryTypeId},</if>
            <if test="requireDate != null">require_date = #{requireDate},</if>
            <if test="finishDate != null">finish_date = #{finishDate},</if>
            <if test="confirmDate != null">confirm_date = #{confirmDate},</if>
            <if test="repairResult != null">repair_result = #{repairResult},</if>
            <if test="acceptedBy != null">accepted_by = #{acceptedBy},</if>
            <if test="confirmBy != null">confirm_by = #{confirmBy},</if>
            <if test="userId != null">user_id=#{userId},</if>
            <if test="userName != null">user_name=#{userName},</if>
            <if test="nickName != null">nick_name=#{nickName},</if>
            <if test="workstationId != null">workstation_id=#{workstationId},</if>
            <if test="workstationCode != null">workstation_code=#{workstationCode},</if>
            <if test="workstationName != null">workstation_name=#{workstationName},</if>
            <if test="repairStartTime != null">repair_start_time=#{repairStartTime},</if>
            <if test="repairEndTime != null">repair_end_time=#{repairEndTime},</if>
            <if test="repairWorkhour != null">repair_workhour=#{repairWorkhour},</if>
            <if test="status != null">status = #{status},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="attr1 != null">attr1 = #{attr1},</if>
            <if test="attr2 != null">attr2 = #{attr2},</if>
            <if test="attr3 != null">attr3 = #{attr3},</if>
            <if test="attr4 != null">attr4 = #{attr4},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
        </trim>
        where repair_id = #{repairId}
    </update>

    <delete id="deleteDvRepairByRepairId" parameterType="Long">
        delete from dv_repair where repair_id = #{repairId}
    </delete>

    <delete id="deleteDvRepairByRepairIds" parameterType="String">
        delete from dv_repair where repair_id in 
        <foreach item="repairId" collection="array" open="(" separator="," close=")">
            #{repairId}
        </foreach>
    </delete>
</mapper>

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 若依分离 sqlserver指的是将MSSQL Server的不同组件分离出来进行独立安装和部署的解决方案。采用这种方案可以提高系统的灵活性和可维护性,同时也能够降低系统的故障率,提高系统的容错能力。 若依分离 sqlserver可以分为三个组件,分别是数据库引擎(database engine)、分析服务(analysis services)和报表服务(reporting services)。数据库引擎是MSSQL Server最核心的组件,负责管理数据库的存储和管理,为各种应用程序提供数据存储和查询服务;分析服务是基于OLAP技术的服务,为用户提供高效的数据分析工具;报表服务则提供了一些丰富的报表设计和发布工具,为企业的业务决策提供了重要的支持。 采用若依分离 sqlserver,可以根据需要仅安装需要的组件,节省系统资源开销;同时也可以分别对不同的组件进行升级和维护,降低了部署和维护的难度和繁琐程度。在具有较高业务应用性能的情况下,采用该解决方案可以进一步提高性能并优化用户体验。 总之,若依分离 sqlserver是一种更加灵活和可维护的方案,可以为企业提供更加优质的数据存储和管理服务,为用户提供更加高效的数据分析和决策支持。 ### 回答2: 若依分离 sqlserver,是指若依信息技术有限公司开发的一款优秀的数据库管理系统。该系统采用分离式存储架构,将数据和查询分别存储于不同的计算机上,实现了高效的数据管理和查询功能。 首先,若依分离 sqlserver具有出色的数据管理能力。它能够对数据进行高效储存、备份、恢复和同步等管理操作,大大减少了人工管理的工作量和数据管理的出错概率。同时,它还支持数据加密和权限控制等安全特性,提高了数据管理的可靠性和安全性。 其次,若依分离 sqlserver具有高效的查询功能。它采用了多种查询优化技术,提高了查询的速度和质量。其中,索引、分区和统计分析等特性,可以让查询结果更为精确、更快速。 最后,若依分离 sqlserver还具有出色的可扩展性和稳定性。它支持多种操作系统和数据格式,并已通过了多次测试和认证。此外,它还提供了诸多兼容性特性,可以方便地与其他软件集成。 总之,若依分离 sqlserver是一款出色的数据库管理系统。无论是在数据管理、查询功能还是可扩展性和稳定性方面,它都能够表现出色,值得广大用户使用。 ### 回答3: 若依分离SQL Server是一种轻量级的SQL服务器解决方案,其主要特点是将SQL服务器拆分成多个独立的部分,使其更加灵活、可配置和可扩展。 这种分离机制包括三个主要部分:前端、后端和数据库前端负责接收和处理用户请求,后端负责处理数据库操作,而数据库则是实际存储数据的地方。这种分离机制可以轻松地对数据库进行扩展和优化,同时可以更好地处理大量的数据请求。 另外,若依分离SQL Server还包括一系列插件,这些插件可以帮助用户更好地监控和管理SQL服务器。这些插件包括:性能监控插件、日志查询插件、SQL执行计划插件、安全性插件等。 若依分离SQL Server在云计算、大数据、物联网、人工智能等领域都拥有广泛的应用,其轻量级的特征和高效的性能让其在这些领域中大放异彩。此外,由于其灵活性和可配置性,若依分离SQL Server还可以很好地集成到现有的技术栈中,实现更精细的数据处理,提升数据生产力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值