参考

本文介绍了一个使用layui框架实现的商品管理前端界面设计方案,包括商品信息的展示、添加、编辑及删除等功能,并集成了图片上传模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端

goodsadmin

<!--<!DOCTYPE html>-->
<!--<html>-->
<!--<meta charset="utf-8">-->

<!-- 商品表 -->
<div style="margin-bottom: 5px"></div>
<!--<link rel="stylesheet" href="layui/css/layui.css">-->
<div class="layui-btn-group demoTable1">
    <button class="layui-btn" data-type="add">添加</button>
</div>
<table class="layui-table" id="tbGoods" lay-filter="tbGoods"></table>
<script type="text/html" id="goods_operation">
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

<!-- 大小规格表 -->
<div style="margin-bottom: 5px"></div>
<div class="layui-btn-group demoTable2">
    <button class="layui-btn" data-type="add">添加</button>
</div>
<table class="layui-table" id="tbSpecs" lay-filter="tbSpecs"></table>
<script type="text/html" id="specs_operation">
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

<div class="layui-form" lay-filter="uploadform" id="uploadform" style="padding: 20px 30px 0 0;" enctype="multipart/form-data">

    <div class="layui-form-item">
        <label class="layui-form-label">图片上传</label>
        <div class="layui-input-inline">
            <input type="file" name="uploadfile">
        </div>
    </div>

</div>

<!--<script src="layui/layui.js"></script>-->
<script>
    var table = null;
    var row = null;
    layui.use(['table','jquery','layer'], function(){
        table = layui.table;
        var $ = layui.jquery;
        var layer = layui.layer;

        table.render({
            elem: '#tbGoods'
            ,url: 'http://localhost:9011/goodsadmin/findAll' //数据接口
            ,cellMinWidth: 50 // 全局定义常规单元格的最小宽度
            ,parseData: function (res) {
                return {
                    "code": res.code,
                    "msg": res.message,
                    "count": res.count,
                    "data": res.data
                }
            }
            ,cols: [[ //表头
                {field: 'id', title: 'ID', align:'center',sort: true, fixed: 'left'}
                ,{field: 'goodsName', title: '商品名称', align:'center'}
                ,{field: 'price', title: '价格', align:'center'}
                ,{field: 'stock', title: '仓库', align:'center'}
                ,{field: 'specs', title: '大小类型', align:'center'}
                ,{field: 'businessName', title: '商家名称', align:'center'}
                ,{title: '操作', align:'center', toolbar: '#goods_operation', fixed: 'right', width: 150}
            ]]
        });
        table.render({
            elem: '#tbSpecs'
            ,url: 'http://localhost:9011/specsadmin/findAll' //数据接口
            ,cellMinWidth: 50 // 全局定义常规单元格的最小宽度
            ,parseData: function (res) {
                return {
                    "code": res.code,
                    "msg": res.message,
                    "count": res.count,
                    "data": res.data
                }
            }
            ,cols: [[ //表头
                {field: 'specsId', title: '编号', align:'center',sort: true, fixed: 'left'}
                ,{field: 'specs', title: '大小类型', align:'center'}
                ,{title: '操作', align:'center', toolbar: '#goods_operation', fixed: 'right', width: 150}
            ]]
        });


        // 监听行内工具条
        table.on('tool(tbGoods)', function(obj){
            row = obj.data;
            if (obj.event === 'edit') {
                layer.open({
                    type: 2
                    ,title: '<span class="layui-icon">&#xe642;&nbsp;</span>修改商品信息'
                    ,content: './updategoods.html'
                    ,area: ['600px', '500px']
                    ,skin: 'layui-layer-molv' // 弹窗样式
                })
            } else if (obj.event === 'del') {
                layer.confirm('是否真的要删除选中行', function(index){
                    $.ajax({
                        url: 'http://localhost:9011/goodsadmin/' + row.id,
                        type: 'POST',
                        dataType: 'JSON',
                        success: function (json) {
                            if (json.flag === true) {
                                layer.msg(json.message);
                                setTimeout("table.reload('tbGoods')", 1000); //设置延时
                            } else {
                                layer.msg(json.message);
                            }
                        }
                    })
                    layer.close(index);
                });
            }
        });

        // 监听表格左上方的工具条
        active = {
            // "添加" 操作的事件
            add: function(){
                layer.open({
                    type: 2
                    ,title: '<span class="layui-icon">&#xe624;&nbsp;</span>添加商品信息'
                    ,content: './addgoods.html'
                    ,area: ['600px', '500px']
                    ,skin: 'layui-layer-molv'
                });
            }
        };

        $('.demoTable1 .layui-btn').on('click', function(){
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });
    });
