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

com.jeesuite.mybatis.crud.builder.CountAllBuilder Maven / Gradle / Ivy

There is a newer version: 1.4.0
Show newest version
/**
 * 
 */
package com.jeesuite.mybatis.crud.builder;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.apache.ibatis.jdbc.SQL;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.ResultMap;
import org.apache.ibatis.mapping.SqlCommandType;
import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.reflection.SystemMetaObject;
import org.apache.ibatis.session.Configuration;

import com.jeesuite.mybatis.crud.CrudMethods;
import com.jeesuite.mybatis.crud.helper.EntityMapper;
import com.jeesuite.mybatis.crud.helper.TableMapper;

/**
 * @description 
* @author vakin * @date 2015年12月2日 * @Copyright (c) 2015, jwww */ public class CountAllBuilder extends AbstractMethodBuilder{ @Override String[] methodNames() { return new String[]{CrudMethods.countAll.name()}; } @Override SqlCommandType sqlCommandType() { return SqlCommandType.SELECT; } @Override String buildSQL(EntityMapper entityMapper, boolean selective) { TableMapper tableMapper = entityMapper.getTableMapper(); return new SQL().SELECT("COUNT(1)").FROM(tableMapper.getName()).toString(); } @Override void setResultType(Configuration configuration, MappedStatement statement, Class entityClass) { ResultMap.Builder builder = new ResultMap.Builder(configuration, "long", Long.class, new ArrayList<>(), true); MetaObject metaObject = SystemMetaObject.forObject(statement); List resultMaps = Arrays.asList(builder.build()); metaObject.setValue("resultMaps", resultMaps); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy