领域模型主键属性是shopId,使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型shopId属性中,
配置参考如下:
<insert id="insert" parameterType="com.XXX.ecc.cloudbiz.domain.shop.ShopBaseInfo" useGeneratedKeys="true" keyProperty="shopId">
INSERT INTO
<include refid="TABLE"/>
(
shop_name,
shop_keeper_id,
shop_desc,
shop_template_id,
shop_logo_url,
shop_backgroud_pic,
shop_type,
sync_status,
xx_shop_id,
platform_id,
created,
modified,
yn
)VALUES(
#{shopName},
#{shopKeeperId},
#{shopDesc},
#{shopTemplateId},
#{shopLogoUrl},
#{shopBackgroudPic},
#{shopType},
#{syncStatus},
#{xxShopId},
#{platformId},
#{created},
#{modified},
#{yn}
)
</insert> java代码Demo测试类:
//测试类
public class TestInsert{
@Resource
private ShopBaseInfoMapper shopBaseInfoMapper;
public Long insert(@NotNull ShopBaseInfo entity) {
      ShopBaseInfo shop = new ShopBaseInfo();
shop.setPlatformId(platformId);
shop.setShopType(1);//todo 根据用户信息--------设定店铺类型
if(StringUtils.isBlank(user.getJcbNickName())){
shop.setShopName(user.getJcbMobile()+"的店");
}else{
shop.setShopName(user.getJcbNickName()+"的店");
}
shop.setShopLogoUrl(user.getJcbHeader());
shop.setShopKeeperId(user.getId());
shop.setShopDesc("掌柜比较懒,。。。。。。。。。。。");
shop.setShopTemplateId(10001);
shop.setCreated(new Date());
shop.setModified(new Date());
shop.setYn(1);
shopBaseInfoMapper.setUTF8MB4();
shopBaseInfoMapper.insert(shop);
log.info("platformId is {},userid is {},shopId is {}",platformId,userId,shop.getShopId());
//todo 调用insert方法后,会怎么给shop对象的shopId属性赋值,所以方法直接返回shopId就可以。
return shop.getShopId();
  }
}
//Mapper类
public interface ShopBaseInfoMapper{
/**
* 新增
* @param entity
* @return
*/
Integer insert(ShopBaseInfo entity);
}
 

mybatis中useGeneratedKeys和keyProperty的使用的更多相关文章

  1. mybatis中useGeneratedKeys和keyProperty的作用

    在使用mybatis时,常常会出现这种需求: 当主键是自增的情况下,添加一条记录的同时,其主键是不能使用的,但是有时我们需要该主键,这时我们该如何处理呢?这时我们只需要在其对应xml中加入以下属性即可 ...

  2. mybatis 中 useGeneratedKeys 和 keyProperty 含义

    MyBatis如何获取插入记录的自增长字段值: 第一步: 在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Ja ...

  3. mybatis中 keyProperty="id" 的作用

    keyProperty="id"的作用是: 一般都是结合数据库自动生成主键来使用,由于是数据库生成的主键, 所以在这个对象持久化到数据库之前是对象中的这个属性是没有属性值的,但是在 ...

  4. mybatis中的变量#与$

    ibatis中使用select top #num# * from tableName出现错误.由于初次用ibatis还不知道在它里边拼写SQL语句的一些规则,导致一些自认为很平常的SQL语句,在它这里 ...

  5. MyBatis中主键回填的两种实现方式

    主键回填其实是一个非常常见的需求,特别是在数据添加的过程中,我们经常需要添加完数据之后,需要获取刚刚添加的数据 id,无论是 Jdbc 还是各种各样的数据库框架都对此提供了相关的支持,本文我就来和和大 ...

  6. 深入浅出mybatis之useGeneratedKeys参数用法

    目录 在settings元素中设置useGeneratedKeys参数 在xml映射器中配置useGeneratedKeys参数 在接口映射器中设置useGeneratedKeys参数 在MyBati ...

  7. MyBatis中映射器Mapper概述

    MyBatis真正强大之处在于它的映射器.因为它异常强大并且编写相对简单,不仅比传统编写SQL语句做的更好并且能节省将近95%的代码量 XML中顶级元素汇总 cache: 给定命名空间的缓存配置 ca ...

  8. mybatis中_parameter使用和常用sql

    mybatis中_parameter使用和常用sql   mybatis中_parameter使用和常用sql 在用自动生成工具生成的mybatis代码中,总是能看到这样的情况,如下: <sel ...

  9. mybatis中mysql和oracle的差异

    1.applicationContext.xml中的配置差异: 在applicationContext.xml的数据源dataSource的配置中,mysql数据库需要心跳包的配置,而oracle中不 ...

随机推荐

  1. Mybatis 碰到的一些问题

    1. SQL语句参数无法获取:nested exception is org.apache.ibatis.reflection.ReflectionException: There is no get ...

  2. CentOS7 内核参数优化

    # allow testing with buffers up to 128MBnet.core.rmem_max = 134217728net.core.wmem_max = 134217728# ...

  3. ECharts-热力图实例

    1.引入echarts.js 2.页面js代码 //用ajax获取所需要的json数据 $.get("../../../mall/queryPageWtSrPost.do", { ...

  4. grunt的学习和使用

    目前正在编写公司的部分组件,可能一个组件会包含很多js和css,为了项目上使用方便,应该压缩成一个js库,以供开发者使用,同时也可以减少很多http请求,提高页面访问速度.基于此,学习了grunt自动 ...

  5. Django day04 路由控制

    Django请求的整个的生命周期 Django中路由控制的作用: 一: 简单配置 url 是一个函数 -第一个参数是正则表达式(如果要精确匹配:'^publish'/$ 以^开头,以$结尾) -第二个 ...

  6. WebService的概念

    一.序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分.但是不得不承认的是W ...

  7. 数据通讯与网络 第五版第24章 传输层协议-UDP协议部分要点

    24.1 介绍 本章节主要集中于传输层协议的解读,图24.1展示TCP.UDP.SCTP在TCP\IP协议栈的位置 24.1.1 服务(Service) 每个协议都提供不同的服务,所以应该合理正确的使 ...

  8. SQLServer2008 关于Having

    转自百度百科 与where 相比 HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 子句和 SELECT 语句交互的方式类似. WHERE 子句搜索条件在进行分组操作之前应用: ...

  9. "etc/profile" E212: Can't open file for writing

    今天安装Java环境,出现如下错误: "etc/profile" E212: Can't open file for writing 这是安装到本地JDK路径不正确导致.怎么办呢? ...

  10. opengl使用FreeType绘制字体

    原文地址:http://www.cnblogs.com/zhanglitong/p/3206497.html