Resources部分

--------------------------------

applicationContext-datasource.xml

<?xml version="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:jdbc="http://www.springframework.org/schema/jdbc"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/jdbchttp://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"><!-- 加载配置文件--><context:property-placeholderlocation="classpath:jdbc.properties"/><!-- 扫描控制包 --><context:component-scan base-package="com.vivebest.service"/><!--   ***************以下是dataSource和 Mybatis配置******************  --><!-- dataSource --><!-- 主库数据源 --><bean id="masterDataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close"><!-- 基本属性 url、user、password --><property name="driverClassName"value="${dataSource.slave.driverClassName}"/><property name="url" value="${dataSource.slave.url}"/><property name="username"value="${dataSource.slave.username}"/><property name="password"value="${dataSource.slave.password}"/><!-- 配置初始化大小、最小、最大 --><property name="initialSize" value="1"/><property name="minIdle" value="1"/><property name="maxActive" value="20"/><!-- 配置获取连接等待超时的时间 --><property name="maxWait" value="60000"/><!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --><property name="timeBetweenEvictionRunsMillis"value="60000"/><!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --><property name="minEvictableIdleTimeMillis"value="300000"/><!-- 校验语句 --><property name="validationQuery" value="SELECT1"/><propertyname="testWhileIdle" value="true"/><property name="testOnBorrow" value="false"/><property name="testOnReturn" value="false"/><!-- 配置监控统计拦截的filters --><property name="filters" value="stat"/></bean><!-- 从库数据源 --><bean id="slaveDataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init" destroy-method="close"><!-- 基本属性 url、user、password --><property name="driverClassName"value="${dataSource.master.driverClassName}"/><property name="url"value="${dataSource.master.url}"/><property name="username"value="${dataSource.master.username}"/><property name="password"value="${dataSource.master.password}"/><!-- 配置初始化大小、最小、最大 --><property name="initialSize"value="1"/><property name="minIdle" value="1"/><property name="maxActive" value="20"/><!-- 配置获取连接等待超时的时间 --><property name="maxWait" value="60000"/><!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --><property name="timeBetweenEvictionRunsMillis"value="60000"/><!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --><property name="minEvictableIdleTimeMillis"value="300000"/><!-- 校验语句 --><property name="validationQuery" value="SELECT1"/><property name="testWhileIdle" value="true"/><property name="testOnBorrow" value="false"/><property name="testOnReturn" value="false"/><!-- 配置监控统计拦截的filters --><property name="filters" value="stat"/></bean><!-- 动态数据源 --><bean id="dataSource"class="com.vivebest.util.DynamicDataSource"><property name="targetDataSources"><map key-type="java.lang.String"><!-- 可配置多个数据源--><entryvalue-ref="masterDataSource"key="masterDataSource"></entry><entryvalue-ref="slaveDataSource"key="slaveDataSource"></entry></map></property><property name="defaultTargetDataSource" ref="masterDataSource"></property></bean><!-- define the SqlSessionFactory --><bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="configLocation"value="classpath:mybatis-config.xml" /><!-- 要映射类的包路径 --><!--  <propertyname="typeAliasesPackage" value="com.vivebest.erp.entity"/> --><!-- 若无上条就需要有该配置 --><property name="mapperLocations" value="classpath*:*Mapper.xml"></property><!-- 当配置文件在其他目录时 --></bean><!-- scan for mappers and let them be autowired --><!-- DAO接口所在包名,Spring会自动查找其下的类 --><beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer"><propertyname="basePackage" value="com.vivebest.dao"/><property name="sqlSessionFactoryBeanName"value="sqlSessionFactory"/></bean><!-- 事务管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!-- 启动注解事务 --><tx:annotation-driventransaction-manager="transactionManager"/></beans>

--------------------------------

applicationContext-listener.xml

<?xml version="1.0"encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.0.xsd"><!-- 装载自定义bean --><context:component-scan base-package="**.*"use-default-filters="false"><context:include-filter type="assignable"expression="com.vivebest.util.BaseInterface"></context:include-filter></context:component-scan><!--启动时初始化Spring上下文环境工具类 --><bean id="springContextUtil"class="com.vivebest.util.SpringContextUtil"></bean><!-- Spring容器初始化完成监听器 --><bean class="com.vivebest.util.ApplicationContextListener"lazy-init="false"></bean></beans>

