CRUD的通用设计
1、通过主键查询实体类信息
selectByPrimaryKey(T.class,Object primaryKey)
原理:通过反射获取class中的主键,字段,表名等信息,通过Mybatis查询数据,将查询出的数据打包成T对象的实例
2、插入测试数据
insertSelective(T t)
原理:根据t查询出表名,字段名,字段值,打包成为一个map,保存起来
3. 根据主键删除数据
deleteByPrimaryKey(Class<T> clazz, Object primaryValue)
通过反射查询出class的表名,主键名。将表名,主键名,主键值打包成为一个map,作为参数传递到Mybatis
4. 根据主键更新对象
<T> int updateByPrimaryKey(T t) throws Exception;
根据反射查询T的表名,主键值,主键名,字段名,字段值,然后根据主键更新类的值
5.批量插入数据
insertBatch(List<T> list)
遍历list获取每个元素的值以及对应的T,生成对象的sql字段对象
6. 根据条件删除
deleteByCondition(Class<T> clazz, String conditionExp, Map<String, Object> conditionParam)
7. 分页查询
<T> List<T> selectAdvanced(Class<T> clazz, GeneralQueryParam queryParam) throws Exception
queryParam:queryClazz,queryColumn,conditionExp,conditionParam,pageSize,pageNo,orderExp