All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tmsps.ne4springboot.base.IBaseService Maven / Gradle / Ivy

There is a newer version: 3.4.2.1
Show newest version
package com.tmsps.ne4springboot.base;

import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;

import com.tmsps.ne4springboot.orm.model.DataModel;
import com.tmsps.ne4springboot.orm.param.NeParamList;
import com.tmsps.ne4springboot.orm.page.Page;

/**
 *======================================================
 * @author zhangwei [email protected] 
 *------------------------------------------------------
 * IBaseService base service interface
 *======================================================
 */
public interface IBaseService {

	//获取对象JdbcTemplate,便于使用JdbcTemplate提供的封装方法
	public JdbcTemplate getJdbcTemplate();

	//获取NamedParameterJdbcTemplate
	public NamedParameterJdbcTemplate getNamedParameterJdbcTemplate();

	//与数据库表的信息对应,保存进入数据库,sync 为是否需要同步一次Model,用于数据库中默认属性的回填
	public int save(DataModel model);

	public DataModel save(DataModel model, boolean sync);

	public int saveTemplate(DataModel model);

	public DataModel saveTemplate(DataModel model, boolean sync);

	//批量保存数据
	public void saves(List datas);

	public  T findById(Object idVal, final Class clazz);

	public Map findObj(String sql);

	public Map findObj(String sql, Object[] vals);

	public  T findObj(String sql, Class clazz);

	public List> findList(String sql);

	public  List findList(String sql, Class clazz);

	public List> findList(String sql, Object[] vals);

	//1.6.5新增
	public  List findList(Class clazz, String sql, Object... vals);

	//查询结果集封装成BEAN
	public  T findObj(String sql, Object[] vals, Class modelClass);

	//1.6.5新增
	public  T findObj(Class clazz, String sql, Object... vals);

	/**
	 * @Description: 新增查询参数为 NeParamList
	 * @author: zhangwei(Mr.z)[email protected] @date: 2023/03/02
	 */
	public  T findObj(Class clazz, String sql, NeParamList params);

	/**
	 * 修改Id类型为Object
	 */
	public int deleteById(Object id, Class clazz);
	/**
	 * 	@Description: 所有字段更新
	 *	@author: zhangwei(Mr.z)[email protected]
	 *	@date: 2023/05/20
	 */
	public int update(DataModel obj);
	/**
	 * 	@Description: 仅更新非NULL的变更字段
	 *	@author: zhangwei(Mr.z)[email protected]
	 *	@date: 2023/05/20
	 */
	public int updateTemplate(DataModel obj);

	public Page pageinate(int pageNumber, int pageSize, String select, String sqlExceptSelect, Object... paras);

	public Page pageinate(int pageNumber, int pageSize, String select, String sqlExceptSelect);

	//新增page参数,少一个形参
	public Page pageinate(Page page, String select, String sqlExceptSelect, NeParamList params);

	public Page pageinate(Page page, String select, String sqlExceptSelect, Object... paras);

	public Page pageinate(Page page, String select, String sqlExceptSelect);

	public List> findList(String sql, NeParamList params);

	public  List findList(Class clazz, String sql, NeParamList params);

	public  T queryForObject(String sql, NeParamList params, Class requiredType);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy