1.日志依据层级归类输出,支持扩展
2.spring-mybatis持久层基础接口集成,支持扩展
3.常用业务接口定义,支持扩展.
只是一个简单的常用操作的集合(CRUD +Pager),方便spring与mybatis项目的整合开发.关于spring-mybatis的整合在插件的configuration中有实例,直接copy出来修改就可以用.
实例展示
1.引入spring-mybatis-data-common-1.0.jar包
下载地址: http://files.cnblogs.com/dennisit/spring-mybatis-data-common-1.0%E6%8F%92%E4%BB%B6.7z
copy插件configuration中的log4j.properties文件到自己项目中根据自己需要放置,实例中放置在WEB-INF/property文件夹下,在web.xml指定配置
复制代码
复制代码
springm
vc的整合,可以直接从插件configuration中copy出来修改.都是以往的普通操作流程
2.自定义实体类.如实例中我定义的实体为Article类.
3.依赖插件做持久层
复制代码
package com.spring.mybatis.data.common.demo.dao;
import com.spring.mybatis.data.common.dao.BaseCudDao;
import com.spring.mybatis.data.common.dao.BaseReadDao;
import com.spring.mybatis.data.common.demo.domain.Article;
public interface ArticleDao extends BaseCudDao,BaseReadDao{
//...可以自己扩展更多接口操作
}
复制代码
插件中BaseCudDao接口定义了CUD操作
复制代码
/**
* mybatis persistence for base cud operate
*
* @author dennisit@163.com
*
* @param
*/
public interface BaseCudDao {
// add entity
public Integer insert(T entity) throws DaoException;
// update entity
public Integer update(T entity) throws DaoException;
// delete entity
public Integer delete(Long id) throws DaoException;
}
复制代码
插件中BaseReadDao接口定义了Read操作
复制代码
/**
* mybatis persistence for base read operate
* @author dennisit@163.com
*
* @param
*/
public interface BaseReadDao {
// query entity by id
public T selectById(Long id) throws DaoException;
// query entity by condition
public List find(@Param("object") T t,
@Param("start") int start,
@Param("size") int size) throws DaoException;
// query entity collection size by condition
public Integer findCount(@Param("object") T t) throws DaoException;
}
复制代码
继承插件接口,之后我们做自己的实现即可,当然可以自己扩展更多的接口做持久层.实例接口实现
< xml version="1.0" encoding="UTF-8" >
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
INSERT INTO tb_article(
title ,
content ,
createDate)
VALUES(
#{title},
#{content},
#{createDate}
)
DELETE FROM
tb_article
WHERE
id=#{id}
SELECT
id AS id,title AS title,content AS content,createDate AS createDate
FROM
tb_article
WHERE
id=#{id}
SELECT
id AS id,title AS title,content AS content,createDate AS createDate
FROM
tb_article
WHERE
1=1
LIMIT #{start},#{size}
SELECT
count(1)
FROM
tb_article
WHERE
1=1
UPDATE
tb_article