--------------------------------

jdbc.properties

#DB
dataSource.master.driverClassName=com.mysql.jdbc.Driver
dataSource.master.url=jdbc\:mysql\://127.0.0.1\:3306/zheng?useUnicode\=true&characterEncoding\=utf-8&autoReconnect\=true
dataSource.master.username = root
dataSource.master.password = rootdataSource.slave.driverClassName=com.mysql.jdbc.Driver
dataSource.slave.url=jdbc\:mysql\://127.0.0.1\:3306/zheng?useUnicode\=true&characterEncoding\=utf-8&autoReconnect\=true
dataSource.slave.username = root
dataSource.slave.password = rootdataSource.initialSize  =  2
dataSource.maxActive = 30
dataSource.maxIdle = 2
dataSource.minIdle = 2
dataSource.maxOpenPreparedStatements = 150
dataSource.validationQuery = SELECT 1 FROMDUAL
dataSource.testWhileIdle = true
dataSource.testOnBorrow = false
dataSource.testOnReturn = false
#\u914d\u7f6e\u95f4\u9694\u591a\u4e45\u624d\u8fdb\u884c\u4e00\u6b21\u68c0\u6d4b\uff0c\u68c0\u6d4b\u9700\u8981\u5173\u95ed\u7684\u7a7a\u95f2\u8fde\u63a5\uff0c\u5355\u4f4d\u662f\u6beb\u79d2
dataSource.timeBetweenEvictionRunsMillis =60000
#\u914d\u7f6e\u4e00\u4e2a\u8fde\u63a5\u5728\u6c60\u4e2d\u6700\u5c0f\u751f\u5b58\u7684\u65f6\u95f4\uff0c\u5355\u4f4d\u662f\u6beb\u79d2
dataSource.minEvictableIdleTimeMillis =300000
# \u6253\u5f00PSCache\uff0c\u5e76\u4e14\u6307\u5b9a\u6bcf\u4e2a\u8fde\u63a5\u4e0aPSCache\u7684\u5927\u5c0f
dataSource.poolPreparedStatements = true
dataSource.maxPoolPreparedStatementPerConnectionSize= 20
#\u914d\u7f6e\u76d1\u63a7\u7edf\u8ba1\u62e6\u622a\u7684filter
dataSource.filters = stat

--------------------------------

log4j.properties

#off/fatal/error/warn/info/debug/all
log4j.debug=false
log4j.rootLogger=info,stdout,log,errorlog# Console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d[%t] %-5p [%c] - %m%n### Log ###
log4j.appender.log =org.apache.log4j.DailyRollingFileAppender
log4j.appender.log.File =../logs/zheng-upms5-server.log
log4j.appender.log.Append = true
log4j.appender.log.Threshold = DEBUG
log4j.appender.log.DatePattern='.'yyyy-MM-dd
log4j.appender.log.layout =org.apache.log4j.PatternLayout
log4j.appender.log.layout.ConversionPattern= %-d{yyyy-MM-dd HH:mm:ss} [ %p ] [ %C{1}.java :%L(%M)]  %m%n### Error ###
log4j.appender.errorlog =org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorlog.File =../logs/zheng-upms5-server.error.log
log4j.appender.errorlog.Append = true
log4j.appender.errorlog.Threshold = ERROR
log4j.appender.errorlog.DatePattern='.'yyyy-MM-dd
log4j.appender.errorlog.layout =org.apache.log4j.PatternLayout
log4j.appender.errorlog.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %p ] [ %C{1}.java :%L(%M)] %m%n#Spring logging configuration
log4j.category.org.springframework = warn#Druid logging configuration
log4j.logger.druid.sql=warn,stdout,log,errorlog
log4j.logger.druid.sql.DataSource=warn,stdout,log,errorlog
log4j.logger.druid.sql.Connection=warn,stdout,log,errorlog
log4j.logger.druid.sql.Statement=warn,stdout,log,errorlog
log4j.logger.druid.sql.ResultSet=warn,stdout,log,errorlog# MyBatis logging configuration
log4j.logger.com.vivebest.dao=debug

--------------------------------

mybatis-config.xml

