mybaits注解形式批量插入数据

    mybaits xml 文件配置形式很容易写出来,官方也给出了例子,

例如:http://mybatis.github.io/mybatis-3/zh/dynamic-sql.html代码foreach动态sql就可以实现批量插入数据.


mybaits注解形式批量插入数据,就需要自己拼接成sql语句.



@InsertProvider(type = UserMapperProvider.class, method = "inserAll")
	int insertAll(List<User> list);

	public static class UserMapperProvider {

		public String inserAll(Map<String, List<User>> map) {
			List<User> list = map.get("list");
			StringBuilder stringBuilder = new StringBuilder(256);
			stringBuilder.append("insert into  \"spring4_2015_user\" (\"loginName\", \"name\", \"password\", \"salt\",\"email\",\"status\",\"teamId\") values ");
			MessageFormat messageFormat = new MessageFormat("(#'{'list[{0}].loginName},#'{'list[{0}].name},#'{'list[{0}].password},#'{'list[{0}].salt},#'{'list[{0}].email},#'{'list[{0}].status},#'{'list[{0}].teamId})");
			for (int i = 0; i < list.size(); i++) {
				stringBuilder.append(messageFormat.format(new Integer[]{i}));
				stringBuilder.append(",");
			}
			stringBuilder.setLength(stringBuilder.length() - 1);
			return stringBuilder.toString();
		}

	}

上述代码是H2数据库sql语句.当然mysql也支持这种批量插入数据.

转载于:https://my.oschina.net/doctor2014/blog/387679

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值