jfinal中对多文件同时上传是怎么解决的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jfinal中对多文件同时上传是怎么解决的相关的知识,希望对你有一定的参考价值。

参考技术A JFinal约定,如果保存路径是以"/"或者"X:/"打头使用的是绝对路径,否则使用相对路径,默认的相对路径为WebRoot/upload,这个相对路径还可以通过me.setUploadedFileSaveDirectory()来设置

jfinal 连接oracle 数据库把外键当成主键 在mappingkit文件里生成多个主键解决办法

1 听波总说是ojdbc  这个jar包版本问题 我以前用的ojdbc14 我换成6了之后 还是存在这个问题 所以我重写了jfinal源码里面的方法 也就是第二种方法

 

2  下面是我重写的类

package com.syhz.model;

import java.sql.ResultSet;
import java.sql.SQLException;

import javax.sql.DataSource;

import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.generator.MetaBuilder;
import com.jfinal.plugin.activerecord.generator.TableMeta;
/**
* 重写jfinal生成主键规则
* @author String
*
*/
public class MyMetaBuilder extends MetaBuilder{

public MyMetaBuilder(DataSource dataSource) {
super(dataSource);
// TODO Auto-generated constructor stub
}

@Override
public void buildPrimaryKey(TableMeta tableMeta) throws SQLException{

ResultSet rs = dbMeta.getPrimaryKeys(conn.getCatalog(), null, tableMeta.name);

String primaryKey = "";
int index = 0;
while (rs.next()) {
/*if (index++ > 0) {
primaryKey += ",";
}*/
primaryKey = rs.getString("COLUMN_NAME");
}
if (StrKit.isBlank(primaryKey)) {
throw new RuntimeException("primaryKey of table \\"" + tableMeta.name + "\\" required by active record pattern");
}
tableMeta.primaryKey = primaryKey;
rs.close();


}
}

 

 

使用的话是在 2      generator.setMetaBuilder(new MyMetaBuilder(dataSource2));  用自己重写的MyMetaBuilder 

 

 

 

之所以标记1  2 是要先用1来获取   因为按照常理来说 自己都会单独写一个连接数据库的方法  如果用自己写的方法 在这里直接用的话 会报错 说 数据已经连接  也就是重复连接的意思  所以我是这么做的 

以上是关于jfinal中对多文件同时上传是怎么解决的的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis的多对多映射

Jfinal文件上传基础路径问题,windows下会以项目根路径为基础路径

Mybatis的多表(多对多)查询

JFinal+ajaxfileupload实现图片的异步上传

求PHP多图上传代码

SpringMVC学习--文件上传