</script>
<!--</html>-->

add

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>添加商品信息</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="./layui/css/layui.css">
</head>
<body>
    <div class="layui-form" lay-filter="addChance-form" id="addChance-form" style="padding: 20px 30px 0 0;">
        <!-- 这是用户登录自动注入的数据-->
        <div class="layui-form-item">
            <label class="layui-form-label">商品名称</label>
            <div class="layui-input-inline">
                <input type="text" name="goodsName" lay-verify="required"  placeholder="请输入商品名称" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">价格</label>
            <div class="layui-input-inline">
                <input type="text" name="price" lay-verify="required" placeholder="请输入价格" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">库存</label>
            <div class="layui-input-inline">
                <input type="text" name="stock" lay-verify="required" placeholder="请输入库存" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">大小类型</label>
            <div class="layui-input-inline">
<!--                <input type="text" name="specs" lay-verify="required" placeholder="请输入大小类型" autocomplete="off" class="layui-input">-->
                <select>
                    <option disabled selected>请选择</option>
                    <option>小型</option>
                    <option>中型</option>
                    <option>大型</option>
                </select>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">商家名称</label>
            <div class="layui-input-inline">
                <input type="text" name="businessName" lay-verify="odds" placeholder="请输入商家名称" autocomplete="off" class="layui-input">
            </div>
        </div>

        <div class="layui-form-item">
            <div class="layui-input-block">
                <button class="layui-btn" lay-submit lay-filter="submitAddGoods">提交</button>
                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
            </div>
        </div>
    </div>

    <script src="./layui/layui.js"></script>

    <script>
        layui.use(['form','jquery','layer','element'], function () {
            var element = layui.element;
            var form = layui.form;
            var $ = layui.jquery;
            var layer = layui.layer;

            // 点击提交按钮的事件,传输数据ajax
            form.on('submit(submitAddGoods)', function (data) {

                $.ajax({
                    url: 'http://localhost:9011/goodsadmin/add',
                    type: 'POST',
                    dataType: 'JSON',
                    data: data.field, // 提交的字段
                    success: function (json) {
                        if (json.flag === true) {
                            var refreshTable = function() {
                                var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                parent.layer.close(index); //再执行关闭
                                parent.table.reload('tbGoods');
                            }
                            layer.msg(json.message);
                            setTimeout(refreshTable, 1000);
                        } else {
                            layer.msg(json.message);
                        }
                    }
                })
                return false; //阻止form 默认提交刷新页面的行为
            });
        });
    </script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title></title>
    <link rel="stylesheet" href="layui/css/layui.css">
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
    <div class="layui-header">
        <div class="layui-logo"></div>
        <!-- 头部区域(可配合layui已有的水平导航) -->
        <ul class="layui-nav layui-layout-left">
            <li class="layui-nav-item"><a href="">控制台</a></li>
            <li class="layui-nav-item"><a href="">商品管理</a></li>
            <li class="layui-nav-item"><a href="">用户</a></li>
            <li class="layui-nav-item">
                <a href="javascript:;">其它系统</a>
                <dl class="layui-nav-child">
                    <dd><a href="">邮件管理</a></dd>
                    <dd><a href="">消息管理</a></dd>
                    <dd><a href="">授权管理</a></dd>
                </dl>
            </li>
        </ul>
        <ul class="layui-nav layui-layout-right">
            <li class="layui-nav-item">
                <a href="javascript:;">
                    <img src="http://t.cn/RCzsdCq" class="layui-nav-img">
                    陈健
                </a>
                <dl class="layui-nav-child">
                    <dd><a href="">基本资料</a></dd>
                    <dd><a href="">安全设置</a></dd>
                </dl>
            </li>
            <li class="layui-nav-item"><a href="">退出</a></li>
        </ul>
    </div>

    <div class="layui-side layui-bg-black">
        <div class="layui-side-scroll">
            <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
            <ul class="layui-nav layui-nav-tree"  lay-filter="test">
                <li class="layui-nav-item layui-nav-itemed">
                    <a class="" href="javascript:;">信息管理</a>
                    <dl class="layui-nav-child">
                        <dd><a class="menu" url="goodsadmin.html" href="javascript:;">商品管理</a></dd>
                    </dl>
                </li>

            </ul>
        </div>
    </div>

    <div class="layui-body">
        <!-- 内容主体区域 -->
        <div id="content" style="padding: 15px;">请点击商品管理,查看机试结果</div>
    </div>

    <div class="layui-footer">
        <!-- 底部固定区域 -->
        © layui.com - 底部固定区域
    </div>
