# bean-searcher **Repository Path**: qimo97/bean-searcher ## Basic Information - **Project Name**: bean-searcher - **Description**: 超轻量级 Web 条件检索引擎,为弥补传统ORM框架在复杂条件列表检索时的不足而生,使一行代码实现复杂列表检索成为可能! - **Primary Language**: Java - **License**: Artistic-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 300 - **Created**: 2019-07-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Bean Searcher [](https://maven-badges.herokuapp.com/maven-central/com.ejlchina/bean-searcher/) [](https://www.apache.org/licenses/LICENSE-2.0.html) Introduction --- - git clone https://gitee.com/ejlchina-zhxu/bean-searcher.git - cd bean-searcher && mvn install - have fun. Documentation --- - 中文 https://gitee.com/ejlchina-zhxu/bean-searcher/wikis/Home ## 安装 ##### Gradle ``` dependencies { compile 'com.ejlchina:bean-searcher:1.4.3' } ``` ##### Maven ``` com.ejlchina bean-searcher 1.4.3 ``` ## 创建 Search Bean ``` @SearchBean(tables = "users u") public class UserBean { @DbField("u.id") private Long id; @DbField("u.type") private String username; @DbField("u.date_created") private Date dateCreated; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Date getDateCreated() { return dateCreated; } public void setDateCreated(Date dateCreated) { this.dateCreated = dateCreated; } } ``` ## 配置 ##### With Spring ``` ${Search Bean所在的包名} ``` ## 调用检索器 ##### With Spring ``` @RestController @RequestMapping("/users") public class UserController { @Autowired private Searcher searcher; @RequestMapping("/index") public SearchResult index(HttpServletRequest request) { // 检索参数 Map params = MapUtils.flat(request.getParameterMap()); // 调用检索器检索数据 return searcher.search(UserBean.class, params) } } ``` ## 检索功能 通过以上步骤,实际上写发出了一个API接口(/users/index),那么这个接口可以接收哪些参数,返回哪些数据呢? 参数名 参数类型 默认值 功能含义 id Long 按ID查询 id-op String eq ID的检索运算符,可以是等于、大于、小于,等等 username String 按用户名查询 username-op String eq 用户名的检索运算符,可以是等于、包含、以开头、已结尾,等等 username-ic Boolean false 按用户名检索时,是否忽略大小写