首页 技术 正文
技术 2022年11月21日
0 收藏 563 点赞 3,384 浏览 1559 个字

首先把实体类贴出来(这里只贴出属性,其它的就是getter和setter方法):

public class Around {
     private String xccd;  //对应主键
     private String xcnm;
     private String stcd;
     private String sttp;
     private BigDecimal lnth;
     private String lead;
     private String mans;
     private String side;
     private Date sttm;
     private Date edtm;
     private String rmk;
     private String addvcd;

//getter and setter  ….此处省略

}

数据库表(一定要在数据库表中配置好主键,对应实体类的属性xccd):

mybatis+sqlserver中返回非自增主键

1. Mysql,sqlserver数据库的主键是具有自增类型的,oracle没有,有的是序列。mybatis对于自增类型的主键新增或者修改返回比较容易实现:直接在mapper.xml文件中这样配置

<insert id=”Savedata” parameterType=”entity.Around”  useGeneratedKeys=”true” keyProperty=”xccd”>  
          INSERT INTO Around(stcd,sttp,xcnm,sttm,lead,mans,addvcd) VALUES {#{stcd},#{sttp},#{xcnm},#{sttm},#{lead},#{mans},#{addvcd})
</insert>

其中keyProperty为主键的值赋值到实体类的对应属性。oracle的实现方法可以百度,这里不做赘述。

2. 对于非自增类型的配置方式。uuid()和newId()获取主键的方式,这里选择newId()方式生成主键,mapper.xml的配置如下:

<insert id=”Savedata” parameterType=”entity.Around” useGeneratedKeys=”true” keyProperty=”id”>
        <selectKey keyProperty=”xccd” resultType=”java.lang.String” order=”BEFORE”>
               select newId()
        </selectKey>   这里的selectkey的顺序一定在这里,keyProrty为主键对应的实体类属性,返回类型对应的uuid() newId() 一般为String,根据自己的返回类型决定。order=before为在插入当条数据之前执行,也就是生成一个主键并赋值给xccd属性。还有个order=after,为相反。
        INSERT INTO Around(xccd,stcd,sttp,xcnm,sttm,lead,mans,addvcd) VALUES (#{xccd},#{stcd},#{sttp},#{xcnm},#{sttm},#{lead},#{mans},#{addvcd})  //一定要带上实体类对应主键的属性

</insert>

3.调用示例:省略dao,service层,跟平时的一样。

//将参数封装给对应的对象

Around  around = new around();   这里的主键是自生成的,所以不用赋值

around.setStcd(“111”);

//调用service层的新增方法

aroundService.add(around);

//执行完成,没有错误可以获取到新增的主键

String xxcd = around.getXccd();  //获取到返回的主键。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,997
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,511
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,355
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,138
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848