zoukankan      html  css  js  c++  java
  • maven中常用的依赖

    常用依赖,并且管理起来

    Q1:父模块

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="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.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.zhangyuwei.dependfather</groupId>
        <artifactId>DependFather</artifactId>
        <packaging>pom</packaging>
        <version>1.0-SNAPSHOT</version>
        <modules>
            <module>Depend-dao</module>
            <module>Depend-entities</module>
            <module>Depend-ui</module>
            <module>Depend-common</module>
            <module>Depend-service</module>
        </modules>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <!--这里的名称随便定义,下面导入依赖时进行引入即可-->
            <!--<junits.version>4.11</junits.version>-->
            <Depend-dao.version>1.0-SNAPSHOT</Depend-dao.version>
            <Depend-entities.version>1.0-SNAPSHOT</Depend-entities.version>
            <Depend-common.version>1.0-SNAPSHOT</Depend-common.version>
            <Depend-service.version>1.0-SNAPSHOT</Depend-service.version>
            <jackson.version>2.7.4</jackson.version>
            <commons-lang3.version>3.4</commons-lang3.version>
            <log4j.version>2.6.1</log4j.version>
            <junit.version>4.12</junit.version>
            <spring.version>4.3.0.RELEASE</spring.version>
            <aspectjweaver.version>1.8.9</aspectjweaver.version>
            <cglib.version>3.2.4</cglib.version>
            <spring-mybatis.version>1.3.0</spring-mybatis.version>
            <mysql-connector-java.version>8.0.11</mysql-connector-java.version>
            <mybatis.version>3.4.6</mybatis.version>
            <c3p0.version>0.9.5.2</c3p0.version>
            <poi.version>3.11</poi.version>
            <javax.servlet-api.version>3.0.1</javax.servlet-api.version>
            <jstl.version>1.2</jstl.version>
            <jsp-api.version>2.1</jsp-api.version>
            <commons-io.version>2.4</commons-io.version>
            <commons-fileupload.version>1.3.1</commons-fileupload.version>
            <json-simple.version>1.1.1</json-simple.version>
            <standard.version>1.1.2</standard.version>
            <spring-test.version>4.3.18.RELEASE</spring-test.version>
        </properties>
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>com.zhangyuwei.dependfather</groupId>
                    <artifactId>Depend-common</artifactId>
                    <version>${Depend-common.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.zhangyuwei.dependfather</groupId>
                    <artifactId>Depend-entities</artifactId>
                    <version>${Depend-entities.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.zhangyuwei.dependfather</groupId>
                    <artifactId>Depend-dao</artifactId>
                    <version>${Depend-dao.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.zhangyuwei.dependfather</groupId>
                    <artifactId>Depend-service</artifactId>
                    <version>${Depend-service.version}</version>
                </dependency>
                <!--common模块-->
                <!--jackson-->
                <dependency>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-databind</artifactId>
                    <version>${jackson.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-core</artifactId>
                    <version>${jackson.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-annotations</artifactId>
                    <version>${jackson.version}</version>
                </dependency>
                <!--apache-commons-->
                <dependency>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-lang3</artifactId>
                    <version>${commons-lang3.version}</version>
                </dependency>
                <!--log4j日志包 -->
                <dependency>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-api</artifactId>
                    <version>${log4j.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-core</artifactId>
                    <version>${log4j.version}</version>
                </dependency>
                <!-- JUnit单元测试工具 -->
                <dependency>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                    <version>${junit.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-test</artifactId>
                    <version>${spring-test.version}</version>
                </dependency>
                <!--Spring框架核心库 -->
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-context</artifactId>
                    <version>${spring.version}</version>
                </dependency>
                <!-- aspectJ AOP 织入器 -->
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjweaver</artifactId>
                    <version>${aspectjweaver.version}</version>
                </dependency>
                <dependency>
                    <groupId>cglib</groupId>
                    <artifactId>cglib</artifactId>
                    <version>${cglib.version}</version>
                </dependency>
    
                <!--mybatis-spring适配器 -->
                <dependency>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis-spring</artifactId>
                    <version>${spring-mybatis.version}</version>
                </dependency>
                <!--Spring java数据库访问包,在本例中主要用于提供数据源 -->
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-jdbc</artifactId>
                    <version>${spring.version}</version>
                </dependency>
                <!--mysql数据库驱动 -->
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>${mysql-connector-java.version}</version>
                </dependency>
                <!-- mybatis ORM框架 -->
                <dependency>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis</artifactId>
                    <version>${mybatis.version}</version>
                </dependency>
                <!--c3p0 连接池 -->
                <dependency>
                    <groupId>com.mchange</groupId>
                    <artifactId>c3p0</artifactId>
                    <version>${c3p0.version}</version>
                </dependency>
                <!--Excel导出-->
                <dependency>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi</artifactId>
                    <version>${poi.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi-ooxml</artifactId>
                    <version>${poi.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi-ooxml-schemas</artifactId>
                    <version>${poi.version}</version>
                </dependency>
                <!-- Servlet核心包 -->
                <dependency>
                    <groupId>javax.servlet</groupId>
                    <artifactId>javax.servlet-api</artifactId>
                    <version>${javax.servlet-api.version}</version>
                    <scope>provided</scope>
                </dependency>
                <!-- JSTL -->
                <dependency>
                    <groupId>javax.servlet</groupId>
                    <artifactId>jstl</artifactId>
                    <version>${jstl.version}</version>
                </dependency>
                <!--JSP -->
                <dependency>
                    <groupId>javax.servlet.jsp</groupId>
                    <artifactId>jsp-api</artifactId>
                    <version>${jsp-api.version}</version>
                    <scope>provided</scope>
                </dependency>
                <dependency>
                    <groupId>commons-io</groupId>
                    <artifactId>commons-io</artifactId>
                    <version>${commons-io.version}</version>
                </dependency>
                <dependency>
                    <groupId>commons-fileupload</groupId>
                    <artifactId>commons-fileupload</artifactId>
                    <version>${commons-fileupload.version}</version>
                </dependency>
                <!--富文本-->
                <dependency>
                    <groupId>com.googlecode.json-simple</groupId>
                    <artifactId>json-simple</artifactId>
                    <version>${json-simple.version}</version>
                </dependency>
                <!--standard-->
                <dependency>
                    <groupId>taglibs</groupId>
                    <artifactId>standard</artifactId>
                    <version>${standard.version}</version>
                </dependency>
                <!-- Spring MVC -->
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-webmvc</artifactId>
                    <version>${spring.version}</version>
                </dependency>
                
            </dependencies>
        </dependencyManagement>
    
    
    </project>

    Q2:common模块

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="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.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>DependFather</artifactId>
            <groupId>com.zhangyuwei.dependfather</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>Depend-common</artifactId>
        <dependencies>
            <!--jackson-->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
            </dependency>
            <!--apache-commons-->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
            </dependency>
        </dependencies>
    
    </project>

     Q3:dao模块

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="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.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>DependFather</artifactId>
            <groupId>com.zhangyuwei.dependfather</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>Depend-dao</artifactId>
        <dependencies>
            <dependency>
                <groupId>com.zhangyuwei.dependfather</groupId>
                <artifactId>Depend-common</artifactId>
            </dependency>
            <dependency>
                <groupId>com.zhangyuwei.dependfather</groupId>
                <artifactId>Depend-entities</artifactId>
            </dependency>
            <!--log4j日志包 -->
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
            </dependency>
            <!-- JUnit单元测试工具 -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
            </dependency>
            <!--Spring框架核心库 -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
            </dependency>
            <!-- aspectJ AOP 织入器 -->
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
            </dependency>
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
            </dependency>
    
            <!--mybatis-spring适配器 -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
            </dependency>
            <!--Spring java数据库访问包,在本例中主要用于提供数据源 -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
            </dependency>
            <!--mysql数据库驱动 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
            <!-- mybatis ORM框架 -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
            </dependency>
            <!--c3p0 连接池 -->
            <dependency>
                <groupId>com.mchange</groupId>
                <artifactId>c3p0</artifactId>
            </dependency>
            <!--此依赖可以使得服务器出现RequestMapping-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
            </dependency>
        </dependencies>
    
    </project>

     Q4:services模块

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="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.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>DependFather</artifactId>
            <groupId>com.zhangyuwei.dependfather</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>Depend-service</artifactId>
        <dependencies>
            <dependency>
                <groupId>com.zhangyuwei.dependfather</groupId>
                <artifactId>Depend-dao</artifactId>
            </dependency>
        </dependencies>
    
    </project>

     Q5:ui模块

    <?xml version="1.0" encoding="UTF-8"?>
    
    <project xmlns="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.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>DependFather</artifactId>
            <groupId>com.zhangyuwei.dependfather</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>Depend-ui</artifactId>
        <packaging>war</packaging>
    
        <name>Depend-ui Maven Webapp</name>
        <!-- FIXME change it to the project's website -->
        <url>http://www.example.com</url>
    
        <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>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>com.zhangyuwei.dependfather</groupId>
                <artifactId>Depend-service</artifactId>
            </dependency>
            <!-- Servlet核心包 -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <scope>provided</scope>
            </dependency>
            <!-- JSTL -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
            </dependency>
            <!--JSP -->
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <scope>provided</scope>
            </dependency>
            <!--excel导出-->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml-schemas</artifactId>
            </dependency>
        </dependencies>
    
        <build>
            <finalName>Depend-ui</finalName>
            <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
                <plugins>
                    <plugin>
                        <artifactId>maven-clean-plugin</artifactId>
                        <version>3.0.0</version>
                    </plugin>
                    <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.0.2</version>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>3.7.0</version>
                    </plugin>
                    <plugin>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>2.20.1</version>
                    </plugin>
                    <plugin>
                        <artifactId>maven-war-plugin</artifactId>
                        <version>3.2.0</version>
                    </plugin>
                    <plugin>
                        <artifactId>maven-install-plugin</artifactId>
                        <version>2.5.2</version>
                    </plugin>
                    <plugin>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <version>2.8.2</version>
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>
    </project>

     Q6:GoodMapper.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">
    <!--命名空间应该是对应接口的包名+接口名 -->
    <mapper namespace="com.zhangyuwei.depend.mapper.IGoodDao"><!--接口名-->
        <!--查询所有的商品-->
        <!--id应该是接口中的方法,结果类型如没有配置别名则应该使用全名称 -->
        <select id="selectAllGood" resultType="Good">
            select *from good
        </select>
        <!--添加商品-->
        <insert id="insertGood" parameterType="Good">
            insert into good(gName,gPrice,gPicture) values(#{gname},#{gprice},#{gpicture})
        </insert>
        <!--修改商品-->
        <update id="updateGood" parameterType="Good">
            update good set gName=#{gname},gPrice=#{gprice},gPicture=#{gpicture} where gId=#{gid}
        </update>
        <!--删除商品-->
        <delete id="deleteGood" parameterType="int">
            delete from good where gId=#{gid}
        </delete>
        <!--查询商品数量-->
        <select id="selectGoodCount" resultType="int">
            select count(*)from good
        </select>
        <!--查询商品数量并带有查询-->
        <select id="selectGoodCountMoreIf" resultType="int">
            select count(*)from good
            <where>
                <if test="gname !=null and gname !=''">
                    gName like '%${gname}%'
                </if>
                <if test="gprice !=null and gprice !=''">
                    and gprice=#{gprice}
                </if>
            </where>
        </select>
        <!--根据编号进行查询-->
        <select id="selectGoodById" parameterType="int" resultType="Good">
            select *from good where gId=#{gid}
        </select>
        <!--分页--><!--这里可以根据错误提示更改参数名-->
        <select id="selectGoodPage" resultType="Good">
            select *from good limit ${param1},${param2}
        </select>
        <!--分页与多条件查询的组合-->
        <select id="selectGoodMoreIfPage" resultType="Good">
            select *from good
            <where>
                <if test="gname !=null and gname !=''">
                    gName like '%${gname}%'
                </if>
                <if test="gprice !=null and gprice !=''">
                    and gprice=#{gprice}
                </if>
            </where>
            limit ${page},${limit}
        </select>
        <!--分页与多条件查询的组合-->
        <select id="selectGoodMoreIfPage2" resultType="Good">
            select *from good limit ${page},${limit}
        </select>
        <!--多条件查询-->
        <select id="selectGoodMoreIf" resultType="Good">
            select *from good
            <where>
                <if test="gname !=null and gname !=''">
                    gName like '%${gname}%'
                </if>
                <if test="gid !=null and gid !=''">
                    and gId=#{gid}
                </if>
                <if test="gprice !=null and gprice !=''">
                    and gprice=#{gprice}
                </if>
                <if test="gpicture !=null and gpicture !=''">
                    and gpicture=#{gpicture}
                </if>
            </where>
        </select>
        <!--批量删除-->
        <delete id="deleteGoodMore" parameterType="int">
            delete from good
            <foreach collection="list" open=" where gId in(" separator="," close=")" item="gid">
                #{gid}
            </foreach>
        </delete>
    </mapper>

    Q7:applicationiContext.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:p="http://www.springframework.org/schema/p"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-4.3.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
    
        <!--1 引入属性文件,在配置中占位使用 -->
        <context:property-placeholder location="classpath*:dbconfig.properties" />
    
        <!--2 配置C3P0数据源 -->
        <!--连接池,提高数据库的性能,产生更多的并发连接数-->
        <!--这个来自c3p0包-->
        <bean id="datasource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
            <!--驱动类名 -->
            <property name="driverClass" value="${mysql.driver}" />
            <!-- url -->
            <property name="jdbcUrl" value="${mysql.url}" />
            <!-- 用户名 -->
            <property name="user" value="${mysql.uid}" />
            <!-- 密码 -->
            <property name="password" value="${mysql.pwd}" />
            <!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数  -->
            <property name="acquireIncrement" value="${c3p0.acquireIncrement}"></property>
            <!-- 初始连接池大小 -->
            <property name="initialPoolSize" value="${c3p0.initialPoolSize}"></property>
            <!-- 连接池中连接最小个数 -->
            <property name="minPoolSize" value="${c3p0.minPoolSize}"></property>
            <!-- 连接池中连接最大个数 -->
            <property name="maxPoolSize" value="${c3p0.maxPoolSize}"></property>
        </bean>
    
        <!--3 会话工厂bean sqlSessionFactoryBean -->
        <!--以前的话,我们需要自己去构建会话工厂,现在通过这个,会自动构建-->
        <!--这里面的名称也就是它所带方法里面的属性-->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" p:configLocation="mybatisConf.xml" >
            <!-- 数据源 -->
            <property name="dataSource" ref="datasource"></property>
            <!-- 别名 -->
            <property name="typeAliasesPackage" value="com.zhangyuwei.depend.entities"></property>
            <!-- sql映射文件路径 -->
            <property name="mapperLocations" value="classpath*:Mapper/*Mapper.xml"></property>
            <!--<property name="configLocation" value="mybatisConf.xml"></property>-->
        </bean>
    
        <!--4 自动扫描对象关系映射 -->
        <!--拿到会话工厂,实现与接口之间的映射-->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <!--指定会话工厂,如果当前上下文中只定义了一个则该属性可省去 -->
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
            <!-- 指定要自动扫描接口的基础包,实现接口 -->
            <property name="basePackage" value="com.zhangyuwei.depend.mapper"></property>
        </bean>
    
        <!--5 声明式事务管理 -->
        <!--定义事物管理器,由spring管理事务 -->
        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="datasource"></property>
        </bean>
        <!--支持注解驱动的事务管理,指定事务管理器 -->
        <tx:annotation-driven transaction-manager="transactionManager"/>
    
        <!--6 容器自动扫描IOC组件  -->
        <!--这个地方不太了解到底知道哪里?-->
        <!--这里放你要自动装配的对象-->
        <context:component-scan base-package="com.zhangyuwei.depend.dao"></context:component-scan>
    
        <!--7 aspectj支持自动代理实现AOP功能 -->
        <aop:aspectj-autoproxy proxy-target-class="true"></aop:aspectj-autoproxy>
    </beans>
    View Code

    Q8:dbconfig.properties

    #mysql jdbc
    mysql.driver=com.mysql.jdbc.Driver
    mysql.url=jdbc:mysql://localhost:3306/GoodDB?serverTimezone=GMT%2B8
    mysql.uid=root
    mysql.pwd=caoyu3520563253
    c3p0.acquireIncrement=5
    c3p0.initialPoolSize=10
    c3p0.minPoolSize=5
    c3p0.maxPoolSize=20
    View Code

    Q9:mybatisConf.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
        <configuration>
        <!--&lt;!&ndash;导入dbconfig.properties文件中的所有key-value数据&ndash;&gt;
        <properties resource="dbconfig.properties"></properties>-->
        <!--设置-->
        <settings>
            <!--设置日志文件-->
            <setting name="cacheEnabled" value="true"></setting>
            <setting name="logImpl" value="STDOUT_LOGGING"/>
        </settings>
        <!--&lt;!&ndash;别名&ndash;&gt;
        <typeAliases>
            <package name="com.zhangyuwei.depend.entities" ></package>
        </typeAliases>
        &lt;!&ndash;环境配置,default为默认选择的环境&ndash;&gt;
        <environments default="development">
            &lt;!&ndash;开发&ndash;&gt;
            <environment id="development">
                &lt;!&ndash;事务管理&ndash;&gt;
                <transactionManager type="JDBC"/>
                &lt;!&ndash;连接池&ndash;&gt;
                <dataSource type="POOLED">
                    &lt;!&ndash;引用属性${mysql.driver}&ndash;&gt;
                    <property name="driver" value="${mysql.DBDRIVER}"/>
                    <property name="url" value="${mysql.DBURL}"/>
                    <property name="username" value="${mysql.DBUSER}"/>
                    <property name="password" value="${mysql.DBPWD}"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="Mapper/GoodMapper.xml"/>
        </mappers>-->
    </configuration>
    View Code

    Q10:web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://java.sun.com/xml/ns/javaee"
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
             id="WebApp_ID" version="3.0">
        <!--<listener>
            <description>Spring容器加载监听器</description>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>-->
        <context-param>
            <description>设置Spring加载时的配置文件位置,默认位置在WEB-INF/lib目录下</description>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:applicationContext.xml</param-value>
        </context-param>
        <!--Spring MVC 前置Servlet,中心控制器 -->
      <servlet>
        <!--名称 -->
        <servlet-name>springmvc</servlet-name>
        <!-- Servlet类 -->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <!--SpringMVC配置参数文件的位置 -->
          <param-name>contextConfigLocation</param-name>
          <!--默认名称为ServletName-servlet.xml ,默认存放在resources目录下-->
          <!--spring-Mvc配置-->
          <param-value>classpath*:springmvc-servlet.xml</param-value>
        </init-param>
        <!-- 启动顺序,数字越小,启动越早 -->
        <load-on-startup>1</load-on-startup>
        <!--Servlet3.0以上文件上传配置 -->
        <multipart-config>
          <max-file-size>5242880</max-file-size><!--上传单个文件的最大限制5MB -->
          <max-request-size>20971520</max-request-size><!--请求的最大限制20MB,一次上传多个文件时一共的大小 -->
          <file-size-threshold>0</file-size-threshold><!--当文件的大小超过临界值时将写入磁盘 -->
        </multipart-config>
      </servlet>
    
      <!--所有请求都会被springmvc拦截 -->
      <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.js</url-pattern>
      </servlet-mapping>
    
      <!-- 配置编码方式过滤器,注意一点:要配置在所有过滤器的前面 -->
      <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>utf-8</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    </web-app>
    View Code

     Q11:springmvc-servlet.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"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-4.3.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">
    
        <!-- 自动扫描包,实现支持注解的IOC -->
        <context:component-scan base-package="com.zhangyuwei.depend.controller" />
    
        <!-- Spring MVC不处理静态资源 -->
        <mvc:default-servlet-handler />
    
        <!-- 支持mvc注解驱动 --><!--设置为true-->
        <mvc:annotation-driven enable-matrix-variables="true"/>
    
        <!-- 视图解析器 -->
        <bean
                class="org.springframework.web.servlet.view.InternalResourceViewResolver"
                id="internalResourceViewResolver">
            <!-- 前缀 -->
            <!--<property name="prefix" value="/WEB-INF/view/" />-->
            <property name="prefix" value="/WEB-INF/view/" />
            <!-- 后缀 -->
            <!--<property name="suffix" value=".jsp" />-->
            <property name="suffix" value=".jsp" />
        </bean>
        <!-- 配置映射媒体类型的策略 -->
        <bean
                class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
            <property name="removeSemicolonContent" value="false" />
        </bean>
        <!--文件上传-->
       <!-- <bean id="multipartResolver"
              class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="defaultEncoding" value="utf-8" />
            <property name="maxUploadSize" value="10485760000" />
            <property name="maxInMemorySize" value="40960" />
        </bean>-->
        <!--文件上传解析器3.0以上 -->
        <bean id="multipartResolver"
              class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
        </bean>
    </beans>
    View Code

    Q12:servlet

    package com.zhangyuwei.depend.controller;
    
    import com.zhangyuwei.depend.common.util.R;
    import com.zhangyuwei.depend.entities.Good;
    import com.zhangyuwei.depend.entities.UpLoad;
    import com.zhangyuwei.depend.mapper.IGoodDao;
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.ss.usermodel.CellStyle;
    import org.apache.poi.xssf.usermodel.XSSFCell;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.multipart.MultipartFile;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.math.BigDecimal;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    
    @Controller
    @RequestMapping("/GoodServlet")
    public class goodServlet {
        /*IGoodDao ia=new goodDao();*/
        ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
        IGoodDao dao=ctx.getBean(IGoodDao.class);
        @RequestMapping("/test")
        public String test(Model model){
            model.addAttribute("message","我是一个测试类");
            return "index";
        }
        /*查询所有商品*/
        @RequestMapping("/selectAllGood")
        @ResponseBody
        public List<Good> selectAllGood(){
            List<Good> entity=dao.selectAllGood();
            return entity;
        }
        /*添加商品*/
        @RequestMapping(value = "/insertGood",method = RequestMethod.POST)
        @ResponseBody
        public void insertGood(@RequestBody List<Good> goodList, HttpServletResponse response) throws IOException {
            /*解决服务端的乱码问题*/
            response.setCharacterEncoding("utf-8");
            Good good=new Good();
            good.setGname(goodList.get(0).getGname());
            good.setGprice(goodList.get(0).getGprice());
            good.setGpicture(goodList.get(0).getGpicture());
            int row=dao.insertGood(good);
            if(row>0){
                response.getWriter().print("添加成功!");
            }else{
                response.getWriter().print("添加失败!");
            }
        }
        /*修改商品*/
        @RequestMapping(value = "/updateGood",method = RequestMethod.POST)
        @ResponseBody
        public void updateGood(@RequestBody List<Good> goodList,HttpServletResponse response) throws IOException {
            /*解决服务端的乱码问题*/
            response.setCharacterEncoding("utf-8");
            Good good=new Good();
            good.setGname(goodList.get(0).getGname());
            good.setGprice(goodList.get(0).getGprice());
            good.setGpicture(goodList.get(0).getGpicture());
            good.setGid(goodList.get(0).getGid());
            int row=dao.updateGood(good);
            if(row>0){
                response.getWriter().print("修改成功!");
            }else{
                response.getWriter().print("修改失败!");
            }
        }
        /*删除商品*/
        @RequestMapping(value = "/deleteGood",method = RequestMethod.POST)
        @ResponseBody
        public R deleteGood(/*@RequestBody Integer gid,*/HttpServletResponse response,HttpServletRequest request){
            /*解决服务端的乱码问题*/
            response.setCharacterEncoding("utf-8");
            int gid=Integer.parseInt(request.getParameter("gId"));
            int row=dao.deleteGood(gid);
            if(row>0) {
                /*try {
                    response.getWriter().print(R.ok("删除成功"));
                } catch (IOException e) {
                    e.printStackTrace();
                }
                //response.getWriter().print("删除成功!");
            }else{
                try {
                    response.getWriter().print("删除失败!");
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }*/
                return R.ok("删除成功!");
            }
            return R.error("删除失败!");
        }
        /*多项删除*/
        @RequestMapping("/deleteGoodMore")
        @ResponseBody
        public void deleteGoodMore(@RequestBody List<Integer> integerList,HttpServletResponse response) throws IOException {
            /*解决服务端的乱码问题*/
            response.setCharacterEncoding("utf-8");
            int row=dao.deleteGoodMore(integerList);
            if(row==integerList.size()){
                response.getWriter().print("删除成功!");
            }else{
                response.getWriter().print("删除失败!");
            }
        }
        /*查询商品数量*/
        @RequestMapping("/selectGoodCount")
        @ResponseBody
        public int selectGoodCount(){
            int count=dao.selectGoodCount();
            return count;
        }
        /*查询商品数量根据查询条件*/
        @RequestMapping("/selectGoodCountMoreIf")
        @ResponseBody
        public int selectGoodCountMoreIf(@RequestBody List<Object> objectList){
           Map<String,Object> map=new HashMap<>();
            map.put("gname",objectList.get(0));
            map.put("gprice",objectList.get(1));
            int count=dao.selectGoodCountMoreIf(map);
            return count;
        }
        /*分页与查询之间的组合*/
        @RequestMapping(value = "/selectGoodMoreIfPage",method = RequestMethod.POST)
        @ResponseBody
        public List<Good> selectGoodMoreIfPage(@RequestBody List<Object> integerList){
    
            Map<String,Object> map=new HashMap<>();
            Object page=integerList.get(0);Object limit=integerList.get(1);
            int pages=(int)page;int limits=(int)limit;
            map.put("page",(pages-1)*limits);
            map.put("limit",limits);
            map.put("gname",integerList.get(2));
            map.put("gprice",integerList.get(3));
            List<Good> entity=dao.selectGoodMoreIfPage(map);
            return entity;
        }
        /*分页*/
        @RequestMapping("/selectGoodPage")
        @ResponseBody
        public List<Good> selectGoodPage(@RequestBody List<Integer> integerList){
            List<Good> entity=dao.selectGoodPage((integerList.get(0)-1)*(integerList.get(1)),integerList.get(1));
            return entity;
        }
        /*多条件查询*/
        @RequestMapping(value = "/selectGoodMoreIf",method = RequestMethod.POST)
        @ResponseBody
        public List<Good> selectGoodMoreIf(@RequestBody List<Good> goodList){
            Map<String,Object> map=new HashMap<String, Object>();
            map.put("gname",goodList.get(0).getGname());
            map.put("gprice",goodList.get(0).getGprice());
            List<Good> entity=dao.selectGoodMoreIf(map);
            return entity;
        }
        /*文件上传*/
        @RequestMapping(value = "fileSave",method = RequestMethod.POST)
        @ResponseBody
        public UpLoad fileSave(MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws Exception{
            //文件存放的位置
            String path=request.getServletContext().getRealPath("/image");
            File fi=new File(path);
            if(!fi.exists()){
                fi.mkdir();
            }
            File tempFile=new File(path, file.getOriginalFilename());
            file.transferTo(tempFile);
            System.out.println(tempFile.getName());
            UpLoad upLoad=new UpLoad();
            upLoad.setCode(0);
            upLoad.setMsg("上传成功!");
            upLoad.setData(tempFile.getName());
            //response.getWriter().print(upLoad);
            return upLoad;
        }
    
        /*导出数据到Excel表格*/
        @RequestMapping(value = "/joinxml",method = RequestMethod.GET)
        @ResponseBody
        public void joinXml(HttpServletResponse response) throws IOException {
            //数据的来源
            List<Good> entity=dao.selectAllGood();
            //设置标题
            String head = "商品信息详细展示";
            //设置表头行
            String[] headrow = {"编号", "名称", "价格","图片路径"};
            if (null != entity && entity.size() > 0) {
                String fileName = "商品信息.xls";//定义导出头
                response.setHeader("Content-disposition", "attachment;filename=" + new String(fileName.getBytes("gb2312"), "ISO8859-1"));    //设置文件头编码格式
                response.setContentType("APPLICATION/OCTET-STREAM;charset=UTF-8");//设置类型
                response.setHeader("Cache-Control", "no-cache");//设置头
                response.setDateHeader("Expires", 0);//设置日期头
                //创建工作簿HSSFWorkbook 对象
                HSSFWorkbook book = new HSSFWorkbook();
                // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
                HSSFSheet sheet = book.createSheet();
                // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
                HSSFRow row = sheet.createRow(0);
                //由工作簿创建表HSSFSheet对象
                CellStyle cellStyle = book.createCellStyle();
    
                cellStyle.setDataFormat(book.createDataFormat().getFormat("yyyy-MM-dd"));
    
                //设置表头
                HSSFCell cell = row.createCell((short) 0);
                cell.setCellValue(head);
                row = sheet.createRow(1);
                for (int i = 0; i < headrow.length; i++) {
                    cell = row.createCell((short) i);
                    cell.setCellValue(headrow[i]);
                }
    
                for (int i = 0; i < entity.size(); i++) {
                    //实体类对象
                    row = sheet.createRow((i + 2));
                    BigDecimal money=entity.get(i).getGprice();
                    row.createCell((short) 0).setCellValue(entity.get(i).getGid());
                    row.createCell((short) 1).setCellValue(entity.get(i).getGname());
                    row.createCell((short) 2).setCellValue(money+"");
                    row.createCell((short) 3).setCellValue(entity.get(i).getGpicture());
                }
                //写出流  刷新缓冲流  关闭流对象
                book.write(response.getOutputStream());
                response.getOutputStream().flush();
                response.getOutputStream().close();
            }
        }
    
        /**
         * 导入数据到Excel表格
         *excel表格的形式为xlsx
         * @throws IOException
         */
        @RequestMapping(value = "/outxml",method = RequestMethod.POST)
        @SuppressWarnings("resource")
        public String excels(MultipartFile files, HttpServletResponse response, HttpServletRequest request) throws IOException, ServletException {
            //文件存放的位置
            String path=request.getSession().getServletContext().getRealPath("/files2");
            File f=new File(path);
            if(!f.exists()){
                f.mkdir();
            }
            //保存文件3
            File tempFile=new File(path, files.getOriginalFilename());
            files.transferTo(tempFile);//把文件从内存存到磁盘中
            System.out.println(path+"\"+files.getOriginalFilename());
    
            //Excel导入数据
            InputStream is = new FileInputStream(path+"\"+files.getOriginalFilename());
            XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is);
            Good emp = new Good();
            // 循环工作表Sheet
            int row=0;int len=0;
            for (int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++) {
                XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet);
                if (xssfSheet == null) {
                    continue;
                }
                // 循环行Row
                for (int rowNum = 0; rowNum <= xssfSheet.getLastRowNum(); rowNum++) {
                    XSSFRow xssfRow = xssfSheet.getRow(rowNum);
                    if (xssfRow != null) {
                        len++;
                        XSSFCell gname = xssfRow.getCell(0);
                        XSSFCell gprice = xssfRow.getCell(1);
                        XSSFCell gpicture = xssfRow.getCell(2);
                        /*String vaId=getValue(eid);
                        String[] arr=vaId.split(".");*/
                        //double vaId=Double.parseDouble(eid.toString());
                        //int vaintId=(int)vaId;
                        Double valMoney=Double.parseDouble(getValue(gprice));
                        BigDecimal bMoney=new BigDecimal(valMoney);
                        emp.setGname(getValue(gname));
                        emp.setGprice(bMoney);
                        emp.setGpicture(getValue(gpicture));
                        if(dao.insertGood(emp)>0){
                            row++;
                        }
                    }
                }
            }
            if(row==len){
                try {
                    response.getWriter().print("添加成功!");
                } catch (IOException es) {
                    es.printStackTrace();
                }
            }else {
                try {
                    response.getWriter().print("添加失败!");
                } catch (IOException es) {
                    es.printStackTrace();
                }
            }
            //request.getRequestDispatcher("index.html").forward(request, response);
            return "redirect:http://localhost:8080/";
        }
        @SuppressWarnings("static-access")
        private String getValue(XSSFCell xssfCell) {
            if (xssfCell.getCellType() == xssfCell.CELL_TYPE_BOOLEAN) {
                // 返回布尔类型的值
                return String.valueOf(xssfCell.getBooleanCellValue());
            } else if (xssfCell.getCellType() == xssfCell.CELL_TYPE_NUMERIC) {
                // 返回数值类型的值
                return String.valueOf(xssfCell.getNumericCellValue());
            } else {
                // 返回字符串类型的值
                return String.valueOf(xssfCell.getStringCellValue());
            }
        }
    }
    View Code

    Q13:index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="js/layui/css/layui.css">
    </head>
    <style>
        table,tr,td{border-collapse: collapse;border:1px solid red;}
        table{ 100%;text-align: center;}
        #test10{background-size: 100% 100%;background-repeat: no-repeat}
    </style>
    <body><p>
        <a href="GoodServlet/joinxml">导出xml</a>
    <form action="GoodServlet/outxml" method="post"  enctype="multipart/form-data">
        <input type="file" name="files"/>
        <button>导入xml</button>
    </form>
    </p>
    <!--分页-->
    <div id="demo11"></div>
    <input type="text" placeholder="请输入名称" id="nameMoreIf"/>
    <input type="text" placeholder="请输入价格" id="priceMoreIf"/>
    <input type="button" value="查询" id="btnMoreIf"/>
    <table>
        <thead>
        <tr>
            <td><input type="checkbox" class="cheBoxMain"/></td>
            <td>编号</td>
            <td>名称</td>
            <td>价格</td>
            <td>图片</td>
            <td>操作</td>
        </tr>
        </thead>
        <tbody id="tbodyShow">
    
        </tbody>
    </table>
    <input type="button" value="多项删除" id="btnMoreDelete"/>
    <fieldset>
        <legend>数据操作</legend>
        <p>
            <label>名称:</label>
            <input type="text" id="gname"/>
        </p>
        <p>
            <label>价格:</label>
            <input type="text" id="gprice"/>
        </p>
        <p>
            <label>图片:</label>
            <div class="layui-upload-drag" id="test10">
                <i class="layui-icon">�</i>
                <p>点击上传,或将文件拖拽到此处</p>
            </div>
        </p>
        <p>
            <input type="button" value="添加" id="btnAdd"/>
            <input type="button" value="修改" id="btnUpdate"/>
        </p>
    </fieldset>
    <script src="js/jquery-1.11.3.js"></script>
    <script src="js/layui/layui.all.js"></script>
    <script>
        var gpicture="";var updateid="";
        /*文件上传*/
        layui.use('upload', function() {
            var $ = layui.jquery
                , upload = layui.upload;
                upload.render({
                    elem: '#test10'
                    ,url: 'GoodServlet/fileSave'
                    ,method:'post'
                    ,done: function(res){
                        $("#test10").css("backgroundImage","url(image/"+res.data+")");
                        gpicture=res.data;
                    }
                });
        });
        /*分页*/
        var pages="";var limits="";
        layui.use(['laypage', 'layer'], function() {
            var laypage = layui.laypage
                , layer = layui.layer;
            //分页方法
            function selectPage() {
                /*查询所有*/
                var number = "";
                var names= $("#nameMoreIf").val();
                var prices=$("#priceMoreIf").val();
                var objectList=[];
                objectList.push(names);
                objectList.push(prices);
                /*var objectList=new Array();
                objectList.push({"gname":names},
                    {"gprice":prices});*/
                $.ajax({
                    url:'GoodServlet/selectGoodCountMoreIf',
                    type:'post',
                    data:JSON.stringify(objectList),
                    contentType:'application/json;charset=UTF-8',
                    success:function (result) {
                        number=result;
                        /*分页查询*/
                        laypage.render({
                            elem: 'demo11'
                            , count: number //数据总数
                            , limit: 4
                            , curr: pages
                            , jump: function (objs) {
                                pages = objs.curr;
                                limits = objs.limit;
                                var integerList=[];
                                integerList.push(pages);
                                integerList.push(limits);
                                integerList.push(names);
                                integerList.push(prices);
                                console.log(integerList);
                                /*得到返回结果*/
                                /*先清除数据*/
                                $("#tbodyShow tr").remove();
                                $.ajax({
                                    type: 'post',
                                    url: 'GoodServlet/selectGoodMoreIfPage',
                                    data: JSON.stringify(integerList),
                                    contentType:'application/json;charset=UTF-8',
                                    beforeSend:function(){
                                      console.log(integerList);
                                    },
                                    success: function (result) {
                                        $.each(result,function (i,obj) {
                                            $("<tr/>").append($("<input type='checkbox' class='cheBoxSon' value='"+obj.gid+"'/>").data("obj",obj.gid))
                                                .append($("<td/>").html(obj.gid))
                                                .append($("<td/>").html(obj.gname))
                                                .append($("<td/>").html(obj.gprice))
                                                .append($("<td/>").html($("<img src='"+"image/"+obj.gpicture+"' width='26px' height='20px'/>")).data("obj",obj.gpicture))
                                                .append($("<input type='button' value='删除' class='btnDel'/>").data("obj",obj.gid))
                                                .append($("<input type='button' value='编辑' class='btnEdit'/>").data("obj",obj))
                                                .appendTo($("#tbodyShow"));
                                        });
                                    }
                                });
                            }
                        });
                    }
                });
            };
            /*删改查*/
            var app={
                /*select:function(){
                    $("#tbodyShow tr").remove();
                    $.ajax({
                        url:'GoodServlet/selectAllGood',
                        type:'post',
                        contentType:'application/json;charset=UTF-8',
                        dataType:'json',
                        success:function (result) {
                            $.each(result,function (i,obj) {
                                $("<tr/>").append($("<input type='checkbox' class='cheBoxSon' value='"+obj.gid+"'/>").data("obj",obj.gid))
                                    .append($("<td/>").html(obj.gid))
                                    .append($("<td/>").html(obj.gname))
                                    .append($("<td/>").html(obj.gprice))
                                    .append($("<td/>").html($("<img src='"+"image/"+obj.gpicture+"' width='26px' height='20px'/>")).data("obj",obj.gpicture))
                                    .append($("<input type='button' value='删除' class='btnDel'/>").data("obj",obj.gid))
                                    .append($("<input type='button' value='编辑' class='btnEdit'/>").data("obj",obj))
                                    .appendTo($("#tbodyShow"));
                            });
                        }
                    });
                },*/
                /*添加*/
                insert:function(){
                    var goodList=new Array();
                    if($("#gname").val()=="" || $("#gprice").val()==""){
                        alert("名称或价格不能为空!");
                        return false;
                    }
                    goodList.push({
                        gname: $("#gname").val(),
                        gprice:$("#gprice").val(),
                        gpicture:gpicture
                    });
                    $.ajax({
                        url:'GoodServlet/insertGood',
                        type:'post',
                        data: JSON.stringify(goodList),
                        contentType:'application/json;charset=UTF-8',
                        success:function (result) {
                            alert(result);selectPage();
                            $("#gname").val("");$("#gprice").val("");gpicture="";
                            $("#test10").css("backgroundImage","");
                        }
                    });
                },
                /*删除*/
                del:function(obj){
                    if(confirm("是否要删除?")) {
                        var gid = obj;
                        $.ajax({
                            url: 'GoodServlet/deleteGood',
                            type: 'post',
                            //data: JSON.stringify(gid),
                            data: {"gId": gid},
                            //contentType:'application/json;charset=UTF-8',
                            success: function (result) {
                                alert(result.msg);
                                selectPage();
                            }
                        });
                    }
                },
                /*修改*/
                update:function(){
                    var goodList=new Array();
                    if($("#gname").val()=="" || $("#gprice").val()==""){
                        alert("名称或价格不能为空!");
                        return false;
                    }
                    goodList.push({
                        gname: $("#gname").val(),
                        gprice:$("#gprice").val(),
                        gpicture:gpicture,
                        gid:updateid
                    });
                    $.ajax({
                        url:'GoodServlet/updateGood',
                        type:'post',
                        data: JSON.stringify(goodList),
                        contentType:'application/json;charset=UTF-8',
                        success:function (result) {
                            alert(result);selectPage();
                            $("#gname").val("");$("#gprice").val("");gpicture="";
                            $("#test10").css("backgroundImage","");updateid="";
                        }
                    });
                },
                /*多项删除*/
                deleteMore:function(){
                    if(confirm("是否要删除?")) {
                        var integerList = [];
                        $(".cheBoxSon:checked").each(function () {
                            integerList.push($(this).val());
                        });
                        $.ajax({
                            url: 'GoodServlet/deleteGoodMore',
                            type: 'post',
                            data: JSON.stringify(integerList),
                            contentType: 'application/json;charset=UTF-8',
                            success: function (result) {
                                alert(result);
                                selectPage();
                            }
                        });
                    }
                },
                /*点击事件*/
                clicks:function(){
                    $("#tbodyShow").on("click",".btnDel",function () {
                        var gid=$(this).data("obj");
                        app.del(gid);
                    });
                    $("#btnAdd").click(function () {
                        app.insert();
                    });
                    $("#tbodyShow").on("click",".btnEdit",function () {
                        var obj=$(this).data("obj");
                        updateid=obj.gid;
                        $("#gname").val(obj.gname);$("#gprice").val(obj.gprice);
                        $("#test10").css("backgroundImage","url(image/"+obj.gpicture+")");
                        gpicture=obj.gpicture;
                    });
                    $("#btnUpdate").click(function () {
                        app.update();
                    });
                    $(".cheBoxMain").click(function () {
                        if($(".cheBoxMain").prop("checked")==true){
                            $(".cheBoxSon").prop("checked",true);
                        }else if($(".cheBoxMain").prop("checked")==false){
                            $(".cheBoxSon").prop("checked",false);
                        }
                    });
                    $("#tbodyShow").on("click",".cheBoxSon",function () {
                        if($(this).prop("checked")==false){
                            $(this).prop("checked",false);
                            $(".cheBoxMain").prop("checked",false);
                        }if($(this).prop("checked")==true){
                            $(this).prop("checked",true);
                        }if(($(".cheBoxSon:checked").length)==($(".cheBoxSon").length)){
                            $(".cheBoxMain").prop("checked",true);
                        }
                    });
                    $("#btnMoreDelete").click(function () {
                        app.deleteMore();
                    });
                    /*多条件查询*/
                    $("#btnMoreIf").click(function () {
                        /*var goodList=new Array();
                        goodList.push({
                            gname: $("#nameMoreIf").val(),
                            gprice:$("#priceMoreIf").val()
                        });
                        $.ajax({
                            url:'GoodServlet/selectGoodMoreIf',
                            type:'post',
                            data: JSON.stringify(goodList),
                            contentType:'application/json;charset=UTF-8',
                            success:function (result) {
                                /!*先清除数据*!/
                                $("#tbodyShow tr").remove();
                                $.each(result,function (i,obj) {
                                    $("<tr/>").append($("<input type='checkbox' class='cheBoxSon' value='"+obj.gid+"'/>").data("obj",obj.gid))
                                        .append($("<td/>").html(obj.gid))
                                        .append($("<td/>").html(obj.gname))
                                        .append($("<td/>").html(obj.gprice))
                                        .append($("<td/>").html($("<img src='"+"image/"+obj.gpicture+"' width='26px' height='20px'/>")).data("obj",obj.gpicture))
                                        .append($("<input type='button' value='删除' class='btnDel'/>").data("obj",obj.gid))
                                        .append($("<input type='button' value='编辑' class='btnEdit'/>").data("obj",obj))
                                        .appendTo($("#tbodyShow"));
                                });
                                $("#nameMoreIf").val("");$("#priceMoreIf").val("");
                            }
                        });*/
                        selectPage();
                    });
                },
                /*初始化*/
                init:function () {
                    selectPage();
                    app.clicks();
                }
            };
            app.init();
        });
    </script>
    </body>
    </html>

    Q14:不污染数据库test

    package com.zhangyuwei.depend.dao;
    
    import com.zhangyuwei.depend.entities.Good;
    import com.zhangyuwei.depend.entities.GoodPage;
    import com.zhangyuwei.depend.mapper.IGoodDao;
    import org.junit.Assert;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.annotation.Rollback;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    import org.springframework.transaction.annotation.Transactional;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    @ContextConfiguration(locations = { "classpath:applicationContext.xml"})
    @RunWith(SpringJUnit4ClassRunner.class)
    @Transactional
    @Rollback
    public class goodDaoTestPro {
        @Autowired
        IGoodDao dao;
        @Test
        public void selectAllGood(){
            System.out.println(dao.selectAllGood());
        }
        @Test
        public void deleteGood(){
            int gid=1;
            int row=dao.deleteGood(gid);
            Assert.assertEquals(1,row);
        }
        @Test
        public void selectGoodMoreIfPage(){
            int page=1;
            int limit=10;
            Map<String,Object> map=new HashMap<String, Object>();
            map.put("gname","益达尊享护齿装草本40粒+冰柠40粒+西");
            map.put("gprice",25.9);
            map.put("page",page);
            map.put("limit",limit);
            List<Good> entity=dao.selectGoodMoreIfPage(map);
            System.out.println(entity);
        }
        @Test
        public void selectGoodMoreIfPage2(){
            List<GoodPage> pageList=new ArrayList<GoodPage>();
            GoodPage gp=new GoodPage();
            gp.setPage(1);
            gp.setLimit(10);
            pageList.add(gp);
            List<Good> entity=dao.selectGoodMoreIfPage2(pageList);
            System.out.println(entity);
        }
        @Test
        public void selectGoodCountMoreIf(){
            Map<String,Object> map=new HashMap<String, Object>();
            map.put("gname","");
            map.put("gprice","");
            int count=dao.selectGoodCountMoreIf(map);
            System.out.println(count);
        }
    }
    View Code

    Q15:接口IGoodDao

    package com.zhangyuwei.depend.mapper;
    
    import com.zhangyuwei.depend.entities.Good;
    import com.zhangyuwei.depend.entities.GoodPage;
    import org.apache.ibatis.annotations.Param;
    import org.junit.Test;
    
    import java.util.List;
    import java.util.Map;
    
    public interface IGoodDao {
        /*查询所有商品*/
        List<Good> selectAllGood();
        /*添加商品*/
        int insertGood(Good entity);
        /*修改商品*/
        int updateGood(Good entity);
        /*删除商品*/
        int deleteGood(int gid);
        /*查询商品个数*/
        int selectGoodCount();
        /*查询商品个数带有条件*/
        int selectGoodCountMoreIf(Map<String,Object> map);
        /*根据编号进行查询*/
        List<Good> selectGoodById(int gid);
        /*分页与多查询之间的组合*/
        List<Good> selectGoodMoreIfPage(Map<String,Object> map);
        /*分页与多查询之间的组合*/
        List<Good> selectGoodMoreIfPage2(List<GoodPage> listpage);
        /*分页*/
        List<Good> selectGoodPage(int param1,int param2);
        /*多条件查询*/
        List<Good> selectGoodMoreIf(Map<String,Object> map);
        /*批量删除*/
        int deleteGoodMore(List<Integer> entity);
    }
    View Code
    zywds
  • 相关阅读:
    swift5.x for-in, switch语句
    swift5.x 数组(Array)的基本操作
    OC NSDictionary的属性一般为什么要设置为copy
    iOS APP 从编译到运行
    重装win10系统之后,如何使用之前的虚拟机
    [Delphi]接口认识
    [QPlugins]学习大纲
    [QPlugins]概述
    [转发]Oauth 1.0 1.0a 和 2.0 的之间的区别有哪些?
    [Delphi] Webbroker ISAPI 示例说明
  • 原文地址:https://www.cnblogs.com/zywds/p/9921692.html
Copyright © 2011-2022 走看看