</div>
<script src="layui/layui.js"></script>
<script>

    layui.use(['element','jquery'], function(){
        var element = layui.element;
        var $ = layui.jquery;
        // 通过点击对应的菜单,改变内容主体区域
        $(".menu").click(function () {
            var url = $(this).attr("url");
            $.get(url, function (result) {
                $("#content").html(result);
            })
        })
    });
</script>
</body>
</html>

update


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>修改商品信息</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="./layui/css/layui.css">

</head>
<body>
<div class="layui-form" lay-filter="formUpdateGoods" id="formUpdateGoods" style="padding: 20px 30px 0 0;">
    <input type="hidden" name="id"/>
    <div class="layui-form-item">
        <label class="layui-form-label">商品名称</label>
        <div class="layui-input-inline">
            <input type="text" name="goodsName" lay-verify="required"  placeholder="请输入商品名称" autocomplete="off" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">价格</label>
        <div class="layui-input-inline">
            <input type="text" name="price" lay-verify="required" placeholder="请输入价格" autocomplete="off" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">库存</label>
        <div class="layui-input-inline">
            <input type="text" name="stock" lay-verify="required" placeholder="请输入库存" autocomplete="off" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">大小类型</label>
        <div class="layui-input-inline">
            <input type="text" name="specs" lay-verify="required" placeholder="请输入大小类型" autocomplete="off" class="layui-input">
<!--            <select>-->
<!--                <option disabled>请选择</option>-->
<!--            </select>-->
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">商家名称</label>
        <div class="layui-input-inline">
            <input type="text" name="businessName" lay-verify="odds" placeholder="请输入商家名称" autocomplete="off" class="layui-input">
        </div>
    </div>


    <div class="layui-form-item">
        <div class="layui-input-block">
            <button class="layui-btn" lay-submit lay-filter="submitUpdateGoods">保存</button>
            <button type="reset" class="layui-btn layui-btn-primary">重置</button>
        </div>
    </div>
</div>

<script src="./layui/layui.js"></script>

<script>
    layui.use(['form','jquery','layer','element'], function () {
        var element = layui.element;
        var form = layui.form;
        var $ = layui.jquery;
        var layer = layui.layer;

        form.val('formUpdateGoods', {
            "id":parent.row.id
            ,"goodsName": parent.row.goodsName
            ,"price": parent.row.price
            ,"stock": parent.row.stock
            ,"specs":  parent.row.specs
            ,"businessName":  parent.row.businessName
            ,"outline":  parent.row.outline
            ,"details":  parent.row.details
        });
        // 点击保存按钮的事件,传输数据ajax
        form.on('submit(submitUpdateGoods)', function (data) {

            $.ajax({
                url: 'http://localhost:9011/goodsadmin/update',
                type: 'POST',
                dataType: 'JSON',
                data: data.field, // 提交的字段
                success: function (json) {
                    if (json.flag === true) {
                        var refreshTable = function() {
                            var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                            parent.layer.close(index); //再执行关闭
                            parent.table.reload('tbGoods');
                        }
                        layer.msg(json.message);
                        setTimeout(refreshTable, 1000); // 设置延时
                    } else {
                        layer.msg(json.message);
                    }
                }
            })
            return false; //阻止form 默认提交刷新页面的行为
        });
    });
</script>
</body>
</html>

自动生成

