SSM框架的具体搭建配置

学习java难免要掌握ssm框架,下面是ssm框架具体的目录结构和配置。记录一下,方便以后进行使用:
db.properties
log4j.properties
mybatis-config.xml
spring-context.xml
springmvc-context.xml
web.xml
pom.xml
Dao层映射:com.online.dao.Student.xml
Java包配置:com.online. ontroller.StudentController.java
com.online.dao.StudentDao.java
com.online.domain.Student.java
com.online.service.StudentService.java
com.online.service.impl.StudentServiceImpl.java
com.online.util.FastJsonUtil.java——工具类

在这里插入图片描述
db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatisdb?allowMultiQueries=true
jdbc.username=root
jdbc.password=123456
jdbc.initialPoolSize=30
jdbc.minPoolSize=10
jdbc.maxPoolSize=100
jdbc.acquireIncrement=5
jdbc.maxStatements=1000
jdbc.maxStatementsPerConnection=10

log4j.properties

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=info, CONSOLE, LOGFILE
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:/axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m

mybatis-config.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">
<!-- MyBatis的全局配置文件 -->
<configuration>

   <settings>
      <!-- 映射下划线到驼峰命名    last_name ==> lastName    -->
      <setting name="mapUnderscoreToCamelCase" value="true"/>
      <!-- 开启延迟加载 -->
      <setting name="lazyLoadingEnabled" value="true"/>
      <!-- 指定加载的属性是按需加载 -->
      <setting name="aggressiveLazyLoading" value="false"/>
      <!-- 二级缓存 -->
      <setting name="cacheEnabled" value="true"/>
   </settings>

   <!--使用typeAliases配置别名,它只能配置domain中类的别名 -->
   <typeAliases>
      <package name="com.online.domain"/>
   </typeAliases>

   <!--分页插件-->
   <plugins>
      <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
   </plugins>

</configuration>

spring-context.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:aop="http://www.springframework.org/schema/aop"
      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.xsd
   http://www.springframework.org/schema/aop
   http://www.springframework.org/schema/aop/spring-aop.xsd
   http://www.springframework.org/schema/tx
   http://www.springframework.org/schema/tx/spring-tx.xsd">

   <!--开启注解的扫描,希望处理service和dao,controller不需要Spring框架去处理-->
   <context:component-scan base-package="com.online">
      <!--配置哪些注解不扫描-->
      <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
   </context:component-scan>

   <!--Spring整合MyBatis框架-->
   <!-- 读取外部文件 -->
   <context:property-placeholder location="classpath:/db.properties"/>

   <!--配置C3P0连接池-->
   <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
      <property name="user" value="${jdbc.username}"/>
      <property name="password" value="${jdbc.password}"/>
      <property name="jdbcUrl" value="${jdbc.url}"/>
      <property name="driverClass" value="${jdbc.driver}"/>
      <property name="initialPoolSize" value="${jdbc.initialPoolSize}"/>
      <property name="minPoolSize" value="${jdbc.minPoolSize}"/>
      <property name="maxPoolSize" value="${jdbc.maxPoolSize}"/>
      <property name="acquireIncrement" value="${jdbc.acquireIncrement}"/>
      <property name="maxStatements" value="${jdbc.maxStatements}"/>
      <property name="maxStatementsPerConnection" value="${jdbc.maxStatementsPerConnection}"/>
   </bean>

   <!--配置SqlSessionFactory工厂-->
   <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <!-- 注入数据源 -->
      <property name="dataSource" ref="dataSource"></property>
      <!-- 指定MyBatis的全局配置文件 -->
      <property name="configLocation" value="classpath:mybatis-config.xml"></property>
      <!-- 指定sql映射文件。一般情况下没意义,如果mapper类和mapper.xml不在同一个路径下时,就有意义了 -->
      <property name="mapperLocations" value="classpath:com/online/dao/*.xml"></property>
   </bean>

   <!--配置Dao层接口所在包-->
   <bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
      <property name="basePackage" value="com.online.dao"/>
   </bean>

   <!--配置Spring框架声明式事务管理-->
   <!--配置事务管理器-->
   <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
      <property name="dataSource" ref="dataSource"/>
   </bean>

   <!--配置事务通知-->
   <tx:advice id="txAdvice" transaction-manager="transactionManager">
      <!--        <tx:attributes>
               <tx:method name="find*" read-only="true"/>
               <tx:method name="*" isolation="DEFAULT"/>
            </tx:attributes>-->
   </tx:advice>

   <!--配置AOP增强-->
   <aop:config>
      <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.online.service.impl.*ServiceImpl.*(..))"/>
   </aop:config>

