Эх сурвалжийг харах

git-svn-id: https://192.168.57.71/svn/jsgkj@558 931142cf-59ea-a443-aa0e-51397b428577

xt_yuanxd 8 жил өмнө
parent
commit
e0603e6d3b

+ 57 - 0
gkaqv2/trunk/modules/common/src/main/java/com/xt/js/gkaq/common/BaseMapper.java

@@ -0,0 +1,57 @@
+package com.xt.js.gkaq.common;
+
+import java.util.List;
+
+/**
+ * Mapper基类
+ * 
+ * @author 袁晓冬
+ *
+ * @param <T>
+ */
+public interface BaseMapper<T> {
+
+    /**
+     * 根据主键物理删除记录
+     * 
+     * @param id
+     *            String
+     * @return int
+     */
+    int deleteByPrimaryKey(String id);
+
+    /**
+     * 新增记录
+     * 
+     * @param record
+     *            T
+     * @return int
+     */
+    int insert(T record);
+
+    /**
+     * 根据主键查找记录
+     * 
+     * @param id
+     *            String
+     * @return T
+     */
+    T selectByPrimaryKey(String id);
+
+    /**
+     * 检索所有记录,包括记录状态为删除的记录
+     * 
+     * @return List<T>
+     */
+    List<T> selectAll();
+
+    /**
+     * 根据主键更新记录
+     * 
+     * @param record
+     *            T
+     * @return
+     */
+    int updateByPrimaryKey(T record);
+
+}

+ 56 - 0
gkaqv2/trunk/modules/common/src/main/java/com/xt/js/gkaq/common/BaseService.java

@@ -0,0 +1,56 @@
+package com.xt.js.gkaq.common;
+
+import java.util.List;
+
+/**
+ * Mapper基类
+ * 
+ * @author 袁晓冬
+ *
+ * @param <T>
+ */
+public interface BaseService<T> {
+
+	/**
+	 * 根据主键物理删除记录
+	 * 
+	 * @param id
+	 *            String
+	 * @return int
+	 */
+	int deleteByID(String id);
+
+	/**
+	 * 新增记录
+	 * 
+	 * @param record
+	 *            T
+	 * @return int
+	 */
+	int add(T record);
+
+	/**
+	 * 根据主键查找记录
+	 * 
+	 * @param id
+	 *            String
+	 * @return T
+	 */
+	T findByID(String id);
+
+	/**
+	 * 检索所有记录,包括记录状态为删除的记录
+	 * 
+	 * @return List<T>
+	 */
+	List<T> findAll();
+
+	/**
+	 * 根据主键更新记录
+	 * 
+	 * @param record
+	 *            T
+	 * @return
+	 */
+	int update(T record);
+}

+ 62 - 0
gkaqv2/trunk/modules/common/src/main/java/com/xt/js/gkaq/common/BaseServiceImpl.java

@@ -0,0 +1,62 @@
+package com.xt.js.gkaq.common;
+
+import java.util.List;
+
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 服务层共通基类
+ * 
+ * @author 袁晓冬
+ *
+ * @param <T>
+ */
+public abstract class BaseServiceImpl<T> implements BaseService<T> {
+	/**
+	 * 获取数据库操作接口
+	 * 
+	 * @return
+	 */
+	protected abstract BaseMapper<T> getMapper();
+
+	/**
+	 * 获取检查过的Mapper对象
+	 * 
+	 * @return
+	 */
+	private BaseMapper<T> getCheckedMapper() {
+		BaseMapper<T> mapper = getMapper();
+		if (null == mapper) {
+			throw new RuntimeException("mapper 不能为空!");
+		}
+		return mapper;
+	}
+
+	@Transactional
+	@Override
+	public int deleteByID(String id) {
+		return getCheckedMapper().deleteByPrimaryKey(id);
+	}
+
+	@Transactional
+	@Override
+	public int add(T record) {
+		return getCheckedMapper().insert(record);
+	}
+
+	@Override
+	public T findByID(String id) {
+		return getCheckedMapper().selectByPrimaryKey(id);
+	}
+
+	@Override
+	public List<T> findAll() {
+		return getCheckedMapper().selectAll();
+	}
+
+	@Transactional
+	@Override
+	public int update(T record) {
+		return getCheckedMapper().updateByPrimaryKey(record);
+	}
+}