2017-12-27 14:44
@ddjfinal 另外,我一直在用idea,最近项目在用jfinal做,jfinal在启动速度上也远比springmvc要快速的多,支持波总,另外说句,enjoy真心好用,freemarker让我彻底的给替换掉了!
2017-12-27 14:39
@JFinal 我用的是tomcat开发调试,也安装的是jrebel,一般我的做法是,先把controller和service方法体写出来,然后注册路由,启动项目,然后再实现具体的细节,代码都是实时热更新的,service和controller先实现通用的接口,比如有增删改查的功能,index,add,edit,update,save,details,list,等这些方法基本是通用的,所以写了接口,实现接口,然后启动项目后实现细节,省时省力。另外,jdk使用1.7以上版本,Java本身已经支持热加载了,只要不修改方法名,类名,方法参数个数和类型,是不需要重启容器的。
2017-12-27 13:55
@九州游人 你这个很明显没有填充进去参数啊,你可以这样写,SqlPara sp = new SqlPara().setSql(sql).addParam("1");这样写就不会有任何问题
2017-11-23 11:37
@cctvsod 你这个_MappingKit只有一个表的啊,其他已经生成的model的mapping会没有了啊,我这个是附加的_MappingKit,生成单个表的model,_MappingKit的时候判断,存在了就不处理,不存在加上mapping
2017-11-23 11:28
@cctvsod
public class MappingKitBulid extends MappingKitGenerator {
public MappingKitBulid(String mappingKitPackageName, String mappingKitOutputDir) {
super(mappingKitPackageName, mappingKitOutputDir);
}
@Override
public void generate(List tableMetas) {
for (TableMeta tableMeta : tableMetas) {
String primaryKey = tableMeta.primaryKey;
String[] split = primaryKey.split(",");
List list = new ArrayList<>(Arrays.asList(split));
ConllectionUtils.removeDuplicateWithOrder(list);
String str = "";
if(list.size()==1){
str = list.get(0);
} else if(list.size()>1){
str = list.get(0);
for (int i = 1; i < list.size(); i++) {
str = str + "," + list.get(i);
}
}
tableMeta.primaryKey = str;
}
super.generate(tableMetas);
}
}
ConllectionUtils.removeDuplicateWithOrder 的代码:
// 删除ArrayList中重复元素,保持顺序
public static void removeDuplicateWithOrder(List list) {
Set set = new HashSet();
List newList = new ArrayList();
for (Iterator iter = list.iterator(); iter.hasNext(); ) {
Object element = iter.next();
if (set.add(element)) {
newList.add(element);
}
}
list.clear();
list.addAll(newList);
}
这样处理下,就不会有重复的主键了哈,我和你的情况一样,数据库多个用户,有的表结构是一样的哈。
2017-11-01 17:06
@top 嗯,我都是在sql模版文件中遍历map的时候设置表达式条件的,默认都是 = 号,特殊 的比如 like的再处理下就ok了