easymybatis是一个mybatis增强类库,目的为简化mybatis的开发,让开发更高效。 git:https://git.oschina.net/durcframework/easymybatis
Demo
特色
- 无需编写xml文件即可完成CRUD操作。
- 支持多表查询、聚合查询、分页查询(支持多种数据库)。
- 支持批量添加,指定字段批量添加。
- 支持Dao层访问控制,如某个dao只有查询功能,某个dao有crud功能等。
- 支持自定义sql,sql语句可以写在配置文件中,同样支持mybatis标签。
- 支持mysql,sqlserver,oracle,其它数据库扩展方便(增加一个模板文件即可)。
- 使用方式不变,与Spring集成只改了一处配置。
- 没有修改框架源码(无插件),采用动态代码生成实现功能。
例子
entity文件 TUser.java
@Table(name = "t_user")
public class TUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "username")
private String username;
@Column(name = "state")
private Byte state;
@Column(name = "isdel")
private Boolean isdel;
@Column(name = "remark")
private String remark;
@Column(name = "add_time")
private Date addTime;
@Column(name = "money")
private BigDecimal money;
@Column(name = "left_money")
private Float leftMoney;
// 省略get set
}
dao文件 TUserDao.java.Dao层简单继承即可,表示这个dao具有CRUD功能
public interface TUserDao extends CrudDao<TUser> {
}
测试文件 TUserDaoTest.java
// 根据主键查询
@Test
public void testGet() {
TUser user = dao.get(3);
print(user);
}
// 根据字段查询一条记录
@Test
public void testGetByProperty() {
TUser user = dao.getByProperty("username", "王五");
print(user);
}
// 根据条件查询一条记录
@Test
public void testGetByExpression() {
// 查询ID=3的用户
Query query = Query.build().eq("id", 3);
TUser user = dao.getByExpression(query);
print(user);
}
// 条件查询
// 查询username='张三'的用户
@Test
public void testFind() {
Q