基于 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{
// 实现对当前dao操作的扩展
//根据名称模糊查询(样例)
public List 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();
}
}