package dev.elaine.springlab.mybatis;

import java.lang.reflect.Proxy;

public final class MapperProxySample {
    private MapperProxySample() {}

    public interface UserMapper {
        String findName(long userId);
    }

    public static UserMapper createMapper() {
        return (UserMapper) Proxy.newProxyInstance(
                UserMapper.class.getClassLoader(),
                new Class<?>[] {UserMapper.class},
                (proxy, method, arguments) -> {
                    if (method.getName().equals("findName")) {
                        return "用户-" + arguments[0];
                    }
                    throw new UnsupportedOperationException(method.getName());
                });
    }
}