<?xml version="1.0"encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC"-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!--全局配置 --><settings><settingname="cacheEnabled" value="true" /><settingname="lazyLoadingEnabled" value="true" /><settingname="aggressiveLazyLoading" value="true" /><settingname="multipleResultSetsEnabled" value="true" /><settingname="useColumnLabel" value="true" /><settingname="useGeneratedKeys" value="false" /><settingname="autoMappingBehavior" value="PARTIAL" /><settingname="defaultExecutorType" value="SIMPLE" /><settingname="defaultStatementTimeout" value="25000" /></settings><!--插件--><plugins><!--分页插件 --><plugininterceptor="com.github.pagehelper.PageInterceptor"><!--分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。你可以配置helperDialect属性来指定分页插件使用哪种方言。配置时,可以使用下面的缩写值:oracle,mysql,mariadb,sqlite,hsqldb,postgresql,db2,sqlserver,informix,h2,sqlserver2012,derby特别注意:使用SqlServer2012 数据库时,需要手动指定为 sqlserver2012,否则会使用 SqlServer2005 的方式进行分页--><!--<propertyname="helperDialect" value="mysql"/>--><!--默认值为 false,该参数对使用RowBounds 作为分页参数时有效。当该参数设置为 true 时,会将 RowBounds中的 offset 参数当成 pageNum 使用,可以用页码和页面大小两个参数进行分页。--><propertyname="offsetAsPageNum" value="false"/><!--默认值为false,该参数对使用RowBounds 作为分页参数时有效。当该参数设置为true时,使用 RowBounds 分页会进行 count 查询。--><propertyname="rowBoundsWithCount" value="true"/><!--默认值为 false,当该参数设置为 true时,如果 pageSize=0 或者 RowBounds.limit = 0 就会查询出全部的结果(相当于没有执行分页查询,但是返回结果仍然是 Page 类型)。--><propertyname="pageSizeZero" value="false"/><!--分页合理化参数,默认值为false。当该参数设置为 true时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。默认false 时,直接根据参数进行查询。--><propertyname="reasonable" value="false"/><!--为了支持startPage(Objectparams)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值,可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero。--><propertyname="params"value="pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero"/><!--支持通过 Mapper 接口参数来传递分页参数,默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。使用方法可以参考测试代码中的 com.github.pagehelper.test.basic 包下的 ArgumentsMapTest 和ArgumentsObjTest。--><propertyname="supportMethodsArguments" value="false"/><!--默认值为 false。设置为 true 时,允许在运行时根据多数据源自动识别对应方言的分页 (不支持自动选择sqlserver2012,只能使用sqlserver)--><propertyname="autoRuntimeDialect" value="true"/><!--默认值为 true。当使用运行时动态数据源或没有设置 helperDialect 属性自动获取数据库类型时,会自动获取一个数据库连接,通过该属性来设置是否关闭获取的这个连接默认true关闭,设置为 false 后,不会关闭获取的连接,这个参数的设置要根据自己选择的数据源来决定。--><propertyname="closeConn" value="true"/></plugin></plugins></configuration>

--------------------------------

spring-mvc.xml

<?xml version="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- DispatcherServlet Context: defines this servlet'srequest-processing infrastructure --><!-- 扫描控制器包 --><!-- @Service用于标注业务层组件、 @Controller用于标注控制层组件、@Repository用于标注数据访问组件,即DAO组件。而@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。--><context:component-scanbase-package="com.vivebest.controller" /><!-- Enables the Spring MVC @Controller programming model --><!-- 启动springmvc注解 --><mvc:annotation-driven /><!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射,解决@ResponseBody乱码问题  --><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"><property name="messageConverters"><list><beanclass="org.springframework.http.converter.StringHttpMessageConverter"><propertyname="supportedMediaTypes"><list><value>text/html;charset=UTF-8</value><value>text/plain;charset=UTF-8</value><value>application/json;charset=UTF-8</value></list></property></bean></list></property></bean><!--视图解析的配置--><!-- Resolves views selected for rendering by @Controllers to .jspresources in the /WEB-INF/views directory --><!--<beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver">--><!--<property name="prefix" value="/jsp/"/>--><!--<property name="suffix" value=".jsp"/>&lt;!&ndash;controller层中返回页面是可以不加.jsp后缀&ndash;&gt;--><!--</bean>-->
</beans>

