mybatis創(chuàng)建一個(gè)或多個(gè)新用戶 insert 字段和表名不確定時(shí)動(dòng)態(tài)添加問(wèn)題
創(chuàng)建用戶:
/**
* 創(chuàng)建一個(gè)或多個(gè)新用戶 insert 字段和表名不確定時(shí)動(dòng)態(tài)添加
*/
@Test
public void createAccount() {
String lineColumn = "";
Map<String, Object> paramsMap = new HashMap<String, Object>();
Map<String, Object> dataMap = new HashMap<String, Object>();
// map的key值為字段,value為需要insert 用戶的值。一個(gè)map即是一個(gè)新用戶
List<Map<String, Object>> lineList = new ArrayList<Map<String, Object>>();
dataMap.put("name", "魚(yú)多");
dataMap.put("password", "123456");
dataMap.put("gender", "女");
dataMap.put("id_no", "14");
lineList.add(dataMap);
// 為了使字段和values()里面的值對(duì)應(yīng)起來(lái),遍歷出map的key,構(gòu)建出動(dòng)態(tài)字段。
// 相應(yīng)的,在accountMapper.xml中用遍歷出lineList,然后遍歷map的value,構(gòu)建出insert 的值
for (String key : dataMap.keySet()) {
lineColumn += key + ",";
}
// id不會(huì)自動(dòng)遞增,加上id字段
// 相應(yīng)的,在accountMapper.xml中 用序列的nextval生成id
lineColumn += "id";
paramsMap.put("lineColumn", lineColumn);
paramsMap.put("table", "account");
paramsMap.put("lineList", lineList);
if (accountMapper.createAccount(paramsMap) > 0) {
System.out.println("創(chuàng)建成功");
}
}
accountMapper.xml插入一個(gè)新用戶的sql(使用Oracle數(shù)據(jù)庫(kù))
<insert id="createAccount" parameterType="java.util.Map">
INSERT INTO ${table}(${lineColumn}) select result.*,seq.nextval id from(
<foreach collection="lineList" item="item" index="index" separator="union all">
(select
<foreach collection="item" index="key" item="_value" separator=","> #{_value}
</foreach>
from dual)
</foreach>
) result
</insert>
以上所述是小編給大家介紹的mybatis創(chuàng)建一個(gè)或多個(gè)新用戶 insert 字段和表名不確定時(shí)動(dòng)態(tài)添加問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- MyBatis insert操作插入數(shù)據(jù)之后返回插入記錄的id
- MyBatis在insert插入操作時(shí)返回主鍵ID的配置(推薦)
- Mybatis 中的insertOrUpdate操作
- MyBatis中insert操作返回主鍵的實(shí)現(xiàn)方法
- Oracle+Mybatis的foreach insert批量插入報(bào)錯(cuò)的快速解決辦法
- MyBatis批量插入(insert)數(shù)據(jù)操作
- oracle+mybatis 使用動(dòng)態(tài)Sql當(dāng)插入字段不確定的情況下實(shí)現(xiàn)批量insert
- mybatis insert返回主鍵代碼實(shí)例
相關(guān)文章
SpringBoot之Java配置的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot之Java配置的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
解決tk mapper 通用mapper的bug問(wèn)題
這篇文章主要介紹了解決tk mapper 通用mapper的bug問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
詳解spring項(xiàng)目中如何動(dòng)態(tài)刷新bean
這篇文章主要為大家介紹了詳解spring項(xiàng)目中如何動(dòng)態(tài)刷新bean,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
Flask接口如何返回JSON格式數(shù)據(jù)自動(dòng)解析
這篇文章主要介紹了Flask接口如何返回JSON格式數(shù)據(jù)自動(dòng)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11

