simple-orm基于 Spring-JDBC 的简易 ORM 框架(支持多数据源)

联合创作 · 2023-09-30 01:59

基于 Spring-JDBC 和 javax.persistence 注解的简易 ORM 的封装。支持多数据源,通过简单的常规的 Spring 的配置就可以轻松实现,对代码无侵入。

//定义数据映射实体类
@Table(name="sys_user") // 设置对应的表名
@TargetDataSource(name="hueDataSource") //如果需要支持多数据源,添加此注解
public class SysUser implements Serializable {
    
    @Id //设置为主键值
    @Column(name="id") //设置数据库中对应的字段名
    private Long userId;

    @Column(name="status") // 设置数据库中对应的字段名
    private boolean status;
    
    @Column(name="user_name")
    private String userName;
    
    @OrderBy(value="DESC") //设置默认的排序字段,在查询时如果没有设置就按默认的排序方式查询;
    @Column(name="create_date")
    private Date createDate;

    @Column(name="sex")
    @Enumerated(EnumType.ORDINAL) //此处为枚举属性;@Enumerated(EnumType.STRING):以枚举的名称存储;@Enumerated(EnumType.ORDINAL):以枚举的ORDINAL存储;(如果不写默认按名称存储)
    private Sex sex;
}
//定义DAO操作

@Repository //通过spring注解自动加载到 bean 容器中
public class SysUserDao extends BaseDaoAdapter<SysUser>{
    // 实现对当前dao操作的扩展
   //根据名称模糊查询(样例)
   public List<SysUser> like(String name) throws SQLException {
      return getQuery().likeProperty("userName", "hao").list();
   }

    // 更新用户名称
    public Integer updateUserName(String userName,int userId) throws SQLException {
	return getUpdater().equalProperty("userId", userId).setProperty("userName", userName).update();
    }

}

详情可参考 https://gitee.com/haopeng/simple-orm

浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报