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 14:24

@JFinal 这个比较好啊!

2017-12-27 14:19

modal装载前台传递过来的查询参数,然后modal转map,然后写个公用的map,写个通用方法去除空值的key-value项,service里面不加任何空值和逻辑运算的判断,全部写在enjoy模板文件里面,多表关联查询的话,前台查询参数js组装成json,将sql逻辑运算也组装进json数据中,后台转换成map,将逻辑运算符和查询字段作为map的key,查询字段的值作为value,sql模板遍历下map即可,超级方便service里面基本没几行代码!

2017-12-27 14:04

@ddjfinal 最后 return Db.findFirst(sp); 收工!

2017-12-27 13:55

@九州游人 你这个很明显没有填充进去参数啊,你可以这样写,SqlPara sp = new SqlPara().setSql(sql).addParam("1");这样写就不会有任何问题

2017-12-12 18:39

说实话,数据量不是很大的小型系统,日期直接varchar存储,简单又方便,数据量很大或者拿日期字段做了索引的,还是老老实实的用日期类型吧!

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了

2017-10-30 19:59

好多json工具JSONObject 是直接提供转map的方法的,只需要把modal转成json就大功告成了,感觉写工具类没必要,除非有性能上的提升?

2017-10-30 19:57

JSONObject jsonObject = new JSONObject(modal.toJson());
Map map = (Map)jsonObject;
SqlPara sp = Db.getSqlPara("pf.getSysBrchList", Kv.by("cond",map));

这样就可以了啊,我的项目引入的是hutool的jar包里面的json工具,这样其实两行代码,其实一行
Map map = (Map)(new JSONObject(modal.toJson()));就转成map了。

2017-10-13 17:55

检查下服务端是否需要配置额外的tmp目录等,Linux系统注意文件访问权限,很容易出IOException的。