--------------------------------

UpmsLogMapper.xml

<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mappernamespace="com.vivebest.dao.UpmsLogMapper"><sql id="Example_Where_Clause"><where><foreach collection="oredCriteria"item="criteria" separator="or"><iftest="criteria.valid"><trimprefix="(" prefixOverrides="and" suffix=")"><foreachcollection="criteria.criteria" item="criterion"><choose><whentest="criterion.noValue">and${criterion.condition}</when><whentest="criterion.singleValue">and${criterion.condition} #{criterion.value}</when><whentest="criterion.betweenValue">and${criterion.condition} #{criterion.value} and #{criterion.secondValue}</when><whentest="criterion.listValue">and${criterion.condition}<foreachclose=")" collection="criterion.value"item="listItem" open="(" separator=",">#{listItem}</foreach></when></choose></foreach></trim></if></foreach></where></sql><select id="countByExample"parameterType="com.vivebest.entity.UpmsLogExample"resultType="java.lang.Long">select count(*) from upms_log</select><delete id="deleteByExample"parameterType="com.vivebest.entity.UpmsLogExample">delete from upms_log<if test="_parameter != null"><include refid="Example_Where_Clause" /></if></delete><select id="countByExampleB"parameterType="com.vivebest.entity.UpmsLogExample"resultType="java.lang.Long">select count(*) from upms_log</select><delete id="deleteByExampleB"parameterType="com.vivebest.entity.UpmsLogExample">delete from upms_log<if test="_parameter != null"><include refid="Example_Where_Clause" /></if></delete><cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>
</mapper>

--------------------------------

WEB部分

Web.xml

<?xml version="1.0"encoding="UTF-8"?>
<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>zheng-upms5-server</display-name><!-- Spring 容器启动监听器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- Spring 服务层的配置文件 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext*.xml</param-value></context-param><!-- 日志配置文件 --><context-param><param-name>log4jConfigLocation</param-name><param-value>classpath:log4j.properties</param-value></context-param><!-- 配置spring核心servlet --><servlet><servlet-name>springMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><!-- url-pattern配置为/,不带文件后缀,会造成其它静态文件(js,css等)不能访问。如配为*.do,则不影响静态文件的访问 --><servlet-mapping><servlet-name>springMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

Index.jsp

<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

POM.XML部分

<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.zheng</groupId><artifactId>zheng-upms5-server</artifactId><packaging>war</packaging><name>zheng-upms5-server Maven Webapp</name><url>http://maven.apache.org</url><version>1.0.0</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target><maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion><spring.version>4.3.7.RELEASE</spring.version><spring-security.version>4.1.3.RELEASE</spring-security.version><mybatis.version>3.4.2</mybatis.version><mybatis-spring.version>1.3.1</mybatis-spring.version><mybatis-pagehelper.version>5.0.1</mybatis-pagehelper.version><mybatis-generator.version>1.3.5</mybatis-generator.version><mybatis-ehcache.version>1.0.0</mybatis-ehcache.version><ehcache.version>2.10.0</ehcache.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><!-- mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis-spring.version}</version></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>${mybatis-pagehelper.version}</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>${mybatis-generator.version}</version></dependency><!-- 缓存 --><dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache</artifactId><version>${ehcache.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-ehcache</artifactId><version>${mybatis-ehcache.version}</version></dependency><!-- mysql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.34</version><scope>runtime</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.14</version></dependency><!-- 日志 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.12</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.12</version></dependency><!-- 常用工具包 --><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.3</version></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.10</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-compress</artifactId><version>1.12</version></dependency><!-- json --><dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version><classifier>jdk15</classifier></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.28</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.6.5</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.6.5</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.6.5</version></dependency><!-- servlet --><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency></dependencies><build><finalName>zheng-upms5-server</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.18.1</version><configuration><skipTests>true</skipTests><testFailureIgnore>true</testFailureIgnore></configuration></plugin></plugins></build></project>

3、测试方法

http://localhost:1111/customer/queryLog
通过从库处理http://localhost:1111/customer/queryLogB
通过主库处理http://localhost:1111/customer/deleteLog/1
通过主库处理http://localhost:1111/customer/deleteLogB/2
通过主库处理

