异常 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 解决方案

 

 

原来是因为 AssetsMapper.xml 不知道为什么不见了,导致这个异常,在启动项目时的启动任务里调用到了它,然后因为没有这个xml,所以抛出异常

 

启动信息:

C:\extend\Development\apache-tomcat-7.0.84\bin\catalina.bat run
[2019-01-07 12:28:30,119] Artifact RM_Tomcat7_Exploded: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE:   "C:\Users\Administrator\.IntelliJIdea2018.3\system\tomcat\Unnamed_RM_3"
Using CATALINA_HOME:   "C:\extend\Development\apache-tomcat-7.0.84"
Using CATALINA_TMPDIR: "C:\extend\Development\apache-tomcat-7.0.84\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_161"
Using CLASSPATH:       "C:\extend\Development\apache-tomcat-7.0.84\bin\bootstrap.jar;C:\extend\Development\apache-tomcat-7.0.84\bin\tomcat-juli.jar"
Connected to the target VM, address: '127.0.0.1:12802', transport: 'socket'
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server version:        Apache Tomcat/7.0.84
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server built:          Jan 19 2018 15:01:35 UTC
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server number:         7.0.84.0
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Name:               Windows 10
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Version:            10.0
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Architecture:          amd64
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java Home:             C:\Program Files\Java\jdk1.8.0_161\jre
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Version:           1.8.0_161-b12
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Vendor:            Oracle Corporation
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE:         C:\Users\Administrator\.IntelliJIdea2018.3\system\tomcat\Unnamed_RM_3
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME:         C:\extend\Development\apache-tomcat-7.0.84
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.util.logging.config.file=C:\Users\Administrator\.IntelliJIdea2018.3\system\tomcat\Unnamed_RM_3\conf\logging.properties
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:12802,suspend=y,server=n
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -javaagent:C:\Users\Administrator\.IntelliJIdea2018.3\system\captureAgent\debugger-agent.jar
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcom.sun.management.jmxremote=
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcom.sun.management.jmxremote.port=1099
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcom.sun.management.jmxremote.ssl=false
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.rmi.server.hostname=127.0.0.1
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dignore.endorsed.dirs=
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.base=C:\Users\Administrator\.IntelliJIdea2018.3\system\tomcat\Unnamed_RM_3
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.home=C:\extend\Development\apache-tomcat-7.0.84
一月 07, 2019 12:28:30 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.io.tmpdir=C:\extend\Development\apache-tomcat-7.0.84\temp
一月 07, 2019 12:28:30 上午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: Loaded APR based Apache Tomcat Native library 1.2.16 using APR version 1.6.3.
一月 07, 2019 12:28:30 上午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
一月 07, 2019 12:28:31 上午 org.apache.catalina.core.AprLifecycleListener initializeSSL
信息: OpenSSL successfully initialized (OpenSSL 1.0.2m  2 Nov 2017)
一月 07, 2019 12:28:31 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8081"]
一月 07, 2019 12:28:31 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-apr-8009"]
一月 07, 2019 12:28:31 上午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1183 ms
一月 07, 2019 12:28:31 上午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
一月 07, 2019 12:28:31 上午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.84
一月 07, 2019 12:28:31 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-apr-8081"]
一月 07, 2019 12:28:31 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-apr-8009"]
一月 07, 2019 12:28:31 上午 org.apache.catalina.startup.Catalina start
信息: Server startup in 36 ms
Connected to server
[2019-01-07 12:28:31,713] Artifact RM_Tomcat7_Exploded: Artifact is being deployed, please wait...
一月 07, 2019 12:28:31 上午 org.apache.catalina.deploy.WebXml setVersion
警告: Unknown version string [4.0]. Default version will be used.
一月 07, 2019 12:28:33 上午 org.apache.catalina.startup.TldConfig execute
信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
[RMI TCP Connection(3)-127.0.0.1] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization started
[RMI TCP Connection(3)-127.0.0.1] INFO org.springframework.web.context.support.XmlWebApplicationContext - Refreshing Root WebApplicationContext: startup date [Mon Jan 07 00:28:33 CST 2019]; root of context hierarchy
[RMI TCP Connection(3)-127.0.0.1] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from file [C:\extend\Development\Projects\RM\out\artifacts\RM_Tomcat7_Exploded\WEB-INF\classes\applicationContext-quartz.xml]
[RMI TCP Connection(3)-127.0.0.1] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from file [C:\extend\Development\Projects\RM\out\artifacts\RM_Tomcat7_Exploded\WEB-INF\classes\applicationContext-service.xml]
[RMI TCP Connection(3)-127.0.0.1] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from file [C:\extend\Development\Projects\RM\out\artifacts\RM_Tomcat7_Exploded\WEB-INF\classes\applicationContext.xml]
[INFO ] 2019-01-07 00:28:34,261 method:com.mchange.v2.log.MLog.(MLog.java:80)
MLog clients using log4j logging.
[INFO ] 2019-01-07 00:28:34,288 method:com.mchange.v2.c3p0.C3P0Registry.banner(C3P0Registry.java:204)
Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10]
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.impl.StdSchedulerFactory - Using default implementation for ThreadExecutor
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.core.SchedulerSignalerImpl - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.core.QuartzScheduler - Quartz Scheduler v.2.2.3 created.
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.simpl.RAMJobStore - RAMJobStore initialized.
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.core.QuartzScheduler - Scheduler meta-data: Quartz Scheduler (v2.2.3) 'startQuertz' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler 'startQuertz' initialized from an externally provided properties instance.
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler version: 2.2.3
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.core.QuartzScheduler - JobFactory set to: org.springframework.scheduling.quartz.AdaptableJobFactory@2bc12af1
[RMI TCP Connection(3)-127.0.0.1] INFO org.springframework.context.support.DefaultLifecycleProcessor - Starting beans in phase 2147483647
[RMI TCP Connection(3)-127.0.0.1] INFO org.springframework.scheduling.quartz.SchedulerFactoryBean - Starting Quartz Scheduler now
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.core.QuartzScheduler - Scheduler startQuertz_$_NON_CLUSTERED started.
[INFO ] 2019-01-07 00:28:35,765 method:com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getPoolManager(AbstractPoolBackedDataSource.java:462)
Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 1hge73ha09zjeqwls8qel|49f1fffa, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1hge73ha09zjeqwls8qel|49f1fffa, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql://localhost:3306/rm, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
[RMI TCP Connection(3)-127.0.0.1] ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.kinome.rm.dao.AssetsMapper.selectByExampleWithBLOBs
    at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:230)
    at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:48)
    at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65)
    at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)
    at com.sun.proxy.$Proxy19.selectByExampleWithBLOBs(Unknown Source)
    at org.kinome.rm.service.init.StartExecuteListener.onApplicationEvent(StartExecuteListener.java:38)
    at org.kinome.rm.service.init.StartExecuteListener.onApplicationEvent(StartExecuteListener.java:16)
    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.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
    at com.sun.proxy.$Proxy43.onApplicationEvent(Unknown Source)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:383)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:337)
    at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:882)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:545)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5109)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5632)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
    at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1899)
    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.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618)
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565)
    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.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
    at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
    at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
    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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:361)
    at sun.rmi.transport.Transport$1.run(Transport.java:200)
    at sun.rmi.transport.Transport$1.run(Transport.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
一月 07, 2019 12:28:36 上午 org.apache.catalina.core.StandardContext startInternal
严重: One or more listeners failed to start. Full details will be found in the appropriate container log file
一月 07, 2019 12:28:36 上午 org.apache.catalina.core.StandardContext startInternal
严重: Context [/RM] startup failed due to previous errors
[RMI TCP Connection(3)-127.0.0.1] INFO org.springframework.web.context.support.XmlWebApplicationContext - Closing Root WebApplicationContext: startup date [Mon Jan 07 00:28:33 CST 2019]; root of context hierarchy
[RMI TCP Connection(3)-127.0.0.1] INFO org.springframework.context.support.DefaultLifecycleProcessor - Stopping beans in phase 2147483647
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.core.QuartzScheduler - Scheduler startQuertz_$_NON_CLUSTERED paused.
[RMI TCP Connection(3)-127.0.0.1] INFO org.springframework.scheduling.quartz.SchedulerFactoryBean - Shutting down Quartz Scheduler
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.core.QuartzScheduler - Scheduler startQuertz_$_NON_CLUSTERED shutting down.
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.core.QuartzScheduler - Scheduler startQuertz_$_NON_CLUSTERED paused.
[RMI TCP Connection(3)-127.0.0.1] INFO org.quartz.core.QuartzScheduler - Scheduler startQuertz_$_NON_CLUSTERED shutdown complete.
一月 07, 2019 12:28:36 上午 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc
严重: The web application [/RM] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
[2019-01-07 12:28:36,126] Artifact RM_Tomcat7_Exploded: Error during artifact deployment. See server log for details.
一月 07, 2019 12:28:41 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory C:\extend\Development\apache-tomcat-7.0.84\webapps\manager
一月 07, 2019 12:28:41 上午 org.apache.catalina.startup.TldConfig execute
信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
一月 07, 2019 12:28:41 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory C:\extend\Development\apache-tomcat-7.0.84\webapps\manager has finished in 97 ms

 

转载于:https://www.cnblogs.com/kinome/p/10231191.html

你可能感兴趣的:(网络,数据库,java)