server的自增主键返回函数 sql_mybatis+sqlserver中返回非自增主键
首先把實體類貼出來(這里只貼出屬性,其它的就是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):
1. Mysql,sqlserver數據庫的主鍵是具有自增類型的,oracle沒有,有的是序列。mybatis對于自增類型的主鍵新增或者修改返回比較容易實現:直接在mapper.xml文件中這樣配置
INSERT INTO Around(stcd,sttp,xcnm,sttm,lead,mans,addvcd) VALUES {#{stcd},#{sttp},#{xcnm},#{sttm},#{lead},#{mans},#{addvcd})
其中keyProperty為主鍵的值賦值到實體類的對應屬性。oracle的實現方法可以百度,這里不做贅述。
2. 對于非自增類型的配置方式。uuid()和newId()獲取主鍵的方式,這里選擇newId()方式生成主鍵,mapper.xml的配置如下:
select newId()
? ?這里的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})? //一定要帶上實體類對應主鍵的屬性
3.調用示例:省略dao,service層,跟平時的一樣。
//將參數封裝給對應的對象
Around? around = new around();? ?這里的主鍵是自生成的,所以不用賦值
around.setStcd("111");
...
//調用service層的新增方法
aroundService.add(around);
//執行完成,沒有錯誤可以獲取到新增的主鍵
String xxcd = around.getXccd();? //獲取到返回的主鍵。
總結
以上是生活随笔為你收集整理的server的自增主键返回函数 sql_mybatis+sqlserver中返回非自增主键的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: if语句 power query_Pow
- 下一篇: 主板h110能装linux吗_H110主