自定义字段新建数据表——方法1

来源:互联网 发布:腾讯大王卡免流软件 编辑:程序博客网 时间:2024/05/29 17:58
public boolean add(String username, String userpas,String route,String field) {
List l = s.findByProperty("username", username);
File indexDir = new File(route);
// new一个新文件夹
// 判断文件夹是否存在
if (!indexDir.exists()) {
indexDir.mkdirs();
}
        System.out.println(l.size());
             if (l.size() == 0) {
            SysUser user = new SysUser();
      InetAddress addr;
      try {
      addr = InetAddress.getLocalHost();
      String ip = addr.getHostAddress().toString();//获得本机IP
      user.setUsername(username);


      MD5 md5 = new MD5();
      String pas = md5.hexString(userpas);//MD5加密
      user.setPassword(pas);
      user.setTheIp((String) ip);
      user.setVersion(0);
      user.setBtime(new Timestamp(System.currentTimeMillis()));
      user.setTheLogin(new Timestamp(System.currentTimeMillis()));
      user.setFoundField(field);
      user.setRoute(route);
      s.save(user);
DataOperator db = new DataOperator();
String[] f  = field.split("\\|");// 分割字符串
int length = f.length;
log.info("字段值aa:"+f[0]);
String fields="";
String stores="";

String indexs="";

                //新建一个有固定字段的数据表

String sql = "CREATE TABLE "+username+"(id int not null auto_increment comment '主键', " +
"url varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci not null ," +
"state int(20)  not null ," +
"primary key (id));";
boolean b = db.executeUpdate(sql);
String s[] =null;
String sql1="";
for(int i=0;i<f.length;i++){
 s = f[i].split("-");
 fields= s[0];
log.info("字段值:"+s[0]);
stores = s[1];
log.info("保存与否:"+s[1]);
 indexs = s[2];
log.info("索引类型:"+s[2]);
//执行插入、修改、删除的SQL语句
if(b==true){
log.info("创建/添加/删除数据表'"+username+"'成功");

for(int j=0;j<f.length;j++){

                                //在已经建好的数据表中插入你要自定义添加的字段

sql1="ALTER TABLE  "+username+" ADD  "+s[0]+" varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL AFTER  `id`";
}
boolean s1 = db.executeUpdate(sql1);
if(s1==true){
log.info("数据表'"+username+"'添加字段成功");
}else{
log.info("数据表'"+username+"'添加字段失败");
}
}else{
log.info("创建/添加/删除数据表'"+username+"'失败");
}

}
log.info("字段值1:"+s[0]);

return true;// 注册成功
} catch (UnknownHostException e) {
return false;
}
} else {
return false;// 用户名已存在
}

}


String username, String ,String route,String field) {//username 用户名充当要建立的表名 

    userpas 密码

    route  保存路径

    field  字段+是否保存+索引建立类型