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{width: 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

 

转载于:https://www.cnblogs.com/zywds/p/9921692.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值