1.13.集合工具类Collections

一.集合工具类Collections的概述和常用API:

  • addAll方法中第一个形参的数据类型为Collection<T>,意味着第一个参数是针对单列集合->所以addAll方法只能给单列集合Collection批量添加元素,双列集合Map是不行的

  • addAll方法中第二个形参T...elements是可变参数,意味着无论添加多少个元素都可以,元素类型不限

  • shuffle方法的形参List<?> list的数据类型为List< ? >,意味着只能传递List的子类集合即ArrayList集合、LinkedList集合和Vector集合

  • shuffle方法用于打乱List系列集合的元素的顺序,之所以针对List系列集合,是因为List系列集合是有序的,而Set系列集合是无序的,打乱Set系列集合没有任何意义

  • 类Collections属于工具类,因此类Collections的构造方法会被私有化,不让外界创建类Collections的对象,而且工具类大多数方法都被static修饰,因此可以直接类名.方法名进行调用,类Collections同理:


二.集合工具类Collections还有其他的API方法:

  • 第一个sort方法是按照默认规则进行排序

  • 第二个sort方法的排序规则可以自己指定,其中第二个sort方法中的第二个形参Comparator<T> c的数据类型为接口Comparator<T>,使用该接口指定要排序的规则:


三.集合工具类Collections的常用API演示:

1.addAll方法:批量添加元素

package com.itheima.a05myCollections;
​
import java.util.ArrayList;
import java.util.Collections;
​
public class CollectionsDemo1 {
    public static void main(String[] args) {
        //1.创建集合对象
        ArrayList<String> list=new ArrayList<>();
​
        //2.批量添加元素
        Collections.addAll(list,"abc","bcd","qwer","df","asdf","zxcv","1234","qwer");
​
        //3.打印集合
        System.out.println(list);
        //运行结果为[abc, bcd, qwer, df, asdf, zxcv, 1234, qwer]
    }
}

2.shuffle方法:打乱List集合元素的顺序

package com.itheima.a05myCollections;
​
import java.util.ArrayList;
import java.util.Collections;
​
public class CollectionsDemo1 {
    public static void main(String[] args) {
        //1.创建集合对象
        ArrayList<String> list=new ArrayList<>();
​
        //2.批量添加元素
        Collections.addAll(list,"abc","bcd","qwer","df","asdf","zxcv","1234","qwer");
​
        //3.打印集合
        System.out.println(list);
        //运行结果为[abc, bcd, qwer, df, asdf, zxcv, 1234, qwer]
​
        //4.shuffle方法
        Collections.shuffle(list);
​
        //5.打印集合
        System.out.println(list);
        //运行结果为[zxcv, asdf, qwer, qwer, bcd, df, 1234, abc]
        /*相对第一次打印结果,顺序已被打乱,而且每一次打乱的结果都会不一样*/
    }
}

四.集合工具类Collections其他的API方法演示:

1.sort方法1:根据默认的规则进行排序

package com.itheima.a05myCollections;
​
import java.util.ArrayList;
import java.util.Collections;
​
public class CollectionsDemo2 {
    public static void main(String[] args) {
        //默认规则,需要重写Comparable接口的compareTo方法->Integer已经实现,按照从小到大的规则排序
        /*如果是自定义对象,需要自己指定规则*/
        ArrayList<Integer> list=new ArrayList<>();
        Collections.addAll(list,10,1,2,4,8,5,9,6,7,3);
        Collections.sort(list);
        System.out.println(list);
        //运行结果为[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    }
}

2.sort方法2:根据指定的规则进行排序,该方法的第二个形参是接口,使用该接口指定要排序的规则

package com.itheima.a05myCollections;
​
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
​
public class CollectionsDemo2 {
    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<>();
        Collections.addAll(list,10,1,2,4,8,5,9,6,7,3);
        Collections.sort(list, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                //按照从大到小的顺序排序,返回o1-o2就是按照从小到大的顺序排序
                return o2-o1;
            }
        });
        System.out.println(list);
        //运行结果为[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
    }
}

3.binarySearch方法:以二分查找法查找元素,二分查找前必须保证元素有序即升序或降序,要不然查找可能会遗漏