转载于:https://blog.51cto.com/ylcodes01/1970028

java实现mysql的主从切换(第二部分)相关推荐

  1. MySQL之主从切换

    在一主多从的环境中,如主库为M,从库为S1.S2,当主库M出现故障时,把S1设为新的主库,并且修改从库S2的配置,使其指向新的主库S1.此外还要通知应用修改主数据库的IP地址,如果出现故障的主库M修复 ...

  2. java客户端实现redis主从切换,redis主从配置及主从切换

    环境描述: 主Redis:192.168.10.1 6379 从redis:192.168.10.2 6380 一.主从配置 1.将主从redis配置文件redis.conf中的daemonize n ...

  3. [转]微服务轮子项目(27) -MySQL 主从复制、主从切换、主主复制

    文章目录 1. 主从复制 1.1 主库安装 1.1.1 创建配置文件 1.1.2 启动主库 1.1.3 主库创建用于同步的账号 1.2 从库安装 1.2.1 创建配置文件 1.2.2 启动从库 1.2 ...

  4. mysql主从模拟主服务器坏掉,主从切换,主服务器修复,主从恢复

    准备两台CentOS 7服务器 192.168.26.128 主 192.168.26.129 从 一.主从服务 安装mysql数据库 yum -y install mariadb mariadb-s ...

  5. mysql stop salve_MySQL主从切换

    MySQL主从切换手册 Master-Slave架构 正常切换 检查slave同步状态 在开始切换之前先对主库进行锁表: flush tables with read lock (在执行完成后生产环境 ...

  6. 迅猛快捷——基于Gtid搭建Mysql主从,gtid实现主从切换自动同步——@$23$人鱼的眼泪

    mysql基于Gtid做主从 环境准备 1. 安装mysql5.7 如果没安装wget,先安装wget 首先获取5.7的包 2.修改配置文件 [主] [从] 主从都执行重启,使配置文件生效 3.查看初 ...

  7. Mysql 主从间延迟,主从切换策略

    Mysql 主从间延迟 首先需要知道在网络情况良好的情况下,主从之间的延迟主要产生于从库根据消费 relay log 的时间. 主从间的延迟是 seconds_behind_master. 主从延迟的 ...

  8. Mysql主从复制之异步与半同步以及主从切换(实验)

    什么是异步,半同步: 一.异步复制(Asynchronous replication) 1.逻辑上 MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库 ...

  9. MYSQL数据库的主从切换

    一.MHA简介 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司的youshimaton(现就职于 Facebook公 ...

最新文章

  1. Python 语言介绍
  2. 随机信号通过带通滤波器
  3. 如何快速截取某段时间内的日志
  4. 加减法叫做什么运算_小学四则运算基础知识,赶快给孩子存下吧!
  5. 解决SVN:E210007无法协商认证机制
  6. 深度学习之基于AlexNet实现猫狗大战
  7. 【Flink】checkpoint storage at checkckpoint coordinator No route host from xx to xx:9000
  8. 自定义关键字_Java中的自定义异常
  9. 摘抄:java查询数据导出excel并返回给浏览器下载
  10. 经验分享|测试工程师转型测试开发历程
  11. SQL查询-巧用记录数统计人数
  12. 个人博客系统需求文档
  13. ROMS四维变分测试
  14. 直流屏控母和合母有什么区别
  15. 实现java多线程的3种方式
  16. 我们都在过着「抽奖」的人生
  17. 信贷业务:常用风险指标
  18. 常见的两种python编译器的安装
  19. Web安全工具—nc(瑞士军刀)持续更新
  20. 超级计算机怎么收费,近距离看中国天河2号内部细节及收费标准

热门文章

  1. boost::fibers::future用法的测试程序
  2. 宏BOOST_TEST_TRAIT_TRUE的用法实例
  3. boost::container实现多态双端队列的测试程序
  4. VTK:可视化之AlphaFrequency
  5. VTK:Math之EigenSymmetric
  6. Qt Creator在3D编辑器中工作
  7. Qt Creator批注设计
  8. pbl和sbl_综合运用PBL和SBL教学法提高眼科带教质量的探索
  9. Apache Hive JdbcStorageHandler 编程入门指南
  10. 配置开发者本地hadoop-3.0.0环境