java如何实现excel里的数据 更新 到数据库中? 没有实体类的情况下
求大神解答!
Java POI试试
参考:http://www.cnblogs.com/dj0721/p/5846387.html
可以参考一下这个例子 http://www.cnblogs.com/weilantiankong/p/4643366.html
既然是更新那就必须要在你的excel中多设计个字段,用来定位数据库中已经存在的数据,类似ID。
用POI可以按行读取数据,没有实体类的情况下可以尝试直接使用JDBC连接数据库或者从连接池直接回去连接后在代码中拼接SQL插入数据库
一个叫easypoi的开源项目,有时间你可以去了解下。现在也在更新,比poi更强大,很多常用功能不用自己写了
给你的建议做法就是 利用poi 读 excel;
既然是更新,你应该和数据库有关联的数据,利用那个字段,更新分分钟的事。
package com.cn.gao;
import java.util.List;
public class FromExcelToDb {
public static void main(String[] args) {
//得到表格中所有的数据
List listExcel=StuService.getAllByExcel("d://book.xls");
/*//得到数据库表中所有的数据
List listDb=StuService.getAllByDb();*/
DBhelper db=new DBhelper();
for (Stu stuEntity : listExcel) {
int id=stuEntity.getId();
if (!StuService.isExist(id)) {
//不存在就添加
String sql="insert into student (name,sex,num) values(?,?,?)";
String[] str=new String[]{stuEntity.getName(),stuEntity.getSex(),stuEntity.getNum()+""};
db.AddU(sql, str);
}else {
//存在就更新
String sql="update student set name=?,sex=?,num=? where id=?";
String[] str=new String[]{stuEntity.getName(),stuEntity.getSex(),stuEntity.getNum()+"",id+""};
db.AddU(sql, str);
}
}
System.out.println("数据更新成功!");
}
}