generatorConfig

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
<!--    windows下路径, D:\downloads\xxx.jar-->
    <classPathEntry location="G:\jar\mysql-connector-java-5.1.6.jar"/>

    <context id="DB2Tables" targetRuntime="MyBatis3">

        <!-- 不再追加xml内容-->
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />

        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/crm_system?characterEncoding=utf-8"
                        userId="root"
                        password="chenjian123">
        </jdbcConnection>

<!--        <javaTypeResolver >-->
<!--            <property name="forceBigDecimals" value="false" />-->
<!--        </javaTypeResolver>-->

        <javaModelGenerator targetPackage="com.hqyj.crm.entity" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
<!--            <property name="trimStrings" value="true" />-->
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="mapper"  targetProject="src/main/resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER" targetPackage="com.hqyj.crm.mapper"  targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

<!--        <table tableName="customer" domainObjectName="Customer" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false"/>-->
<!--        <table tableName="user" domainObjectName="CrmUser" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false"/>-->
<!--        <table tableName="contact" domainObjectName="Contact" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false"/>-->
        <table tableName="sale_chance" domainObjectName="SaleChance" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false">

            <columnOverride column="creator_id" property="creator" javaType="com.hqyj.crm.entity.CrmUser"/>

            <columnOverride column="handler_id" property="handler" javaType="com.hqyj.crm.entity.CrmUser"/>
        </table>
<!--        <table tableName=""></table>-->

    </context>
</generatorConfiguration>

mapper

