mybaitsコメント形式大量挿入データ
1365 ワード
mybaits xmlファイルの配置形式は書きやすいです。公式にも例を示しています。
たとえば:http://mybatis.github.io/mybatis-3/zh/dynamic-sql.htmlコードforeachダイナミックsqlで大量挿入データが可能です。
たとえば: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();
}
}
上記のコードはH 2データベースsql文です。もちろんmysqlもこの大量挿入データをサポートしています。