package com.itheima.a05myCollections;
​
import java.util.ArrayList;
import java.util.Collections;
​
public class CollectionsDemo2 {
    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<>();
        //需要元素有序,这样才能进行二分查找
        Collections.addAll(list,1,2,3,4,5,6,7,8,9,10);
        System.out.println( Collections.binarySearch(list, 9) ); //运行结果为8,表示元素9在集合list中8索引的位置上
        System.out.println( Collections.binarySearch(list, 1) ); //运行结果为0,表示元素1在集合list中0索引的位置上
        System.out.println( Collections.binarySearch(list, 20) ); //运行结果为-11,小于0,表示元素20不在集合list中
    }
}

4.copy方法:拷贝集合中的元素

  • copy两个参数dest和src的关系:第二个参数src的内容拷贝到第一个参数dest的内容里,最终被拷贝的数据中第一个参数dest的内容会被第二个参数src的内容覆盖,第二个参数src的内容不变

  • copy两个参数都是集合,由于是第二个参数src的内容拷贝到第一个参数dest的内容里,因此第一个参数dest集合的长度必须大于等于第二个参数src集合的长度,否则就会有部分元素拷贝到第一个参数dest集合外

package com.itheima.a05myCollections;
​
import java.util.ArrayList;
import java.util.Collections;
​
public class CollectionsDemo2 {
    public static void main(String[] args) {
        //把list1中的元素拷贝到list2中
        //会覆盖原来的元素
        //注:如果list1的长度 > list2的长度,方法会报错
        ArrayList<Integer> list1=new ArrayList<>();
        ArrayList<Integer> list2=new ArrayList<>();
        Collections.addAll(list1,1,2,3,4,5,6,7,8,9,10);
        Collections.addAll(list2,0,0,0,0,0,0,0,0,0,0);
        Collections.copy(list2,list1);
        System.out.println(list1); //运行结果为[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        System.out.println(list2); //运行结果为[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    }
}
package com.itheima.a05myCollections;
​
import java.util.ArrayList;
import java.util.Collections;
​
public class CollectionsDemo2 {
    public static void main(String[] args) {
        //把list1中的元素拷贝到list2中
        //会覆盖原来的元素
        //注:如果list1的长度 > list2的长度,方法会报错
        ArrayList<Integer> list1=new ArrayList<>();
        ArrayList<Integer> list2=new ArrayList<>();
        Collections.addAll(list1,1,2,3,4,5,6,7,8,9,10);
        Collections.addAll(list2,0,0,0,0,0,0,0,0,0,0,123);
        Collections.copy(list2,list1);
        System.out.println(list1); //运行结果为[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        System.out.println(list2); //运行结果为[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 123]
    }
}

5.fill方法:使用指定的元素填充集合,具体是指用某个元素替换集合中的所有元素

package com.itheima.a05myCollections;
​
import java.util.ArrayList;
import java.util.Collections;
​
public class CollectionsDemo2 {
    public static void main(String[] args) {
        //把集合中现有的所有数据,都修改为指定数据
        ArrayList<Integer> list=new ArrayList<>();
        Collections.addAll(list,1,2,3,4,5,6,7,8,9,10);
        Collections.fill(list,100);
        System.out.println(list);
        //运行结果为[100, 100, 100, 100, 100, 100, 100, 100, 100, 100]
    }
}

6.max/min方法:

a.根据默认的自然排序获取最大值/最小值:默认的自然排序就是先按照从小到大的顺序排序(注:String型中默认是按照字母的abcdefg...顺序进行排列的),然后找最大值和最小值
package com.itheima.a05myCollections;

import java.util.ArrayList;
import java.util.Collections;

public class CollectionsDemo2 {
    public static void main(String[] args) {
        //求最大值或者最小值
        ArrayList<Integer> list=new ArrayList<>();
        Collections.addAll(list,1,2,3,4,5,6,7,8,9,10);
        System.out.println( Collections.max(list) ); //运行结果为10
        System.out.println( Collections.min(list) ); //运行结果为1
    }
}
package com.itheima.a05myCollections;

import java.util.ArrayList;
import java.util.Collections;

public class CollectionsDemo2 {
    public static void main(String[] args) {
        //求最大值或者最小值
        ArrayList<Integer> list=new ArrayList<>();
        Collections.addAll(list,1,3,2,4,5,8,7,6,9,10);
        System.out.println( Collections.max(list) ); //运行结果为10
        System.out.println( Collections.min(list) ); //运行结果为1
    }
}
b.自定义排序规则后再找最大值和最小值:
package com.itheima.a05myCollections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class CollectionsDemo2 {
    public static void main(String[] args) {
        //String型中默认是按照字母的abcdefg...顺序进行排列的
        /*现在要求按照字符串的长度进行排列,并且求出长度最长的字符串,
          此时默认的规则无法满足,因此就需要自己指定规则*/
        ArrayList<String> list=new ArrayList<>();
        Collections.addAll(list,"a","aa","aaa","aaaa");
        String result = Collections.max(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                //o1.length() - o2.length()是一种排序规则
                return o1.length() - o2.length();
            }
        });
        /*o2.length() - o1.length()就不行,这样求出的最大值就是a,
          这里可以在o2.length() - o1.length()和o1.length() - o2.length()之间相互试,
          哪个结果符合要求,就用哪个*/

