这个困惑了好几天,终于解决了,原因在于输入流的不可重复读,保证调用的唯一性,这是我暂时的理解,有更高好的理解,望告知.谢谢
还是基于前面的excel上传的web端,在这里我就不写了,只是比以前多了一个id属性,因为我要根据id查询这个表的配置信息,包括他所属的data数据库,url既服务器地址,user用户名,password用户密码,还有模板形式是什么样的.我以json字符串存储起来的,如下:
这张表的名字叫importConfiger
ddl 信息如下:
CREATE TABLE `importConfiger` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`data` varchar(30) NOT NULL DEFAULT '' COMMENT '数据库',
`table_name` varchar(50) NOT NULL DEFAULT '' COMMENT '数据表',
`url` varchar(50) NOT NULL DEFAULT '' COMMENT 'IP',
`user` varchar(50) NOT NULL DEFAULT '' COMMENT '用户名',
`password` varchar(50) NOT NULL DEFAULT '' COMMENT '密码',
`model_json` varchar(300) NOT NULL DEFAULT '' COMMENT '模型json形式',
`is_deleted` bigint(20) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
应当写好其对应的mapper.xml,interface,model 模型,在这里我就不说了,就是典型的SSM的架构.
导入配置:ImportConfiger
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
public class ImportConfiger implements Serializable {
/**
*
*/
private static final long serialVersionUID = -3128110705946477309L;
private Long id;
private String data;
private String tableName;
private String url;
private String user;
private String password;
private String modelJson;
private Long isDeleted;
private Map<String, String> model = new HashMap<String, String>();
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Map<String, String> getModel() {
return model;
}
public void setModel(Map<String, String> model) {
this.model =