<?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.hqyj.crm.mapper.SaleChanceMapper">
  <resultMap id="BaseResultMap" type="com.hqyj.crm.entity.SaleChance">
    <id column="id" jdbcType="INTEGER" property="id" />
    <result column="customer_name" jdbcType="VARCHAR" property="customerName" />
    <result column="source" jdbcType="VARCHAR" property="source" />
    <result column="contact_name" jdbcType="VARCHAR" property="contactName" />
    <result column="contact_phone" jdbcType="VARCHAR" property="contactPhone" />
    <result column="success_odds" jdbcType="REAL" property="successOdds" />
    <result column="outline" jdbcType="VARCHAR" property="outline" />
    <result column="details" jdbcType="VARCHAR" property="details" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
    <result column="status" jdbcType="INTEGER" property="status" />
    <result column="handle_time" jdbcType="TIMESTAMP" property="handleTime" />
    <association property="creator" javaType="com.hqyj.crm.entity.CrmUser">
      <result column="creatorId" property="id"/>
      <result column="creatorName" property="name"/>
    </association>
    <association property="handler" javaType="com.hqyj.crm.entity.CrmUser">
      <result column="handlerId" property="id"/>
      <result column="handlerName" property="name"/>
    </association>
  </resultMap>
  <sql id="Base_Column_List">
    s.id, s.customer_name, s.source, s.contact_name, s.contact_phone, s.success_odds, s.outline, s.details,
    s.creator_id, s.create_time, s.status, s.handler_id, s.handle_time
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
    select 
    <include refid="Base_Column_List" />
    from sale_chance
    where id = #{id,jdbcType=INTEGER}
  </select>
  <select id="selectChanceList" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List"/>,
    u1.id creatorId,
    u1.name creatorName,
    u2.id handlerId,
    u2.name handlerName
    from
    user u1
    INNER JOIN
    sale_chance s
    ON
    s.creator_id = u1.id
    LEFT JOIN
    user u2
    ON
    s.handler_id = u2.id
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
    delete from sale_chance
    where id = #{id,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="com.hqyj.crm.entity.SaleChance">
    insert into sale_chance (id, customer_name, source, 
      contact_name, contact_phone, success_odds, 
      outline, details, creator_id, 
      create_time, status, handler_id, 
      handle_time)
    values (#{id,jdbcType=INTEGER}, #{customerName,jdbcType=VARCHAR}, #{source,jdbcType=VARCHAR}, 
      #{contactName,jdbcType=VARCHAR}, #{contactPhone,jdbcType=VARCHAR}, #{successOdds,jdbcType=REAL}, 
      #{outline,jdbcType=VARCHAR}, #{details,jdbcType=VARCHAR}, #{creator.id,jdbcType=INTEGER},
      #{createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{handler.id,jdbcType=INTEGER},
      #{handleTime,jdbcType=TIMESTAMP})
  </insert>
  <insert id="insertSelective" parameterType="com.hqyj.crm.entity.SaleChance">
    insert into sale_chance
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="customerName != null">
        customer_name,
      </if>
      <if test="source != null">
        source,
      </if>
      <if test="contactName != null">
        contact_name,
      </if>
      <if test="contactPhone != null">
        contact_phone,
      </if>
      <if test="successOdds != null">
        success_odds,
      </if>
      <if test="outline != null">
        outline,
      </if>
      <if test="details != null">
        details,
      </if>
      <if test="creator != null">
        creator_id,
      </if>
      <if test="createTime != null">
        create_time,
      </if>
      <if test="status != null">
        status,
      </if>
      <if test="handler != null">
        handler_id,
      </if>
      <if test="handleTime != null">
        handle_time,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=INTEGER},
      </if>
      <if test="customerName != null">
        #{customerName,jdbcType=VARCHAR},
      </if>
      <if test="source != null">
        #{source,jdbcType=VARCHAR},
      </if>
      <if test="contactName != null">
        #{contactName,jdbcType=VARCHAR},
      </if>
      <if test="contactPhone != null">
        #{contactPhone,jdbcType=VARCHAR},
      </if>
      <if test="successOdds != null">
        #{successOdds,jdbcType=REAL},
      </if>
      <if test="outline != null">
        #{outline,jdbcType=VARCHAR},
      </if>
      <if test="details != null">
        #{details,jdbcType=VARCHAR},
      </if>
      <if test="creator != null">
        #{creator.id,jdbcType=INTEGER},
      </if>
      <if test="createTime != null">
        #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="status != null">
        #{status,jdbcType=INTEGER},
      </if>
      <if test="handler != null">
        #{handler.id,jdbcType=INTEGER},
      </if>
      <if test="handleTime != null">
        #{handleTime,jdbcType=TIMESTAMP},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.hqyj.crm.entity.SaleChance">
    update sale_chance
    <set>
      <if test="customerName != null">
        customer_name = #{customerName,jdbcType=VARCHAR},
      </if>
      <if test="source != null">
        source = #{source,jdbcType=VARCHAR},
      </if>
      <if test="contactName != null">
        contact_name = #{contactName,jdbcType=VARCHAR},
      </if>
      <if test="contactPhone != null">
        contact_phone = #{contactPhone,jdbcType=VARCHAR},
      </if>
      <if test="successOdds != null">
        success_odds = #{successOdds,jdbcType=REAL},
      </if>
      <if test="outline != null">
        outline = #{outline,jdbcType=VARCHAR},
      </if>
      <if test="details != null">
        details = #{details,jdbcType=VARCHAR},
      </if>
      <if test="creator != null">
        creator_id = #{creator.id,jdbcType=INTEGER},
      </if>
      <if test="createTime != null">
        create_time = #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="status != null">
        status = #{status,jdbcType=INTEGER},
      </if>
      <if test="handler != null">
        handler_id = #{handler.id,jdbcType=INTEGER},
      </if>
      <if test="handleTime != null">
        handle_time = #{handleTime,jdbcType=TIMESTAMP},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.hqyj.crm.entity.SaleChance">
    update sale_chance
    set customer_name = #{customerName,jdbcType=VARCHAR},
      source = #{source,jdbcType=VARCHAR},
      contact_name = #{contactName,jdbcType=VARCHAR},
      contact_phone = #{contactPhone,jdbcType=VARCHAR},
      success_odds = #{successOdds,jdbcType=REAL},
      outline = #{outline,jdbcType=VARCHAR},
      details = #{details,jdbcType=VARCHAR},
      creator_id = #{creator.id,jdbcType=INTEGER},
      create_time = #{createTime,jdbcType=TIMESTAMP},
      status = #{status,jdbcType=INTEGER},
      handler_id = #{handler.id,jdbcType=INTEGER},
      handle_time = #{handleTime,jdbcType=TIMESTAMP}
    where id = #{id,jdbcType=INTEGER}
  </update>
</mapper>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值