本来想继承MODEL的,但是因为用了自动构建baseModel所以用不了,老大给了继承的方法还没时间研究先直接发出来。希望有人能将其强大之。
用法示例:
1、new ModelX().init(new Users()).where("username","666").where("password","e10adc3949ba59abbe56e057f20f883e").findFirst()
返回record
2、new ModelX().init(new Users()).where("password","e10adc3949ba59abbe56e057f20f883e").orderBy("create_time desc").find()
返回List
3、ModelX.buildSelect(new Users())
返回String :
select * from users
4、ModelX.buildSelectWhere(new Users())
返回String :
select * from users where
4 的使用示例:someModel().find(ModelX.buildSelect(someModel()) + " column = ?",getPara("param"))
代码:
com.jfinal.plugin.activerecord.Modelcom.jfinal.plugin.activerecord.TableMappingjava.util.ArrayListjava.util.HashMapjava.util.Listjava.util.MapModelX {
Model String List =ArrayList()String =List =ArrayList()String ModelX (Model model){
.= TableMapping.().getTable(model.getClass()).getName().=model}
ModelX (String paraNameObject paraValue){
=..add(HashMap(){{
put()}})}
ModelX (String paraNameObject paraValueString type){
=type..add(HashMap(){{
put()}})}
ModelX (String orderByStr){
.=orderByStr}
String (){
(.size()>){
StringBuilder temp=StringBuilder().forEach((paraMap)->{
((Map)paraMap).forEach((kv)->{
.append(++ + k + )..add(v)})})+ temp.toString()}{
}
}
List (){
String sql = + + _bulidWhere() + .find(sql.toArray())}
Model (){
String sql = + + _bulidWhere() + .findFirst(sql.toArray())}
String (Model model){
String tableName = TableMapping.().getTable(model.getClass()).getName()+ tableName}
String (Model model){
String tableName = TableMapping.().getTable(model.getClass()).getName()+ tableName + }
} |