Fetch the repository succeeded.
此项目把Java后端最常用的代码全都抽象出来,一经使用即可减少开发者80%的工作量,使大家把所有的精力解放到业务代码中。
下方出现的entityName为当前操作的对象名称或者数据库表名称(注意命名规范要符合驼峰命名法,例如:UserOrder或者user_order都可以) 删除接口为物理删除,逻辑删除请使用update接口
@RequestMapping(value = "/syj-api/{entityName}/{id}", method = RequestMethod.GET)
@RequestMapping(value = "/syj-api/{entityName}/page", method = RequestMethod.POST)
@RequestBody: GridPageRequest
/**
* 查询关键字Map
*/
private Map<String, String> searchMap;
/**
* 模糊查询关键字Map
*/
private Map<String, String> likeSearchMap;
/**
* 排序关键字Map
*/
private Map<String, String> orderMap;
/**
* 分组关键字数组
*/
private String[] groupArray;
/**
* 第几页
*/
private Integer pageNum;
/**
* 查几条
*/
private Integer pageSize;
/**
* 大于等于查询关键字Map
*/
private Map<String, String> largeSearchMap;
/**
* 小于等于查询关键字Map
*/
private Map<String, String> smallSearchMap;
/**
* 不等于查询关键字Map
*/
private Map<String, String> notEquleSearchMap;
@RequestMapping(value = "/syj-api/{entityName}/insert", method = RequestMethod.POST)
@RequestBody: Object(待插入对象)
@RequestMapping(value = "/syj-api/{entityName}/update", method = RequestMethod.PUT)
@RequestBody: Object(待更新对象)
@RequestMapping(value = "/syj-api/{entityName}/{id}", method = RequestMethod.DELETE)
@RequestMapping(value = "/syj-api/{entityName}/deleteByIds", method = RequestMethod.DELETE)
@RequestBody: List<String> ids(待删除主键列表)
@Bean
public IdField idField() {
Map<String,String> map=new ConcurrentHashMap<>();
map.put("user","userId");
map.put("order","orderId");
map.put("role","roleId");
IdField idField=new IdField();
idField.setMap(map);
return idField;
}
@Component
public class InsertExtend implements ExtendInterface{
@Override
public Map<String, String> exectue() {
Map<String, String> map=new HashMap<>();
map.put("createTime", System.currentTimeMillis());
map.put("createBy", "创建人id");
map.put("createUserName", "创建人名称");
return map;
}
}
@Component
public class UpdateExtend implements ExtendInterface{
@Override
public Map<String, String> exectue() {
Map<String, String> map=new HashMap<>();
map.put("updateTime", System.currentTimeMillis());
map.put("updateBy", "修改人id");
map.put("updateUserName", "修改人名称");
return map;
}
}
@Component
public class SelectExtend implements ExtendInterface{
@Override
public Map<String, String> exectue() {
Map<String, String> map=new HashMap<>();
map.put("user", "id, user_name as userName, pass as passWord");
map.put("merchant_user", "create_user as createUser, update_by as updateUser");
return map;
}
}
上方使用方式其实是直接抽象到了controller层,解决一般的需要是没问题的,但是我们是有业务逻辑的,那么存在业务逻辑的情况下如何使用呢? 你可以在处理完业务逻辑后在service中调用
private BaseService getUserBaseService(){
return ServiceBeanFactory.getBean("User");
}
Map<String,Object> userMap=getUserBaseService().selectOneById("115");
User user=(User) BeanMapUtil.mapToBean(map,User.class);
List<Map<String, Object>> userMaps=getUserBaseService().selectBySelective(gridPageRequest);
for (Map<String, Object> map:userMaps){
User user=(User) BeanMapUtil.mapToBean(map,User.class);
}
getUserBaseService().insertSelective(user);
getUserBaseService().updateByIdSelective(user);
getUserBaseService().deleteById("115");
List<String> list=new ArrayList<>();
list.add("115");
list.add("116");
list.add("117");
getUserBaseService().deleteByIds(list);
getUserBaseService().selectBySelective("select * from user");
相信看了上方的介绍你已经迫不及待的想要使用了,那么使用起来简单么?看一下你就知道。
引入syj-minicode
<dependency>
<groupId>cn.org.zhixiang</groupId>
<artifactId>syj-minicode</artifactId>
<version>请使用以maven中央仓库的最新版本为准</version>
</dependency>
注册syj-minicode
因为并不是所有的项目都会使用SpringBoot,所以在注册这一步我们分为两种情况
SpringBoot或SpringCloud项目 你需要在启动类上增加一个注解
@EnableSyjMiniCode
Spring
你需要提供一个可以被Spring管理的配置类。比如说:
@Import(EnableSyjMiniCodeConfiguration.class)
@Configuration
public class SyjMiniCodeConfig {
}
0.0.1
syj-minicode上线
0.0.2
- 增加普通查询时有使用大于小于不等于的查询条件
- 增加自定义查询sql接口
- 解决部分项目引入不能启动的问题
- 引入pagehelper分页插件
- 新增查询扩展接口
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。