mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加
来源:互联网 发布:古天乐普通话 知乎 编辑:程序博客网 时间:2024/05/31 18:39
创建用户:
/*** 创建一个或多个新用户 insert 字段和表名不确定时动态添加*/@Testpublic void createAccount() { String lineColumn = ""; Map<String, Object> paramsMap = new HashMap<String, Object>(); Map<String, Object> dataMap = new HashMap<String, Object>(); // map的key值为字段,value为需要insert 用户的值。一个map即是一个新用户 List<Map<String, Object>> lineList = new ArrayList<Map<String, Object>>(); dataMap.put("name", "鱼多"); dataMap.put("password", "123456"); dataMap.put("gender", "女"); dataMap.put("id_no", "14"); lineList.add(dataMap); // 为了使字段和values()里面的值对应起来,遍历出map的key,构建出动态字段。 // 相应的,在accountMapper.xml中用遍历出lineList,然后遍历map的value,构建出insert 的值 for (String key : dataMap.keySet()) { lineColumn += key + ","; } // id不会自动递增,加上id字段 // 相应的,在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("创建成功"); }}
accountMapper.xml插入一个新用户的sql(使用oracle数据库)
<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>
0 0
- mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加
- 字段名、字段数不确定时,用 FastReport 动态生成报表
- MyBatis,动态传入表名,字段名
- mybatis 拼接动态表名、字段名
- MyBatis,动态传入表名,字段名的解决办法
- MyBatis动态传入表名,字段名参数的解决办法
- MyBatis,动态传入表名,字段名的解决办法
- MyBatis动态传入表名,字段名参数的解决办法
- MyBatis,动态传入表名,字段名的解决办法
- MyBatis,动态传入表名,字段名的解决办法
- mybatis中动态传入表名、字段名
- MyBatis,动态传入表名,字段名的解决办法
- MyBatis动态传入表名,字段名参数的解决办法
- MyBatis,动态传入表名,字段名的解决办法
- MyBatis动态传入表名,字段名参数的解决办法
- MyBatis,动态传入表名,字段名的解决办法
- mybatis动态注入字段名
- MyBatis动态传表名,字段名
- php 存储容量换算
- TCP/IP协议原理
- dotnet new 命令使用模板生成Angular应用
- c#之nHibernate初识01
- oracle异常处理总结
- mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加
- TensorFlow 教程
- Linux-内核源码目录结构
- vi 命令
- 手把手教你玩转SOCKET模型:完成端口(Completion Port)详解
- oracle数据库在Windows下的备份
- Android进入界面软键盘直接弹出界面
- 试着用React写项目-利用react-router解决跳转路由等问题(二)
- [华为OJ--C++]102-二维数组操作