added interface and abstract class for crate sql statement