</beans>

springmvc-context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:mvc="http://www.springframework.org/schema/mvc"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

   <!--开启注解扫描,只扫描Controller注解-->
   <context:component-scan base-package="com.online" use-default-filters="false">
      <!-- 只扫描SpringMVC相关的组件 -->
      <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
   </context:component-scan>

   <!--配置的视图解析器对象-->
   <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="/"/>
      <property name="suffix" value=".jsp"/>
   </bean>

   <!--配置文件解析器对象-->
   <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
      <property name="maxUploadSize" value="10485760"/>
   </bean>

   <!--
      &lt;!&ndash; @ResponseBody 转化json &ndash;&gt;
      <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
         <property name="messageConverters">
            <list>
               &lt;!&ndash; json视图拦截器,读取到@ResponseBody的时候去配置它 &ndash;&gt;
               <ref bean="mappingJacksonHttpMessageConverter"/>
            </list>
         </property>
      </bean>
      &lt;!&ndash; json转化器,它可以将结果转化 &ndash;&gt;
      <bean id="mappingJacksonHttpMessageConverter"
           class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
         <property name="supportedMediaTypes">
            <list>
               <value>application/json;charset=UTF-8</value>
            </list>
         </property>
      </bean>
   -->

   <!--过滤静态资源-->
   <mvc:default-servlet-handler/>
   <!--开启SpringMVC注解的支持-->
   <mvc:annotation-driven/>
