# sqli
**Repository Path**: x-ream/sqli
## Basic Information
- **Project Name**: sqli
- **Description**: orm sql interface, Criteria, CriteriaBuilder, ResultMapBuilder. Topics: orm jdbc mysql clickhouse impala presto xream
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: http://sqli.xream.io
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-24
- **Last Updated**: 2024-02-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# sqli 简单的SQL拼写
[http://sqli.xream.io](http://sqli.xream.io)
[](https://www.apache.org/licenses/LICENSE-2.0.html)
[](https://search.maven.org/search?q=io.xream)
[](https://www.codacy.com/gh/x-ream/sqli?utm_source=github.com&utm_medium=referral&utm_content=x-ream/sqli&utm_campaign=Badge_Grade)
[](https://gitter.im/x-ream/community)
[WIKI](https://github.com/x-ream/sqli/wiki)
sqli/sqli-builder
sqli/sqli-core
sqli/sqli-dialect
sqli/sqli-repo
## sqli-repo
### 使用方法
sqli仅仅是SQL的编程接口,需要整合到已有的框架或项目中,
在io.xream.x7项目里实现了和Spring-Boot/Spring-JdbcTemplate的整合
@EnableX7Repostory // code at x7/x7-spring-boot-starter
public class App{
main()
....
}
```xml
io.xream.x7
x7-spring-boot-starter
....
```
更多代码片段:
@Repository
public interface FooRepository extends BaseRepository {}
@Repository
public interface BarRepository extends RepositoryX {}
@X.Mapping("t_foo")//默认是foo
public class Foo {
@X.Key //不指定主键的情况下,不支持根据get(id),remove(id)
private Long id;
@X.Mapping("full_name") //默认是fullName
private String fullName;
}
@Service
public class FooServiceImpl implements FooService {
@Autowired
private FooRepository fooRepository;
@Autowired
private FooFindRepository fooFindRepository;
// 临时表, 原生SQL, 则直接注入, 不支持代理
@Autowired
private TemporaryRepository temporaryRepository;
@Autowired
private NativeRepository nativeRepository;
### BaseRepository API
1. in(property, inList) //in查询, 例如: 页面上需要的主表ID或记录已经查出后,补充查询其他表的文本说明数据时使用
2. list(Object) //对象查列表
3. find(q) //标准拼接查询,返回对象形式记录,返回分页对象
4. list(q) //标准拼接查询,返回对象形式记录,不返回分页对象
5. get(Id) //根据主键查询记录
6. getOne(Object) //数据库只有一条记录时,就返回那条记录
7. list() //无条件查全表, 几乎没使用场景
8. creaet(Object) //插入一条, 不支持返回自增键, 框架自带ID生成器
9. createBatch(List