        //打印
        System.out.println(result); //运行结果为aaaa
    }
}

7.swap方法:交换集合中指定位置的元素

package com.itheima.a05myCollections;

import java.util.ArrayList;
import java.util.Collections;

public class CollectionsDemo2 {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        Collections.addAll(list, 1, 2, 3);
        Collections.swap(list, 0, 2); //这里指的是把list集合中0索引上的元素和2索引上的元素互换内容
        System.out.println(list);
        //运行结果为[3, 2, 1]
    }
}

D:\ji-neng-da-sai\java\java-1\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:D:\ji-neng-da-sai\idea\IntelliJ IDEA 2019.3.5\lib\idea_rt.jar=51424:D:\ji-neng-da-sai\idea\IntelliJ IDEA 2019.3.5\bin" -Dfile.encoding=UTF-8 -classpath D:\ji-neng-da-sai\java\java-1\jre\lib\charsets.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\deploy.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\access-bridge-64.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\cldrdata.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\dnsns.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\jaccess.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\jfxrt.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\localedata.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\nashorn.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\sunec.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\sunjce_provider.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\sunmscapi.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\sunpkcs11.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\ext\zipfs.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\javaws.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\jce.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\jfr.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\jfxswt.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\jsse.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\management-agent.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\plugin.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\resources.jar;D:\ji-neng-da-sai\java\java-1\jre\lib\rt.jar;D:\ji-neng-da-sai\chushi\carbon\neu-admin\target\classes;D:\maven\repository\org\springframework\boot\spring-boot-devtools\2.2.12.RELEASE\spring-boot-devtools-2.2.12.RELEASE.jar;D:\maven\repository\org\springframework\boot\spring-boot\2.2.12.RELEASE\spring-boot-2.2.12.RELEASE.jar;D:\maven\repository\org\springframework\spring-core\5.2.12.RELEASE\spring-core-5.2.12.RELEASE.jar;D:\maven\repository\org\springframework\spring-jcl\5.2.12.RELEASE\spring-jcl-5.2.12.RELEASE.jar;D:\maven\repository\org\springframework\spring-context\5.2.12.RELEASE\spring-context-5.2.12.RELEASE.jar;D:\maven\repository\org\springframework\spring-expression\5.2.12.RELEASE\spring-expression-5.2.12.RELEASE.jar;D:\maven\repository\org\springframework\boot\spring-boot-autoconfigure\2.2.12.RELEASE\spring-boot-autoconfigure-2.2.12.RELEASE.jar;D:\maven\repository\io\springfox\springfox-swagger2\2.10.5\springfox-swagger2-2.10.5.jar;D:\maven\repository\io\springfox\springfox-spi\2.10.5\springfox-spi-2.10.5.jar;D:\maven\repository\io\springfox\springfox-core\2.10.5\springfox-core-2.10.5.jar;D:\maven\repository\net\bytebuddy\byte-buddy\1.10.18\byte-buddy-1.10.18.jar;D:\maven\repository\io\springfox\springfox-schema\2.10.5\springfox-schema-2.10.5.jar;D:\maven\repository\io\springfox\springfox-swagger-common\2.10.5\springfox-swagger-common-2.10.5.jar;D:\maven\repository\io\springfox\springfox-spring-web\2.10.5\springfox-spring-web-2.10.5.jar;D:\maven\repository\io\github\classgraph\classgraph\4.1.7\classgraph-4.1.7.jar;D:\maven\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;D:\maven\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;D:\maven\repository\org\springframework\plugin\spring-plugin-core\2.0.0.RELEASE\spring-plugin-core-2.0.0.RELEASE.jar;D:\maven\repository\org\springframework\spring-beans\5.2.12.RELEASE\spring-beans-5.2.12.RELEASE.jar;D:\maven\repository\org\springframework\spring-aop\5.2.12.RELEASE\spring-aop-5.2.12.RELEASE.jar;D:\maven\repository\org\springframework\plugin\spring-plugin-metadata\2.0.0.RELEASE\spring-plugin-metadata-2.0.0.RELEASE.jar;D:\maven\repository\org\mapstruct\mapstruct\1.3.1.Final\mapstruct-1.3.1.Final.jar;D:\maven\repository\io\swagger\swagger-annotations\1.5.21\swagger-annotations-1.5.21.jar;D:\maven\repository\io\swagger\swagger-models\1.5.21\swagger-models-1.5.21.jar;D:\maven\repository\com\fasterxml\jackson\core\jackson-annotations\2.10.5\jackson-annotations-2.10.5.jar;D:\maven\repository\io\springfox\springfox-swagger-ui\2.10.5\springfox-swagger-ui-2.10.5.jar;D:\maven\repository\mysql\mysql-connector-java\8.0.22\mysql-connector-java-8.0.22.jar;D:\ji-neng-da-sai\chushi\carbon\neu-framework\target\classes;D:\maven\repository\org\springframework\boot\spring-boot-starter-web\2.2.12.RELEASE\spring-boot-starter-web-2.2.12.RELEASE.jar;D:\maven\repository\org\springframework\boot\spring-boot-starter\2.2.12.RELEASE\spring-boot-starter-2.2.12.RELEASE.jar;D:\maven\repository\org\springframework\boot\spring-boot-starter-logging\2.2.12.RELEASE\spring-boot-starter-logging-2.2.12.RELEASE.jar;D:\maven\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\maven\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\maven\repository\org\apache\logging\log4j\log4j-to-slf4j\2.15.0\log4j-to-slf4j-2.15.0.jar;D:\maven\repository\org\apache\logging\log4j\log4j-api\2.15.0\log4j-api-2.15.0.jar;D:\maven\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;D:\maven\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\maven\repository\org\springframework\boot\spring-boot-starter-json\2.2.12.RELEASE\spring-boot-starter-json-2.2.12.RELEASE.jar;D:\maven\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.10.5\jackson-datatype-jdk8-2.10.5.jar;D:\maven\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.10.5\jackson-datatype-jsr310-2.10.5.jar;D:\maven\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.10.5\jackson-module-parameter-names-2.10.5.jar;D:\maven\repository\org\springframework\boot\spring-boot-starter-tomcat\2.2.12.RELEASE\spring-boot-starter-tomcat-2.2.12.RELEASE.jar;D:\maven\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.41\tomcat-embed-core-9.0.41.jar;D:\maven\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.41\tomcat-embed-el-9.0.41.jar;D:\maven\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.41\tomcat-embed-websocket-9.0.41.jar;D:\maven\repository\org\springframework\boot\spring-boot-starter-validation\2.2.12.RELEASE\spring-boot-starter-validation-2.2.12.RELEASE.jar;D:\maven\repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;D:\maven\repository\org\hibernate\validator\hibernate-validator\6.0.21.Final\hibernate-validator-6.0.21.Final.jar;D:\maven\repository\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar;D:\maven\repository\org\springframework\spring-web\5.2.12.RELEASE\spring-web-5.2.12.RELEASE.jar;D:\maven\repository\org\springframework\spring-webmvc\5.2.12.RELEASE\spring-webmvc-5.2.12.RELEASE.jar;D:\maven\repository\org\springframework\boot\spring-boot-starter-aop\2.2.12.RELEASE\spring-boot-starter-aop-2.2.12.RELEASE.jar;D:\maven\repository\org\aspectj\aspectjweaver\1.9.6\aspectjweaver-1.9.6.jar;D:\maven\repository\com\alibaba\druid-spring-boot-starter\1.2.4\druid-spring-boot-starter-1.2.4.jar;D:\maven\repository\com\alibaba\druid\1.2.4\druid-1.2.4.jar;D:\maven\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;D:\maven\repository\com\github\penggle\kaptcha\2.3.2\kaptcha-2.3.2.jar;D:\maven\repository\com\jhlabs\filters\2.0.235-1\filters-2.0.235-1.jar;D:\maven\repository\com\github\oshi\oshi-core\5.3.6\oshi-core-5.3.6.jar;D:\maven\repository\net\java\dev\jna\jna\5.6.0\jna-5.6.0.jar;D:\maven\repository\net\java\dev\jna\jna-platform\5.6.0\jna-platform-5.6.0.jar;D:\ji-neng-da-sai\chushi\carbon\neu-system\target\classes;D:\ji-neng-da-sai\chushi\carbon\neu-quartz\target\classes;D:\maven\repository\org\quartz-scheduler\quartz\2.3.2\quartz-2.3.2.jar;D:\maven\repository\com\mchange\mchange-commons-java\0.2.15\mchange-commons-java-0.2.15.jar;D:\ji-neng-da-sai\chushi\carbon\neu-common\target\classes;D:\maven\repository\com\github\xiaoymin\knife4j-spring-boot-starter\2.0.8\knife4j-spring-boot-starter-2.0.8.jar;D:\maven\repository\com\github\xiaoymin\knife4j-spring-boot-autoconfigure\2.0.8\knife4j-spring-boot-autoconfigure-2.0.8.jar;D:\maven\repository\com\github\xiaoymin\knife4j-spring\2.0.8\knife4j-spring-2.0.8.jar;D:\maven\repository\com\github\xiaoymin\knife4j-annotations\2.0.8\knife4j-annotations-2.0.8.jar;D:\maven\repository\com\github\xiaoymin\knife4j-core\2.0.8\knife4j-core-2.0.8.jar;D:\maven\repository\org\javassist\javassist\3.25.0-GA\javassist-3.25.0-GA.jar;D:\maven\repository\io\springfox\springfox-bean-validators\2.10.5\springfox-bean-validators-2.10.5.jar;D:\maven\repository\io\springfox\springfox-spring-webmvc\2.10.5\springfox-spring-webmvc-2.10.5.jar;D:\maven\repository\com\github\xiaoymin\knife4j-spring-ui\2.0.8\knife4j-spring-ui-2.0.8.jar;D:\maven\repository\org\springframework\spring-context-support\5.2.12.RELEASE\spring-context-support-5.2.12.RELEASE.jar;D:\maven\repository\org\springframework\boot\spring-boot-starter-security\2.2.12.RELEASE\spring-boot-starter-security-2.2.12.RELEASE.jar;D:\maven\repository\org\springframework\security\spring-security-config\5.2.8.RELEASE\spring-security-config-5.2.8.RELEASE.jar;D:\maven\repository\org\springframework\security\spring-security-core\5.2.8.RELEASE\spring-security-core-5.2.8.RELEASE.jar;D:\maven\repository\org\springframework\security\spring-security-web\5.2.8.RELEASE\spring-security-web-5.2.8.RELEASE.jar;D:\maven\repository\com\github\pagehelper\pagehelper-spring-boot-starter\1.3.0\pagehelper-spring-boot-starter-1.3.0.jar;D:\maven\repository\org\mybatis\spring\boot\mybatis-spring-boot-starter\2.1.3\mybatis-spring-boot-starter-2.1.3.jar;D:\maven\repository\org\springframework\boot\spring-boot-starter-jdbc\2.2.12.RELEASE\spring-boot-starter-jdbc-2.2.12.RELEASE.jar;D:\maven\repository\com\zaxxer\HikariCP\3.4.5\HikariCP-3.4.5.jar;D:\maven\repository\org\springframework\spring-jdbc\5.2.12.RELEASE\spring-jdbc-5.2.12.RELEASE.jar;D:\maven\repository\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\2.1.3\mybatis-spring-boot-autoconfigure-2.1.3.jar;D:\maven\repository\org\mybatis\mybatis\3.5.5\mybatis-3.5.5.jar;D:\maven\repository\org\mybatis\mybatis-spring\2.0.5\mybatis-spring-2.0.5.jar;D:\maven\repository\com\github\pagehelper\pagehelper-spring-boot-autoconfigure\1.3.0\pagehelper-spring-boot-autoconfigure-1.3.0.jar;D:\maven\repository\com\github\pagehelper\pagehelper\5.2.0\pagehelper-5.2.0.jar;D:\maven\repository\com\github\jsqlparser\jsqlparser\3.2\jsqlparser-3.2.jar;D:\maven\repository\org\springframework\boot\spring-boot-starter-data-redis\2.2.12.RELEASE\spring-boot-starter-data-redis-2.2.12.RELEASE.jar;D:\maven\repository\org\springframework\data\spring-data-redis\2.2.12.RELEASE\spring-data-redis-2.2.12.RELEASE.jar;D:\maven\repository\org\springframework\data\spring-data-keyvalue\2.2.12.RELEASE\spring-data-keyvalue-2.2.12.RELEASE.jar;D:\maven\repository\org\springframework\data\spring-data-commons\2.2.12.RELEASE\spring-data-commons-2.2.12.RELEASE.jar;D:\maven\repository\org\springframework\spring-tx\5.2.12.RELEASE\spring-tx-5.2.12.RELEASE.jar;D:\maven\repository\org\springframework\spring-oxm\5.2.12.RELEASE\spring-oxm-5.2.12.RELEASE.jar;D:\maven\repository\io\lettuce\lettuce-core\5.2.2.RELEASE\lettuce-core-5.2.2.RELEASE.jar;D:\maven\repository\io\netty\netty-common\4.1.55.Final\netty-common-4.1.55.Final.jar;D:\maven\repository\io\netty\netty-handler\4.1.55.Final\netty-handler-4.1.55.Final.jar;D:\maven\repository\io\netty\netty-resolver\4.1.55.Final\netty-resolver-4.1.55.Final.jar;D:\maven\repository\io\netty\netty-buffer\4.1.55.Final\netty-buffer-4.1.55.Final.jar;D:\maven\repository\io\netty\netty-codec\4.1.55.Final\netty-codec-4.1.55.Final.jar;D:\maven\repository\io\netty\netty-transport\4.1.55.Final\netty-transport-4.1.55.Final.jar;D:\maven\repository\io\projectreactor\reactor-core\3.3.12.RELEASE\reactor-core-3.3.12.RELEASE.jar;D:\maven\repository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;D:\maven\repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;D:\maven\repository\org\apache\commons\commons-lang3\3.9\commons-lang3-3.9.jar;D:\maven\repository\com\fasterxml\jackson\core\jackson-databind\2.10.5.1\jackson-databind-2.10.5.1.jar;D:\maven\repository\com\fasterxml\jackson\core\jackson-core\2.10.5\jackson-core-2.10.5.jar;D:\maven\repository\com\alibaba\fastjson\1.2.74\fastjson-1.2.74.jar;D:\maven\repository\commons-io\commons-io\2.5\commons-io-2.5.jar;D:\maven\repository\commons-fileupload\commons-fileupload\1.3.3\commons-fileupload-1.3.3.jar;D:\maven\repository\org\apache\poi\poi-ooxml\4.1.2\poi-ooxml-4.1.2.jar;D:\maven\repository\org\apache\poi\poi\4.1.2\poi-4.1.2.jar;D:\maven\repository\commons-codec\commons-codec\1.13\commons-codec-1.13.jar;D:\maven\repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;D:\maven\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;D:\maven\repository\com\zaxxer\SparseBitSet\1.2\SparseBitSet-1.2.jar;D:\maven\repository\org\apache\poi\poi-ooxml-schemas\4.1.2\poi-ooxml-schemas-4.1.2.jar;D:\maven\repository\org\apache\xmlbeans\xmlbeans\3.1.0\xmlbeans-3.1.0.jar;D:\maven\repository\org\apache\commons\commons-compress\1.19\commons-compress-1.19.jar;D:\maven\repository\com\github\virtuald\curvesapi\1.06\curvesapi-1.06.jar;D:\maven\repository\org\yaml\snakeyaml\1.25\snakeyaml-1.25.jar;D:\maven\repository\io\jsonwebtoken\jjwt\0.9.1\jjwt-0.9.1.jar;D:\maven\repository\org\apache\commons\commons-pool2\2.7.0\commons-pool2-2.7.0.jar;D:\maven\repository\eu\bitwalker\UserAgentUtils\1.21\UserAgentUtils-1.21.jar;D:\maven\repository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;D:\maven\repository\org\projectlombok\lombok\1.18.16\lombok-1.18.16.jar;D:\maven\repository\cn\hutool\hutool-all\4.5.11\hutool-all-4.5.11.jar;D:\ji-neng-da-sai\chushi\carbon\neu-generator\target\classes;D:\maven\repository\org\apache\velocity\velocity\1.7\velocity-1.7.jar;D:\maven\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;D:\maven\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;D:\ji-neng-da-sai\chushi\carbon\neu-common-biz\target\classes;D:\ji-neng-da-sai\chushi\carbon\neu-carbon-footprint\target\classes;D:\ji-neng-da-sai\chushi\carbon\neu-carbon-service\target\classes;D:\ji-neng-da-sai\chushi\carbon\neu-carbon-mapper\target\classes;D:\maven\repository\io\gitee\ForteScarlet\mock.java\1.9.2\mock.java-1.9.2.jar;D:\maven\repository\commons-beanutils\commons-beanutils\1.9.4\commons-beanutils-1.9.4.jar;D:\maven\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;D:\ji-neng-da-sai\chushi\carbon\neu-carbon-mes\target\classes;D:\ji-neng-da-sai\chushi\carbon\neu-carbon-bid\target\classes;D:\ji-neng-da-sai\chushi\carbon\neu-carbon-report\target\classes;D:\ji-neng-da-sai\chushi\carbon\neu-carbon-scm\target\classes;D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes com.neu.NeuApplication Application Version: 3.3.0 Spring Boot Version: 2.2.12.RELEASE 17:05:17.488 [background-preinit] INFO o.h.v.i.util.Version - [<clinit>,21] - HV000001: Hibernate Validator 6.0.21.Final 17:05:17.500 [restartedMain] INFO c.neu.NeuApplication - [logStarting,55] - Starting NeuApplication on Lg139 with PID 17056 (D:\ji-neng-da-sai\chushi\carbon\neu-admin\target\classes started by Lg133 in D:\ji-neng-da-sai\chushi\carbon) 17:05:17.503 [restartedMain] DEBUG c.neu.NeuApplication - [logStarting,56] - Running with Spring Boot v2.2.12.RELEASE, Spring v5.2.12.RELEASE 17:05:17.503 [restartedMain] INFO c.neu.NeuApplication - [logStartupProfileInfo,655] - The following profiles are active: druid 17:05:20.938 [restartedMain] INFO o.a.c.h.Http11NioProtocol - [log,173] - Initializing ProtocolHandler ["http-nio-9090"] 17:05:20.938 [restartedMain] INFO o.a.c.c.StandardService - [log,173] - Starting service [Tomcat] 17:05:20.938 [restartedMain] INFO o.a.c.c.StandardEngine - [log,173] - Starting Servlet engine: [Apache Tomcat/9.0.41] 17:05:21.117 [restartedMain] INFO o.a.c.c.C.[.[.[/] - [log,173] - Initializing Spring embedded WebApplicationContext 17:05:21.721 [restartedMain] DEBUG c.n.f.s.f.JwtAuthenticationTokenFilter - [init,242] - Filter 'jwtAuthenticationTokenFilter' configured for use 17:05:23.147 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - [refresh,559] - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysLogininforController': Unsatisfied dependency expressed through field 'logininforService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysLogininforServiceImpl': Unsatisfied dependency expressed through field 'logininforMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysLogininforMapper' defined in file [D:\ji-neng-da-sai\chushi\carbon\neu-system\target\classes\com\neu\system\mapper\SysLogininforMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/neu/framework/config/MyBatisConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.neu.carbon.wms.mapper.WmsMaterialInfoMapper.WmsMaterialInfoResult 17:05:23.147 [restartedMain] INFO c.a.d.p.DruidDataSource - [close,2032] - {dataSource-0} closing ... 17:05:23.172 [restartedMain] INFO o.a.c.c.StandardService - [log,173] - Stopping service [Tomcat] 17:05:23.214 [restartedMain] ERROR o.s.b.SpringApplication - [reportFailure,826] - Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysLogininforController': Unsatisfied dependency expressed through field 'logininforService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysLogininforServiceImpl': Unsatisfied dependency expressed through field 'logininforMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysLogininforMapper' defined in file [D:\ji-neng-da-sai\chushi\carbon\neu-system\target\classes\com\neu\system\mapper\SysLogininforMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/neu/framework/config/MyBatisConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.neu.carbon.wms.mapper.WmsMaterialInfoMapper.WmsMaterialInfoResult at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:405) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) at com.neu.NeuApplication.main(NeuApplication.java:18) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysLogininforServiceImpl': Unsatisfied dependency expressed through field 'logininforMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysLogininforMapper' defined in file [D:\ji-neng-da-sai\chushi\carbon\neu-system\target\classes\com\neu\system\mapper\SysLogininforMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/neu/framework/config/MyBatisConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.neu.carbon.wms.mapper.WmsMaterialInfoMapper.WmsMaterialInfoResult at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) ... 24 common frames omitted Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysLogininforMapper' defined in file [D:\ji-neng-da-sai\chushi\carbon\neu-system\target\classes\com\neu\system\mapper\SysLogininforMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/neu/framework/config/MyBatisConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.neu.carbon.wms.mapper.WmsMaterialInfoMapper.WmsMaterialInfoResult at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1524) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1404) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) ... 37 common frames omitted Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/neu/framework/config/MyBatisConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.neu.carbon.wms.mapper.WmsMaterialInfoMapper.WmsMaterialInfoResult at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:657) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:637) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1176) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1509) ... 48 common frames omitted Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.neu.carbon.wms.mapper.WmsMaterialInfoMapper.WmsMaterialInfoResult at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:652) ... 61 common frames omitted Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.neu.carbon.wms.mapper.WmsMaterialInfoMapper.WmsMaterialInfoResult at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:612) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:490) at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:632) at com.neu.framework.config.MyBatisConfig.sqlSessionFactory(MyBatisConfig.java:131) at com.neu.framework.config.MyBatisConfig$$EnhancerBySpringCGLIB$$20bce190.CGLIB$sqlSessionFactory$0(<generated>) at com.neu.framework.config.MyBatisConfig$$EnhancerBySpringCGLIB$$20bce190$$FastClassBySpringCGLIB$$7e5d8a25.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) at com.neu.framework.config.MyBatisConfig$$EnhancerBySpringCGLIB$$20bce190.sqlSessionFactory(<generated>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 62 common frames omitted Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [D:\ji-neng-da-sai\chushi\carbon\neu-carbon-wms\target\classes\mapper\materiallnfo\WmsMaterialInfoMapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.neu.carbon.wms.mapper.WmsMaterialInfoMapper.WmsMaterialInfoResult at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:610) ... 75 common frames omitted Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.neu.carbon.wms.mapper.WmsMaterialInfoMapper.WmsMaterialInfoResult at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:992) at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:948) at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:704) at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) ... 77 common frames omitted Process finished with exit code 1
最新发布
11-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值