Skip to content

deng-hb/eorm-spring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eorm-spring

这是一个基于Spring JdbcTemplateNamedParameterJdbcTemplate 的ORM框架。

Ta的前身是dbhelper,项目需要spring 3.x以上版本,还依赖项目multi-line一个Java多行文本支持类。

Maven依赖

<dependency>
    <groupId>com.denghb</groupId>
    <artifactId>eorm-spring</artifactId>
    <version>1.1.2</version>
</dependency>

配置

@Autowired
private JdbcTemplate jdbcTemplate;

@Bean
public Eorm eorm() {
    return new EormMySQLImpl(jdbcTemplate);
}

基本操作

@Autowired
private Eorm db;

伪代码{
    // 执行一条SQL
    int r = db.execute(String sql, Object... args);
    
    // 执行一条SQL查询
    List<T> list = db.select(Class<T> clazz, String sql, Object... args);
    
    // 插入一个对象
    db.insert(T domain);
    
    // 修改一个对象
    db.update(T domain);
    
    // 删除一个对象
    db.delete(T domain);
    
    
    // 按主键删除
    db.delete(Class<T> clazz, Object... ids);
    
    // 查询返回一个对象
    T db.selectOne(Class<T> clazz, String sql, Object... args);
    
    // 按主键查询一条记录
    T db.selectByPrimaryKey(Class<T> clazz, Object... args);
}

模版SQL

SQL 片段1
#if (表达式)
  SQL 片段2
#elseIf (表达式)
  SQL 片段3
#else
  SQL 片段4
#end
SQL 片段5

模版SQL示例

String sql = ""/*{
    select count(*) from tb_user u where u.deleted = 0
    #if (null != #nickName)
        and u.nick_name like concat('%', :nickName, '%')
    #elseIf (null != #openId)
        and u.openId = :openId
    #end 
}*/;
Integer count = db.selectOne(Integer.class, sql, new HashMap<String, String>() {{
    put("nickName", "张三");
}});

System.out.println(count);

Java Entity 生成工具

Idea IDE下载Eorm插件,项目开源地址eorm-idea-plugin

Eorm Entity Generator

下载后打开方式

Menu > Code > Eorm Entity Generator

Eorm还提供多行SQL语法高亮,SQL提示

eorm-smart-tip

使用中有任何问题欢迎提issues

About

👍基于Spring JDBC的ORM框架,高效简洁。

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages