mybatis创建一个或多个新用户insert字段和表名不确定时动态添加问题-成都快上网建站

mybatis创建一个或多个新用户insert字段和表名不确定时动态添加问题

创建用户:

创新互联建站是一家专业从事成都做网站、成都网站设计的网络公司。作为专业网站设计公司,创新互联建站依托的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、成都全网营销推广及网站设计开发服务!

/**
* 创建一个或多个新用户 insert 字段和表名不确定时动态添加
*/
@Test
public void createAccount() {
  String lineColumn = "";
  Map paramsMap = new HashMap();
  Map dataMap = new HashMap();
  // map的key值为字段,value为需要insert 用户的值。一个map即是一个新用户
  List> lineList = new ArrayList>();
  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 INTO ${table}(${lineColumn}) select result.*,seq.nextval id from(
      
      (select
         #{_value}
        
      from dual)
     
  ) result

以上所述是小编给大家介绍的mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对创新互联网站的支持!


网页标题:mybatis创建一个或多个新用户insert字段和表名不确定时动态添加问题
标题路径:http://kswjz.com/article/pgjiis.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流