</beans>

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"
       version="3.0">

   <display-name>Archetype Created Web Application</display-name>

   <!--配置Spring的监听器,默认只加载WEB-INF目录下的spring-context.xml配置文件-->
   <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>
   <!--设置配置文件的路径-->
   <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring-context.xml</param-value>
   </context-param>

   <!--解决中文乱码的过滤器-->
   <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>

   <!-- 支持 rest 风格 -->
   <filter>
      <filter-name>HiddenHttpMethodFilter</filter-name>
      <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
   </filter>
   <filter-mapping>
      <filter-name>HiddenHttpMethodFilter</filter-name>
      <url-pattern>/*</url-pattern>
   </filter-mapping>

   <!--配置前端控制器-->
   <servlet>
      <servlet-name>dispatcherServlet</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <!--加载springmvc.xml配置文件-->
      <init-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>classpath:springmvc-context.xml</param-value>
      </init-param>
      <!--启动服务器,创建该servlet-->
      <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
      <servlet-name>dispatcherServlet</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>

   <!--错误页面-->
   <error-page>
      <error-code>404</error-code>
      <location>/resources/page/404.html</location>
   </error-page>
   <error-page>
      <error-code>500</error-code>
      <location>/resources/page/404.html</location>
   </error-page>

   <!-- welcome -->
   <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>
</web-app>

pom.xml

<?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.online</groupId>
   <artifactId>onlineschool</artifactId>
   <version>1.0-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>onlineschool 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>
      <junit.version>4.12</junit.version>
      <spring.version>4.0.0.RELEASE</spring.version>
      <mybatis.version>3.4.1</mybatis.version>
      <mybatis-generator.version>1.3.2</mybatis-generator.version>
      <mybatis-spring.version>1.3.0</mybatis-spring.version>
      <mysql.version>5.1.37</mysql.version>
      <c3p0.version>0.9.5.2</c3p0.version>
      <fastjson.version>1.2.31</fastjson.version>
      <slf4j.version>1.7.7</slf4j.version>
      <log4j.version>1.2.17</log4j.version>
      <taglibs.version>1.1.2</taglibs.version>
      <jack.version>2.7.3</jack.version>
      <aglibs-standard.version>1.2.1</aglibs-standard.version>
   </properties>

   <dependencies>
      <!-- <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId>
         <version>${spring.version}</version> </dependency> -->
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-aspects</artifactId>
         <version>4.0.6.RELEASE</version>
      </dependency>

      <dependency>
         <groupId>net.sourceforge.cglib</groupId>
         <artifactId>com.springsource.net.sf.cglib</artifactId>
         <version>2.2.0</version>
      </dependency>

      <dependency>
         <groupId>org.aopalliance</groupId>
         <artifactId>com.springsource.org.aopalliance</artifactId>
         <version>1.0.0</version>
      </dependency>

      <dependency>
         <groupId>org.aspectj</groupId>
         <artifactId>com.springsource.org.aspectj.weaver</artifactId>
         <version>1.6.8.RELEASE</version>
      </dependency>

      <!-- https://mvnrepository.com/artifact/com.github.jsqlparser/jsqlparser -->
      <dependency>
         <groupId>com.github.jsqlparser</groupId>
         <artifactId>jsqlparser</artifactId>
         <version>0.9.5</version>
      </dependency>

      <dependency>
         <groupId>commons-logging</groupId>
         <artifactId>commons-logging</artifactId>
         <version>1.1.3</version>
      </dependency>

      <dependency>
         <groupId>com.github.pagehelper</groupId>
         <artifactId>pagehelper</artifactId>
         <version>5.0.0</version>
      </dependency>

      <dependency>
         <groupId>org.apache.taglibs</groupId>
         <artifactId>taglibs-standard-impl</artifactId>
         <version>${aglibs-standard.version}</version>
      </dependency>

      <dependency>
         <groupId>org.apache.taglibs</groupId>
         <artifactId>taglibs-standard-spec</artifactId>
         <version>${aglibs-standard.version}</version>
      </dependency>

      <!-- 单元测试 -->
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>${junit.version}</version>
      </dependency>

      <!-- 反向生成 -->
      <dependency>
         <groupId>org.mybatis.generator</groupId>
         <artifactId>mybatis-generator-core</artifactId>
         <version>${mybatis-generator.version}</version>
      </dependency>

      <!-- 验证 -->
      <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-validator</artifactId>
         <version>5.2.4.Final</version>
      </dependency>

      <!--json所需要的依赖 开始 -->
      <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-core</artifactId>
         <version>${jack.version}</version>
      </dependency>

      <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-databind</artifactId>
         <version>${jack.version}</version>
      </dependency>

      <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-annotations</artifactId>
         <version>${jack.version}</version>
      </dependency>

      <dependency>
         <groupId>org.codehaus.jackson</groupId>
         <artifactId>jackson-mapper-asl</artifactId>
         <version>1.9.13</version>
      </dependency>

      <!--json所需要的依赖 结束 -->
      <dependency>
         <groupId>javax.validation</groupId>
         <artifactId>validation-api</artifactId>
         <version>2.0.1.Final</version>
      </dependency>

      <dependency>
         <groupId>com.alibaba</groupId>
         <artifactId>fastjson</artifactId>
         <version>${fastjson.version}</version>
      </dependency>

      <!-- spring核心包 -->
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-core</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-web</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-webmvc</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-expression</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-oxm</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-tx</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-orm</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-jdbc</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-beans</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-aop</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-context-support</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-context</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-test</artifactId>
         <version>${spring.version}</version>
      </dependency>

      <!-- mybatis核心包 -->
      <dependency>
         <groupId>org.mybatis</groupId>
         <artifactId>mybatis</artifactId>
         <version>${mybatis.version}</version>
      </dependency>

      <!-- mybatis/spring包 -->
      <dependency>
         <groupId>org.mybatis</groupId>
         <artifactId>mybatis-spring</artifactId>
         <version>${mybatis-spring.version}</version>
      </dependency>

      <!-- 导入Mysql数据库链接jar包 -->
      <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>${mysql.version}</version>
      </dependency>

      <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
      <dependency>
         <groupId>commons-dbcp</groupId>
         <artifactId>commons-dbcp</artifactId>
         <version>1.2.2</version>
      </dependency>

      <!-- JSTL标签类 -->
      <dependency>
         <groupId>jstl</groupId>
         <artifactId>jstl</artifactId>
         <version>1.2</version>
      </dependency>

      <!-- 日志文件管理包 -->
      <!-- log start -->
      <dependency>
         <groupId>log4j</groupId>
         <artifactId>log4j</artifactId>
         <version>${log4j.version}</version>
      </dependency>

      <!-- 数据连接池 -->
      <dependency>
         <groupId>com.mchange</groupId>
         <artifactId>c3p0</artifactId>
         <version>${c3p0.version}</version>
      </dependency>

      <dependency>
         <groupId>taglibs</groupId>
         <artifactId>standard</artifactId>
         <version>${taglibs.version}</version>
      </dependency>

      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-api</artifactId>
         <version>${slf4j.version}</version>
      </dependency>

      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-log4j12</artifactId>
         <version>${slf4j.version}</version>
      </dependency>

      <dependency>
         <groupId>javax.servlet.jsp</groupId>
         <artifactId>javax.servlet.jsp-api</artifactId>
         <version>2.3.1</version>
         <scope>provided</scope>
      </dependency>

      <!-- 导入servlet-api/jsp -->
      <dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>javax.servlet-api</artifactId>
         <version>3.1.0</version>
         <scope>provided</scope>
      </dependency>

      <!-- 导入javaee jar 包 -->
      <dependency>
         <groupId>javax</groupId>
         <artifactId>javaee-api</artifactId>
         <version>7.0</version>
         <scope>provided</scope>
      </dependency>

      <!--文件上传-->
      <dependency>
         <groupId>commons-fileupload</groupId>
         <artifactId>commons-fileupload</artifactId>
         <version>1.3.1</version>
      </dependency>

   </dependencies>

   <build>
      <finalName>onlineschool</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>
      <plugins>
         <!-- Run As → Maven Build → tomcat7:run -Dmaven.tomcat.port=8080 -->
         <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
               <!-- 指定端口 -->
               <port>8080</port>
               <!-- 请求路径 -->
               <path>/xiaobaicai</path>
               <ignorePackaging>true</ignorePackaging>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.8</version>
            <executions>
               <execution>
                  <id>copy</id>
                  <phase>install</phase>
                  <goals>
                     <goal>copy-dependencies</goal>
                  </goals>
                  <configuration>
                     <outputDirectory>${project.build.directory}/lib</outputDirectory>
                  </configuration>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>
</project>

Java包配置:om.online. ontroller.StudentController.java

@Controller
@RequestMapping("/student")
public class StudentController {

    @Autowired
    private StudentService studentService;
}

com.online.dao.StudentDao.java

public interface StudentDao {
    //查询用户总数
    int findCount();
}

com.online.domain.Student.java

public class Student {
    private int id;
    public int getId() {return id;}
    public void setId(int id) {this.id = id;}
}

com.online.service.StudentService.java

public interface StudentService {
    //查询学生总数
    int findCount();
}

com.online.service.impl.StudentServiceImpl.java

@Service("studnetService")
public class StudentServiceImpl implements StudentService {

    @Autowired
    private StudentDao studentDao;//查询学生总数
    public int findCount() {
        return studentDao.findCount();
    }
}

com.online.util.FastJsonUtil.java——工具类

import java.util.List;
import com.alibaba.fastjson.JSON;

//针对泛型不能封装Map
public class FastJsonUtil {

   /**
    * 任意对象转json字符串
    */
   public static String object_to_json(Object object) {
      return JSON.toJSONString(object);
   }

   /**
    * json字符串转普通java对象
    */
   public static <T> T json_to_object(String json, Class<T> clazz) {
      return JSON.parseObject(json, clazz);
   }

   /**
    * json字符串转List对象
    * @param <T>
    */
   public static <T> List<T> json_to_list(String json, Class<T> clazz) {
      return JSON.parseArray(json, clazz);
   }
}
原文地址:https://www.cnblogs.com/mxxbc/p/14055634.html