MiniDao 是一款轻量级JAVA持久层框架,基于 SpringJdbc + Freemarker 实现,具备Mybatis一样的SQL分离和逻辑标签能力。Minidao产生的初衷是为了解决Hibernate项目,在复杂SQL具备Mybatis一样的灵活能力,同时支持事务同步。

当前版本:v1.7.1 | 2021-03-29
- An powerful enhanced toolkit of SpringJdbc for simplify development
 
具有以下特征:
- @MiniDao
 - public interface EmployeeDao {
 - @Arguments({ "employee"})
 - @Sql("select * from employee")
 - List
 - @Sql("select * from employee where id = :id")
 - Employee get(@Param("id") String id);
 - @Sql("select * from employee where empno = :empno and name = :name")
 - Map getMap(@Param("empno")String empno,@Param("name")String name);
 - @Sql("SELECT count(*) FROM employee")
 - Integer getCount();
 - int update(@Param("employee") Employee employee);
 - void insert(@Param("employee") Employee employee);
 - @ResultType(Employee.class)
 - public MiniDaoPage
 getAll(@Param("employee") Employee employee,@Param("page") int page,@Param("rows") int rows); 
[EmployeeDao_getAllEmployees.sql]
- SELECT * FROM employee where 1=1
 - <#if employee.age ?exists>
 - and age = :employee.age
 - #if>
 - <#if employee.name ?exists>
 - and name = :employee.name
 - #if>
 - <#if employee.empno ?exists>
 - and empno = :employee.empno
 - #if>
 
- public class Client {
 - public static void main(String args[]) {
 - BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
 - EmployeeDao employeeDao = (EmployeeDao) factory.getBean("employeeDao");
 - Employee employee = new Employee();
 - String id = UUID.randomUUID().toString().replaceAll("-", "").toUpperCase();
 - employee.setId(id);
 - employee.setEmpno("A001");
 - employee.setSalary(new BigDecimal(5000));
 - employee.setBirthday(new Date());
 - employee.setName("scott");
 - employee.setAge(25);
 - //调用minidao方法插入
 - employeeDao.insert(employee);
 - }
 - }
 
【编辑推荐】