SSM+Mysql+EasyUI增刪改查demo

目錄結構




表結構

[sql]  view plain  copy
  1. CREATE TABLE `user` (  
  2.   `id` int(10) NOT NULL auto_increment,  
  3.   `username` varchar(50) default NULL,  
  4.   `passwordvarchar(50) default NULL,  
  5.   `sex` varchar(10) default NULL,  
  6.   `age` int(10) default NULL,  
  7.   `birthday` varchar(50) default NULL,  
  8.   `city` int(10) default NULL,  
  9.   `salary` varchar(50) default NULL,  
  10.   `starttime` varchar(100) default NULL,  
  11.   `endtime` varchar(100) default NULL,  
  12.   `description` varchar(500) default NULL,  
  13.   PRIMARY KEY  (`id`)  
  14. ) ENGINE=InnoDB AUTO_INCREMENT=151 DEFAULT CHARSET=utf8;  

1.導入相關依賴

父工程的pom文件,用來集中管理版本

[html]  view plain  copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <groupId>cn.zto.parent</groupId>  
  5.     <artifactId>zto-parent</artifactId>  
  6.     <version>0.0.1-SNAPSHOT</version>  
  7.     <packaging>pom</packaging>  
  8.   
  9.     <!-- 集中定義依賴版本號 -->  
  10.     <properties>  
  11.         <junit.version>4.12</junit.version>  
  12.         <spring.version>4.1.3.RELEASE</spring.version>  
  13.         <mybatis.version>3.2.8</mybatis.version>  
  14.         <mybatis.spring.version>1.2.2</mybatis.spring.version>  
  15.         <mybatis.paginator.version>1.2.15</mybatis.paginator.version>  
  16.         <mysql.version>5.1.32</mysql.version>  
  17.         <slf4j.version>1.6.4</slf4j.version>  
  18.         <jackson.version>2.4.2</jackson.version>  
  19.         <druid.version>1.0.9</druid.version>  
  20.         <httpclient.version>4.3.5</httpclient.version>  
  21.         <jstl.version>1.2</jstl.version>  
  22.         <servlet-api.version>2.5</servlet-api.version>  
  23.         <jsp-api.version>2.0</jsp-api.version>  
  24.         <joda-time.version>2.5</joda-time.version>  
  25.         <commons-lang3.version>3.3.2</commons-lang3.version>  
  26.         <commons-io.version>1.3.2</commons-io.version>  
  27.         <quartz.version>2.2.1</quartz.version>  
  28.     </properties>  
  29.   
  30.     <dependencyManagement>  
  31.         <dependencies>  
  32.             <!-- 單元測試 -->  
  33.             <dependency>  
  34.                 <groupId>junit</groupId>  
  35.                 <artifactId>junit</artifactId>  
  36.                 <version>${junit.version}</version>  
  37.                 <scope>test</scope>  
  38.             </dependency>  
  39.   
  40.             <!-- Spring -->  
  41.             <dependency>  
  42.                 <groupId>org.springframework</groupId>  
  43.                 <artifactId>spring-context</artifactId>  
  44.                 <version>${spring.version}</version>  
  45.             </dependency>  
  46.             <dependency>  
  47.                 <groupId>org.springframework</groupId>  
  48.                 <artifactId>spring-context-support</artifactId>  
  49.                 <version>${spring.version}</version>  
  50.             </dependency>  
  51.             <dependency>  
  52.                 <groupId>org.springframework</groupId>  
  53.                 <artifactId>spring-beans</artifactId>  
  54.                 <version>${spring.version}</version>  
  55.             </dependency>  
  56.             <dependency>  
  57.                 <groupId>org.springframework</groupId>  
  58.                 <artifactId>spring-webmvc</artifactId>  
  59.                 <version>${spring.version}</version>  
  60.             </dependency>  
  61.             <dependency>  
  62.                 <groupId>org.springframework</groupId>  
  63.                 <artifactId>spring-jdbc</artifactId>  
  64.                 <version>${spring.version}</version>  
  65.             </dependency>  
  66.             <dependency>  
  67.                 <groupId>org.springframework</groupId>  
  68.                 <artifactId>spring-aspects</artifactId>  
  69.                 <version>${spring.version}</version>  
  70.             </dependency>  
  71.             <dependency>  
  72.                 <groupId>org.springframework</groupId>  
  73.                 <artifactId>spring-tx</artifactId>  
  74.                 <version>4.0.6.RELEASE</version>  
  75.             </dependency>  
  76.   
  77.             <!-- Mybatis -->  
  78.             <dependency>  
  79.                 <groupId>org.mybatis</groupId>  
  80.                 <artifactId>mybatis</artifactId>  
  81.                 <version>${mybatis.version}</version>  
  82.             </dependency>  
  83.             <dependency>  
  84.                 <groupId>org.mybatis</groupId>  
  85.                 <artifactId>mybatis-spring</artifactId>  
  86.                 <version>${mybatis.spring.version}</version>  
  87.             </dependency>  
  88.   
  89.             <!-- MySql -->  
  90.             <dependency>  
  91.                 <groupId>mysql</groupId>  
  92.                 <artifactId>mysql-connector-java</artifactId>  
  93.                 <version>${mysql.version}</version>  
  94.             </dependency>  
  95.   
  96.             <dependency>  
  97.                 <groupId>org.slf4j</groupId>  
  98.                 <artifactId>slf4j-log4j12</artifactId>  
  99.                 <version>${slf4j.version}</version>  
  100.             </dependency>  
  101.   
  102.             <!-- Jackson Json處理工具包 -->  
  103.             <dependency>  
  104.                 <groupId>com.fasterxml.jackson.core</groupId>  
  105.                 <artifactId>jackson-databind</artifactId>  
  106.                 <version>${jackson.version}</version>  
  107.             </dependency>  
  108.   
  109.             <!-- 連接池 -->  
  110.             <dependency>  
  111.                 <groupId>com.jolbox</groupId>  
  112.                 <artifactId>bonecp-spring</artifactId>  
  113.                 <version>0.8.0.RELEASE</version>  
  114.             </dependency>  
  115.   
  116.             <!-- httpclient -->  
  117.             <dependency>  
  118.                 <groupId>org.apache.httpcomponents</groupId>  
  119.                 <artifactId>httpclient</artifactId>  
  120.                 <version>${httpclient.version}</version>  
  121.             </dependency>  
  122.   
  123.             <!-- JSP相關 -->  
  124.             <dependency>  
  125.                 <groupId>jstl</groupId>  
  126.                 <artifactId>jstl</artifactId>  
  127.                 <version>${jstl.version}</version>  
  128.             </dependency>  
  129.             <dependency>  
  130.                 <groupId>javax.servlet</groupId>  
  131.                 <artifactId>servlet-api</artifactId>  
  132.                 <version>${servlet-api.version}</version>  
  133.                 <scope>provided</scope>  
  134.             </dependency>  
  135.             <dependency>  
  136.                 <groupId>javax.servlet</groupId>  
  137.                 <artifactId>jsp-api</artifactId>  
  138.                 <version>${jsp-api.version}</version>  
  139.                 <scope>provided</scope>  
  140.             </dependency>  
  141.   
  142.             <!-- 時間操作組件 -->  
  143.             <dependency>  
  144.                 <groupId>joda-time</groupId>  
  145.                 <artifactId>joda-time</artifactId>  
  146.                 <version>${joda-time.version}</version>  
  147.             </dependency>  
  148.   
  149.             <!-- Apache工具組件 -->  
  150.             <dependency>  
  151.                 <groupId>org.apache.commons</groupId>  
  152.                 <artifactId>commons-lang3</artifactId>  
  153.                 <version>${commons-lang3.version}</version>  
  154.             </dependency>  
  155.             <dependency>  
  156.                 <groupId>org.apache.commons</groupId>  
  157.                 <artifactId>commons-io</artifactId>  
  158.                 <version>${commons-io.version}</version>  
  159.             </dependency>  
  160.               
  161.             <!-- 阿里雲開放搜索opensearch -->  
  162.             <dependency>  
  163.               <groupId>com.aliyun.opensearch</groupId>  
  164.               <artifactId>aliyun-sdk-opensearch</artifactId>  
  165.               <version>2.1.3</version>  
  166.             </dependency>  
  167.               
  168.             <!-- 定時任務 -->  
  169.             <dependency>  
  170.                 <groupId>org.quartz-scheduler</groupId>  
  171.                 <artifactId>quartz</artifactId>  
  172.                 <version>${quartz.version}</version>  
  173.             </dependency>  
  174.         </dependencies>  
  175.           
  176.     </dependencyManagement>  
  177.       
  178.     <!--設置deploy地址 依賴包發佈到私服,將開發的包上傳到宿主倉庫-->  
  179.     <distributionManagement>   
  180.     <!-- 上傳到宿主倉庫的releases -->  
  181.      <repository>   
  182.         <id>releases</id>   
  183.         <name>Internal Releases</name>   
  184.         <url>http://10.10.4.90:8081/nexus/content/repositories/releases/</url>   
  185.     </repository>   
  186.     <!-- 上傳到宿主倉庫的snapshots -->  
  187.     <snapshotRepository>   
  188.         <id>snapshots</id>   
  189.         <name>Internal Snapshots</name>   
  190.         <url>http://10.10.4.90:8081/nexus/content/repositories/snapshots/</url>   
  191.     </snapshotRepository>    
  192.   </distributionManagement>  
  193.   
  194.     <build>  
  195.         <finalName>${project.artifactId}</finalName>  
  196.         <plugins>  
  197.             <!-- 資源文件拷貝插件 -->  
  198.             <plugin>  
  199.                 <groupId>org.apache.maven.plugins</groupId>  
  200.                 <artifactId>maven-resources-plugin</artifactId>  
  201.                 <version>2.7</version>  
  202.                 <configuration>  
  203.                     <encoding>UTF-8</encoding>  
  204.                 </configuration>  
  205.             </plugin>  
  206.             <!-- java編譯插件 -->  
  207.             <plugin>  
  208.                 <groupId>org.apache.maven.plugins</groupId>  
  209.                 <artifactId>maven-compiler-plugin</artifactId>  
  210.                 <version>3.2</version>  
  211.                 <configuration>  
  212.                     <source>1.7</source>  
  213.                     <target>1.7</target>  
  214.                     <encoding>UTF-8</encoding>  
  215.                 </configuration>  
  216.             </plugin>  
  217.         </plugins>  
  218.         <pluginManagement>  
  219.             <plugins>  
  220.                 <!-- 配置Tomcat插件 -->  
  221.                 <plugin>  
  222.                     <groupId>org.apache.tomcat.maven</groupId>  
  223.                     <artifactId>tomcat7-maven-plugin</artifactId>  
  224.                     <version>2.2</version>  
  225.                 </plugin>  
  226.             </plugins>  
  227.         </pluginManagement>  
  228.     </build>  
  229. </project>  

pom.xml

[html]  view plain  copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <groupId>com.xyc.ssm</groupId>  
  5.     <artifactId>zto-ssm</artifactId>  
  6.     <parent>  
  7.         <groupId>cn.zto.parent</groupId>  
  8.         <artifactId>zto-parent</artifactId>  
  9.         <version>0.0.1-SNAPSHOT</version>  
  10.     </parent>  
  11.     <packaging>war</packaging>  
  12.   
  13.     <dependencies>  
  14.     <!--如果用命令生成的話 這個依賴是不需要的-->  
  15.         <dependency>  
  16.             <groupId>org.mybatis.generator</groupId>  
  17.             <artifactId>mybatis-generator-core</artifactId>  
  18.             <version>1.3.2</version>  
  19.         </dependency>  
  20.         <!-- 單元測試 -->  
  21.         <dependency>  
  22.             <groupId>junit</groupId>  
  23.             <artifactId>junit</artifactId>  
  24.             <scope>test</scope>  
  25.         </dependency>  
  26.         <dependency>  
  27.             <groupId>org.springframework</groupId>  
  28.             <artifactId>spring-webmvc</artifactId>  
  29.         </dependency>  
  30.         <dependency>  
  31.             <groupId>org.springframework</groupId>  
  32.             <artifactId>spring-jdbc</artifactId>  
  33.         </dependency>  
  34.         <dependency>  
  35.             <groupId>org.springframework</groupId>  
  36.             <artifactId>spring-aspects</artifactId>  
  37.         </dependency>  
  38.         <dependency>  
  39.             <groupId>org.springframework</groupId>  
  40.             <artifactId>spring-test</artifactId>  
  41.             <version>4.1.3.RELEASE</version>  
  42.         </dependency>  
  43.   
  44.         <!-- Mybatis -->  
  45.         <dependency>  
  46.             <groupId>org.mybatis</groupId>  
  47.             <artifactId>mybatis</artifactId>  
  48.         </dependency>  
  49.         <dependency>  
  50.             <groupId>org.mybatis</groupId>  
  51.             <artifactId>mybatis-spring</artifactId>  
  52.         </dependency>  
  53.         <!-- 分頁助手 -->  
  54.         <dependency>  
  55.             <groupId>com.github.pagehelper</groupId>  
  56.             <artifactId>pagehelper</artifactId>  
  57.             <version>3.7.5</version>  
  58.         </dependency>  
  59.         <dependency>  
  60.             <groupId>com.github.jsqlparser</groupId>  
  61.             <artifactId>jsqlparser</artifactId>  
  62.             <version>0.9.1</version>  
  63.         </dependency>  
  64.         <!-- MySql -->  
  65.         <dependency>  
  66.             <groupId>mysql</groupId>  
  67.             <artifactId>mysql-connector-java</artifactId>  
  68.         </dependency>  
  69.   
  70.         <dependency>  
  71.             <groupId>org.slf4j</groupId>  
  72.             <artifactId>slf4j-log4j12</artifactId>  
  73.         </dependency>  
  74.   
  75.         <!-- Jackson Json處理工具包 -->  
  76.         <dependency>  
  77.             <groupId>com.fasterxml.jackson.core</groupId>  
  78.             <artifactId>jackson-databind</artifactId>  
  79.         </dependency>  
  80.         <!-- 連接池 -->  
  81.         <dependency>  
  82.             <groupId>com.jolbox</groupId>  
  83.             <artifactId>bonecp-spring</artifactId>  
  84.         </dependency>  
  85.         <!-- JSP相關 -->  
  86.         <dependency>  
  87.             <groupId>jstl</groupId>  
  88.             <artifactId>jstl</artifactId>  
  89.         </dependency>  
  90.         <dependency>  
  91.             <groupId>javax.servlet</groupId>  
  92.             <artifactId>servlet-api</artifactId>  
  93.             <scope>provided</scope>  
  94.         </dependency>  
  95.         <dependency>  
  96.             <groupId>javax.servlet</groupId>  
  97.             <artifactId>jsp-api</artifactId>  
  98.             <scope>provided</scope>  
  99.         </dependency>  
  100.         <!-- Apache工具組件 -->  
  101.         <dependency>  
  102.             <groupId>org.apache.commons</groupId>  
  103.             <artifactId>commons-lang3</artifactId>  
  104.         </dependency>  
  105.         <dependency>  
  106.             <groupId>org.apache.commons</groupId>  
  107.             <artifactId>commons-io</artifactId>  
  108.         </dependency>  
  109.     </dependencies>  
  110.   
  111.     <build>  
  112.         <plugins>  
  113.             <!-- 配置Tomcat插件 -->  
  114.             <plugin>  
  115.                 <groupId>org.apache.tomcat.maven</groupId>  
  116.                 <artifactId>tomcat7-maven-plugin</artifactId>  
  117.                 <configuration>  
  118.                     <port>80</port>  
  119.                     <path>/</path>  
  120.                 </configuration>  
  121.             </plugin>  
  122.             <plugin>  
  123.                 <groupId>org.mybatis.generator</groupId>  
  124.                 <artifactId>mybatis-generator-maven-plugin</artifactId>  
  125.                 <version>1.3.2</version>  
  126.                 <configuration>  
  127.                     <verbose>true</verbose>  
  128.                     <overwrite>true</overwrite>  
  129.                 </configuration>  
  130.             </plugin>  
  131.         </plugins>  
  132.     </build>  
  133. </project>  


2.搭建SSM環境

web.xml

[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xmlns="http://java.sun.com/xml/ns/javaee"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
  5.     id="MyWebApp" version="2.5">  
  6.     <display-name>zto-ssm</display-name>  
  7.   
  8.     <context-param>  
  9.         <param-name>contextConfigLocation</param-name>  
  10.         <param-value>classpath:spring/applicationContext*.xml</param-value>  
  11.     </context-param>  
  12.     <!--Spring的ApplicationContext 載入 -->  
  13.     <listener>  
  14.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  15.     </listener>  
  16.   
  17.     <!-- 編碼過濾器,以UTF8編碼,解決post亂碼問題 -->  
  18.     <filter>  
  19.         <filter-name>encodingFilter</filter-name>  
  20.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  21.         <init-param>  
  22.             <param-name>encoding</param-name>  
  23.             <param-value>UTF8</param-value>  
  24.         </init-param>  
  25.     </filter>  
  26.     <filter-mapping>  
  27.         <filter-name>encodingFilter</filter-name>  
  28.         <url-pattern>/*</url-pattern>  
  29.     </filter-mapping>  
  30.   
  31.     <servlet>  
  32.         <servlet-name>ssm</servlet-name>  
  33.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  34.         <!-- 自定義SpringMVC配置文件路徑 -->  
  35.         <init-param>  
  36.             <param-name>contextConfigLocation</param-name>  
  37.             <param-value>classpath:spring/zto-ssm.xml</param-value>  
  38.         </init-param>  
  39.         <!-- 隨容器自動啓動完成初始化 -->  
  40.         <load-on-startup>1</load-on-startup>  
  41.     </servlet>  
  42.     <servlet-mapping>  
  43.         <servlet-name>ssm</servlet-name>  
  44.         <url-pattern>/</url-pattern>  
  45.     </servlet-mapping>  
  46.   
  47.     <welcome-file-list>  
  48.         <welcome-file>index.jsp</welcome-file>  
  49.     </welcome-file-list>  
  50.   
  51. </web-app>  
  52.       

jdbc.properties
[plain]  view plain  copy
  1. jdbc.driver=com.mysql.jdbc.Driver  
  2. jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true  
  3. jdbc.username=root  
  4. jdbc.password=123456  

applicationContext.xml
[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
  4.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
  7.         http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd  
  8.         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">  
  9.   
  10.     <!-- 使用spring自帶的佔位符替換功能 -->  
  11.     <bean  
  12.         class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  13.         <!-- 允許JVM參數覆蓋 -->  
  14.         <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />  
  15.         <!-- 忽略沒有找到的資源文件 -->  
  16.         <property name="ignoreResourceNotFound" value="true" />  
  17.         <!-- 配置資源文件 -->  
  18.         <property name="locations">  
  19.             <list>  
  20.                 <value>classpath:jdbc.properties</value>  
  21.             </list>  
  22.         </property>  
  23.     </bean>  
  24.       
  25.     <context:component-scan base-package="cn.xyc" />  
  26.   
  27.     <bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"  
  28.         destroy-method="close">  
  29.         <!-- 數據庫驅動 -->  
  30.         <property name="driverClass" value="${jdbc.driver}" />  
  31.         <!-- 相應驅動的jdbcUrl -->  
  32.         <property name="jdbcUrl" value="${jdbc.url}" />  
  33.         <!-- 數據庫的用戶名 -->  
  34.         <property name="username" value="${jdbc.username}" />  
  35.         <!-- 數據庫的密碼 -->  
  36.         <property name="password" value="${jdbc.password}" />  
  37.         <!-- 檢查數據庫連接池中空閒連接的間隔時間,單位是分,默認值:240,如果要取消則設置爲0 -->  
  38.         <property name="idleConnectionTestPeriod" value="60" />  
  39.         <!-- 連接池中未使用的鏈接最大存活時間,單位是分,默認值:60,如果要永遠存活設置爲0 -->  
  40.         <property name="idleMaxAge" value="30" />  
  41.         <!-- 每個分區最大的連接數 -->  
  42.         <property name="maxConnectionsPerPartition" value="150" />  
  43.         <!-- 每個分區最小的連接數 -->  
  44.         <property name="minConnectionsPerPartition" value="5" />  
  45.     </bean>  
  46.   
  47. </beans>  

applicationContext-mybatis.xml
[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
  4.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
  7.         http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd  
  8.         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">  
  9.   
  10.     <!-- 定義Mybatis的SqlSessionFactory -->  
  11.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
  12.         <!-- 定義數據源 -->  
  13.         <property name="dataSource" ref="dataSource" />  
  14.         <!-- 指定mybatis全局配置文件 -->  
  15.         <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>  
  16.         <!-- 掃描mappers目錄以及子目錄下的所有xml文件 -->  
  17.         <property name="mapperLocations" value="classpath:mybatis/mappers/**/*.xml" />  
  18.         <!-- 別名掃描包 -->  
  19.         <property name="typeAliasesPackage" value="cn.xyc.ssm.pojo"/>  
  20.     </bean>  
  21.   
  22.     <!-- 定義Mapper接口掃描器 -->  
  23.     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
  24.          <property name="basePackage" value="cn.xyc.ssm.mapper" />  
  25.     </bean>  
  26.   
  27. </beans>  
applicationContext-transaction.xml
[html]  view plain  copy
  1. <beans xmlns="http://www.springframework.org/schema/beans"  
  2.     xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"  
  3.     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
  6.     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd  
  7.     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd  
  8.     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">  
  9.       
  10.     <!-- 定義事務管理器 -->  
  11.     <bean id="transactionManager"  
  12.         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  13.         <property name="dataSource" ref="dataSource" />  
  14.     </bean>  
  15.   
  16.     <!-- 定義事務策略 -->  
  17.     <tx:advice id="txAdvice" transaction-manager="transactionManager">  
  18.         <tx:attributes>  
  19.             <!--所有以query開頭的方法都是隻讀的 -->  
  20.             <tx:method name="query*" read-only="true" />  
  21.             <!--其他方法使用默認事務策略 -->  
  22.             <tx:method name="*" />  
  23.         </tx:attributes>  
  24.     </tx:advice>  
  25.   
  26.     <aop:config>  
  27.         <!--pointcut元素定義一個切入點,execution中的第一個星號 用以匹配方法的返回類型,  
  28.             這裏星號表明匹配所有返回類型。 com.abc.dao.*.*(..)表明匹配cn.xyc.ssm.service包下的所有類的所有   
  29.             方法 -->  
  30.         <aop:pointcut id="myPointcut" expression="execution(* cn.xyc.ssm.service.*.*(..))" />  
  31.         <!--將定義好的事務處理策略應用到上述的切入點 -->  
  32.         <aop:advisor advice-ref="txAdvice" pointcut-ref="myPointcut" />  
  33.     </aop:config>  
  34.       
  35. </beans>  

mybatis-config.xml
[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE configuration  
  3.   PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  4.   "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  5. <configuration>  
  6.   
  7.     <settings>  
  8.         <!-- 開啓駝峯自動映射 -->  
  9.         <setting name="mapUnderscoreToCamelCase" value="true" />  
  10.     </settings>  
  11.       
  12.       
  13.     <!-- 配置分頁插件 -->  
  14.     <plugins>  
  15.         <plugin interceptor="com.github.pagehelper.PageHelper">  
  16.             <property name="dialect" value="mysql"/>  
  17.             <!-- 該參數默認爲false -->  
  18.             <!-- 設置爲true時,使用RowBounds分頁會進行count查詢 -->  
  19.             <property name="rowBoundsWithCount" value="true"/>  
  20.         </plugin>  
  21.     </plugins>  
  22.   
  23. </configuration>  

zto-ssm.xml
[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
  4.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
  7.         http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd  
  8.         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">  
  9.   
  10.     <!-- 註解驅動 -->  
  11.     <mvc:annotation-driven />  
  12.   
  13.     <!-- 定義Controller的掃描包 -->  
  14.     <context:component-scan base-package="cn.xyc.ssm.controller" />  
  15.   
  16.     <!-- 定義視圖解析器 -->  
  17.     <bean  
  18.         class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  19.         <property name="prefix" value="/WEB-INF/views/" />  
  20.         <property name="suffix" value=".jsp" />  
  21.     </bean>  
  22.   
  23.     <!-- 處理靜態資源被「/」所攔截的問題 -->  
  24.     <mvc:default-servlet-handler />  
  25.       
  26. </beans>  

ok,框架搭建完成,可以啓動一下看看是否正常,當然配置文件中掃描的包必須創建好
因爲上面配置了mapper掃描的xml,但是目前還沒有xml,所有會報錯。註釋掉就不會報錯了


2.mybatis逆向生成實體映射等.


init.properties
[plain]  view plain  copy
  1. #Mybatis Generator configuration  
  2. project = E:/eclipse/workspace/zto-ssm/src/main/java  
  3. #classPath=D:/maven/Reposeitory/com/oracle/ojdbc6/11.2.0.3.0/ojdbc6-11.2.0.3.0.jar  
  4. classPath = D:/repository/mysql/mysql-connector-java/5.1.32/mysql-connector-java-5.1.32.jar  
  5. jdbc_driver = com.mysql.jdbc.Driver  
  6. jdbc_url = jdbc:mysql://127.0.0.1:3306/mybatis  
  7. jdbc_user = root  
  8. jdbc_password = 123456  

GeneratorConfig.xml
[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >  
  3. <generatorConfiguration>  
  4.     <!-- 引入配置文件 -->  
  5.     <properties resource="init.properties"/>  
  6.       
  7.     <!-- 指定數據連接驅動jar地址 -->  
  8.     <classPathEntry location="${classPath}" />  
  9.       
  10.     <!-- 一個數據庫一個context -->  
  11.     <context id="infoGuardian">  
  12.         <!-- 註釋 -->  
  13.         <commentGenerator >  
  14.             <property name="suppressAllComments" value="true"/><!-- 是否取消註釋 -->  
  15.         </commentGenerator>  
  16.           
  17.         <!-- jdbc連接 -->  
  18.         <jdbcConnection driverClass="${jdbc_driver}"  
  19.             connectionURL="${jdbc_url}" userId="${jdbc_user}"  
  20.             password="${jdbc_password}" />  
  21.           
  22.         <!-- 類型轉換 -->  
  23.         <javaTypeResolver>  
  24.             <!-- 是否使用bigDecimal, false可自動轉化以下類型(Long, Integer, Short, etc.) -->  
  25.             <property name="forceBigDecimals" value="false"/>  
  26.         </javaTypeResolver>  
  27.           
  28.         <!-- 生成實體類地址 -->    
  29.         <javaModelGenerator targetPackage="cn.xyc.ssm.pojo"  
  30.             targetProject="${project}" >  
  31.             <!-- 是否在當前路徑下新加一層schema,eg:fase路徑com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
  32.             <property name="enableSubPackages" value="false"/>  
  33.             <!-- 是否針對string類型的字段在set的時候進行trim調用 -->  
  34.             <property name="trimStrings" value="true"/>  
  35.         </javaModelGenerator>  
  36.           
  37.         <!-- 生成mapxml文件 -->  
  38.         <sqlMapGenerator targetPackage="cn.xyc.ssm.mapper"  
  39.             targetProject="${project}" >  
  40.             <!-- 是否在當前路徑下新加一層schema,eg:fase路徑com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
  41.             <property name="enableSubPackages" value="false" />  
  42.         </sqlMapGenerator>  
  43.           
  44.         <!-- 生成mapxml對應client,也就是接口dao -->      
  45.         <javaClientGenerator targetPackage="cn.xyc.ssm.mapper"  
  46.             targetProject="${project}" type="XMLMAPPER" >  
  47.             <!-- 是否在當前路徑下新加一層schema,eg:fase路徑com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
  48.             <property name="enableSubPackages" value="false" />  
  49.         </javaClientGenerator>  
  50.           
  51.         <!-- 配置表信息 -->      
  52.         <table schema="" tableName="user"  
  53.             domainObjectName="User" enableCountByExample="true"  
  54.             enableDeleteByExample="true" enableSelectByExample="true"  
  55.             enableUpdateByExample="true" selectByExampleQueryId="true">  
  56.             <!-- schema即爲數據庫名 tableName爲對應的數據庫表 domainObjectName是要生成的實體類 enable*ByExample   
  57.                 是否生成 example類   -->  
  58.             <!-- 忽略列,不生成bean 字段   
  59.             <ignoreColumn column="CLASS" />-->  
  60.             <!-- 指定列的java數據類型   
  61.             <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />-->  
  62.         </table>  
  63.     </context>  
  64. </generatorConfiguration>  

pom文件中必須加上相關插件,上面已經有了.
運行maven命令: mybatis-generator:generate 會生成相關文件,將映射文件移動到mybatis/mappers下面

3.Junit測試SSM框架


先添加日誌
log4j.properties
[plain]  view plain  copy
  1. log4j.rootLogger=DEBUG,A1  
  2. log4j.logger.org.mybatis = DEBUG  
  3. log4j.appender.A1=org.apache.log4j.ConsoleAppender  
  4. log4j.appender.A1.layout=org.apache.log4j.PatternLayout  
  5. log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n  

TestSSM.java
[java]  view plain  copy
  1. package cn.xyc.ssm;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.junit.Before;  
  6. import org.junit.Test;  
  7. import org.junit.runner.RunWith;  
  8. import org.springframework.beans.factory.annotation.Autowired;  
  9. import org.springframework.context.ApplicationContext;  
  10. import org.springframework.context.support.ClassPathXmlApplicationContext;  
  11. import org.springframework.test.context.ContextConfiguration;  
  12. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;  
  13.   
  14. import cn.xyc.ssm.mapper.UserMapper;  
  15. import cn.xyc.ssm.pojo.User;  
  16.   
  17.   
  18. /** 
  19.  *  
  20.  * @ClassName:  TestMyBatis    
  21.  * @Description: 測試ssm框架 
  22.  * @author: xyc  
  23.  * @date:   2017年2月13日 下午7:53:09    
  24.  * 
  25.  */  
  26. @RunWith(SpringJUnit4ClassRunner.class)  
  27. @ContextConfiguration(locations = { "classpath:spring/*.xml" })  
  28. public class TestSSM {  
  29.       
  30.     @Autowired  
  31.     private UserMapper userMapper;  
  32.   
  33.     /**  
  34.      * @throws Exception  
  35.      */  
  36.     @Before  
  37.     public void setUp() throws Exception {  
  38.         // 初始化SPring容器  
  39.         //ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml",  
  40.         //        "applicationContext-mybatis.xml");  
  41.         // 從容器中獲取SqlSessionFactory  
  42.         // SqlSessionFactory sqlSessionFactory =  
  43.         // applicationContext.getBean(SqlSessionFactory.class);  
  44.   
  45.         // SqlSession sqlSession = sqlSessionFactory.openSession(true);  
  46.         // this.userMapper = sqlSession.getMapper(UserMapper.class);  
  47.         //this.userMapper = applicationContext.getBean(UserMapper.class);  
  48.     }  
  49.       
  50.   
  51.     @Test  
  52.     public void test1() {  
  53.           
  54.         List<User> queryAll = userMapper.queryAll();  
  55.         for (User user : queryAll) {  
  56.             System.out.println(user);  
  57.         }  
  58.     }  
  59. }  

結果:


4.EasyUI

導入jquery-easyui-1.2.6類庫就可以直接使用easyUI了
commons.js
[java]  view plain  copy
  1. // 自定義的校驗器  
  2. $.extend($.fn.validatebox.defaults.rules, {  
  3.     midLength : {  
  4.         validator : function(value, param) {  
  5.             return value.length >= param[0] && value.length <= param[1];  
  6.         },  
  7.         message : ''  
  8.     },  
  9.     equalLength : {  
  10.         validator : function(value, param) {  
  11.             return value.length == param[0];  
  12.         },  
  13.         message : '密碼必須爲4個字符!'  
  14.     }  
  15. });  
  16.   
  17. $.extend($.fn.datagrid.defaults.editors, {  
  18.     datetimebox : {  
  19.         init : function(container, options) {  
  20.             var box = $('<input />').appendTo(container);  
  21.             box.datetimebox(options);  
  22.             return box;  
  23.         },  
  24.         getValue : function(target) {  
  25.             return $(target).datetimebox('getValue');  
  26.         },  
  27.         setValue : function(target, value) {  
  28.             $(target).datetimebox('setValue', value);  
  29.         },  
  30.         resize : function(target, width) {  
  31.             var box = $(target);  
  32.             box.datetimebox('resize', width);  
  33.         },  
  34.         destroy : function(target) {  
  35.             $(target).datetimebox('destroy');  
  36.         }  
  37.     }  
  38. });  

index.jsp
[html]  view plain  copy
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  7. <title>Insert title here</title>  
  8. <script type="text/javascript" src="/js/jquery-easyui-1.2.6/jquery-1.7.2.min.js"></script>  
  9. <link rel="stylesheet" type="text/css" href="/js/jquery-easyui-1.2.6/themes/default/easyui.css" />  
  10. <link rel="stylesheet" type="text/css" href="/js/jquery-easyui-1.2.6/themes/icon.css" />  
  11. <script type="text/javascript" src="/js/jquery-easyui-1.2.6/jquery.easyui.min.js"></script>  
  12. <script type="text/javascript" src="/js/jquery-easyui-1.2.6/locale/easyui-lang-zh_CN.js"></script>  
  13. <script type="text/javascript" src="/js/commons.js"></script>  
  14. <script type="text/javascript">  
  15.     $(function(){  
  16.           
  17.         //-----------------------------對於form表單的驗證 ---------------------------------------------------------------------------  
  18.         $('#username').numberbox({  
  19.             min:0 , //允許的最小值  
  20.             max:150 , //允許的最大值  
  21.             required:true , //必填字段  定義是否字段應被輸入  
  22.             missingMessage:'用戶名必填!' ,   //當文本框是空時出現的提示文字  
  23.             precision:0    //顯示在小數點後面的最大精度  
  24.         });  
  25.         //數值驗證組件   
  26.         $('#age').numberbox({  
  27.             min:0 , //允許的最小值  
  28.             max:150 , //允許的最大值  
  29.             required:true , //必填字段  定義是否字段應被輸入  
  30.             missingMessage:'年齡必填!' ,   //當文本框是空時出現的提示文字  
  31.             precision:0    //顯示在小數點後面的最大精度  
  32.         });  
  33.           
  34.         //日期組件  
  35.         $('#birthday').datebox({  
  36.             required:true ,   //必填字段  定義是否字段應被輸入  
  37.             missingMessage:'生日必填!' ,  //當文本框是空時出現的提示文字  
  38.             editable:false  //定義是否用戶可以往文本域中直接輸入文字  
  39.         });  
  40.           
  41.         $('#salary').numberbox({  
  42.             min:1000 ,   
  43.             max:20000 ,  
  44.             required:true ,   
  45.             missingMessage:'薪水必填!' ,  
  46.             precision:2  
  47.         });  
  48.           
  49.         //日期時間組件  
  50.         $('#startTime,#endTime').datetimebox({  
  51.             required:true ,   
  52.             missingMessage:'時間必填!' ,  
  53.             editable:false   //定義是否用戶可以往文本域中直接輸入文字  
  54.         });  
  55.           
  56.           
  57.         var flag ;      //undefined 判斷新增和修改方法   
  58.           
  59.         ///---------------------datagrid部分----------------------------------------------------------------------------------  
  60.         $('#tt').datagrid({  
  61.             idField: 'id',    //只要創建數據表格 就必須要加 ifField  
  62.             url: 'user/queryUserByPage',  
  63.             title: '用戶信息',  
  64.             //width: '1000',  
  65.             height:450 ,  
  66.             fitColumns: true,               //寬度自適應  
  67.             striped: true ,                 //隔行變色特性  
  68.             rownumbers:true,                //顯示行號  
  69.             //singleSelect:true ,               //單選模式   
  70.             loadMsg: '數據正在加載,請耐心的等待...' ,  
  71.             frozenColumns:[[                //凍結列特性 ,不要與fitColumns 特性一起使用   
  72.                 {                           //如果需要多選,需要禁止單選模式   
  73.                     field:'ck' ,  
  74.                     width:50 ,  
  75.                     checkbox: true  
  76.                 }  
  77.             ]],  
  78.             columns:[[  
  79.                 {field:'id',title:'編號',width:120},  
  80.                 {  
  81.                     field:'username',  
  82.                     title:'用戶名',  
  83.                     width:120,  
  84.                     align:'center' ,   //居中顯示  
  85.                     styler:function(value , record){  
  86.                         if(value == 'admin'){  
  87.                             //return 'background:blue;';   //如果用戶名爲admin,變藍色  
  88.                         }  
  89.                     }  
  90.                 },  
  91.                 {  
  92.                     field:'password',  
  93.                     title:'密碼',  
  94.                     width:120,  
  95.                     hidden: true   //將密碼隱藏  
  96.                 },  
  97.                 {  
  98.                     field:'sex',  
  99.                     title:'性別',  
  100.                     width:120,  
  101.                     formatter:function(value , record , index){  
  102.                         if(value == 1){  
  103.                             return '<span style=color:red; ></span>' ;  
  104.                         } else if( value == 2){  
  105.                             return '<span style=color:green; ></span>' ;   
  106.                         }  
  107.                         //console.info(value);  
  108.                         //console.info(record);  
  109.                         //console.info(index);   
  110.                     }  
  111.                 },  
  112.                 {field:'age',title:'年齡',width:120},  
  113.                 {field:'birthday',title:'生日',width:120},  
  114.                 {  
  115.                     field:'city',  
  116.                     title:'城市',  
  117.                     width:120,  
  118.                     formatter:function(value , record , index){  
  119.                         /*  
  120.                         if(value==1){  
  121.                             return '北京';  
  122.                         } else if(value == 2){  
  123.                             return '上海';  
  124.                         } else if(value == 3){  
  125.                             return '深圳';  
  126.                         } else if(value == 4){  
  127.                             return '長春';  
  128.                         }  
  129.                         */  
  130.                         var str = '';  
  131.                         $.ajax({  
  132.                             type:'post' ,   
  133.                             url : 'user/getCityName' ,  
  134.                             /* url : 'user/getCityName2' , */  
  135.                             cache:false ,  
  136.                             async: false ,      //同步請求  
  137.                             data:{id:value},  
  138.                             dataType:'json' ,  
  139.                             success:function(result){     
  140.                                 //str = result ;    //dataType:'text'   
  141.                                 str = result.name ; //dataType:'json'   
  142.                             }  
  143.                         });  
  144.                         return str ;  
  145.                     }  
  146.                       
  147.                 },  
  148.                 {field:'salary',title:'薪資',width:120},  
  149.                 {field:'starttime',title:'創建日期',width:120},  
  150.                 {field:'endtime',title:'結束日期',width:120},  
  151.                 {  
  152.                     field:'description',  
  153.                     title:'描述',  
  154.                     width:120,  
  155.                     formatter:function(value , record , index){  
  156.                         return '<span title='+value+'>'+value+'</span>';  
  157.                     }  
  158.                 },  
  159.             ]],  
  160.             pagination: true ,   //在底部顯示分頁欄  
  161.             pageSize: 10 ,       //每頁顯示多少個  
  162.             pageList:[5,10,15,20,50], //初始化頁面尺寸的選擇列表  
  163.             toolbar:[  
  164.                 {  
  165.                     iconCls:"icon-add",//按鈕上的圖標  
  166.                         text:"添加用戶", //按鈕的文字  
  167.                         handler:function(){  
  168.                             flag = 'add';   //改變flag的值  
  169.                             //$('#myform').find('input[name!=sex]').val("");  
  170.                             $('#myform').get(0).reset();  
  171.                             //$('#myform').form('clear');  
  172.                             $("#mydialog").dialog("open");  
  173.                         }  
  174.                 },  
  175.                 {  
  176.                     iconCls:"icon-edit",//按鈕上的圖標  
  177.                         text:"編輯用戶",//按鈕的文字  
  178.                         handler:function(){  
  179.                             flag = 'edit';   //改變flag的值  
  180.                             var arr =$('#tt').datagrid('getSelections');    //獲取被選中的行,返回的是數組  
  181.                             if(arr.length != 1){  
  182.                                 $.messager.show({  
  183.                                     title:'提示信息!',  
  184.                                     msg:'只能選擇一行記錄進行修改!'  
  185.                                 });  
  186.                             } else {  
  187.                                 $('#mydialog').dialog({  
  188.                                     title:'修改用戶'  
  189.                                 });  
  190.                                 $('#mydialog').dialog('open'); //打開窗口  
  191.                                 $('#myform').get(0).reset();   //清空表單數據   
  192.                                 $('#myform').form('load',{     //調用load方法把所選中的數據load到表單中,非常方便  
  193.                                     id:arr[0].id ,  
  194.                                     username:arr[0].username ,  
  195.                                     password:arr[0].password ,  
  196.                                     sex:arr[0].sex ,  
  197.                                     age:arr[0].age ,  
  198.                                     birthday:arr[0].birthday ,  
  199.                                     city:arr[0].city ,  
  200.                                     salary:arr[0].salary ,  
  201.                                     starttime:arr[0].starttime,  
  202.                                     endtime:arr[0].endtime ,  
  203.                                     description:arr[0].description  
  204.                                 });  
  205.                             }  
  206.                         }  
  207.                 },  
  208.                 {  
  209.                     iconCls:"icon-remove",//按鈕上的圖標  
  210.                         text:"刪除用戶",//按鈕的文字  
  211.                         handler:function(){  
  212.                             //console.log('刪除');   //在瀏覽器控制檯打印日誌  
  213.                             var arr =$('#tt').datagrid('getSelections');  
  214.                             if(arr.length <=0){  
  215.                                 $.messager.show({  
  216.                                     title:'提示信息!',  
  217.                                     msg:'至少選擇一行記錄進行刪除!'  
  218.                                 });  
  219.                             } else {  
  220.                                   
  221.                                 $.messager.confirm('提示信息' , '確認刪除?' , function(r){  
  222.                                         if(r){  
  223.                                                 var ids = '';  
  224.                                                 for(var i =0 ;i<arr.length;i++){  
  225.                                                     ids += arr[i].id + ',' ;  
  226.                                                 }  
  227.                                                 ids = ids.substring(0 , ids.length-1);  
  228.                                                 $.post('user/delete' , {ids:ids} , function(result){  
  229.                                                     //1 刷新數據表格   
  230.                                                     $('#tt').datagrid('reload');  
  231.                                                     //2 清空idField     
  232.                                                     $('#tt').datagrid('clearSelections');   //unselectAll取消選中當前頁所有的行。   clearSelections清除所有的選擇。  
  233.                                                     //3 給提示信息   
  234.                                                     $.messager.show({  
  235.                                                         title:result.status ,   
  236.                                                         msg:result.message  
  237.                                                     });  
  238.                                                 });  
  239.                                         } else {  
  240.                                             return ;  
  241.                                         }  
  242.                                 });  
  243.                             }  
  244.                         }  
  245.                 },  
  246.                 {  
  247.                     iconCls:"icon-search",//按鈕上的圖標  
  248.                         text:"查詢用戶",//按鈕的文字  
  249.                         handler:function(){  
  250.                             //console.log('查詢');   //在瀏覽器控制檯打印日誌  
  251.                             $('#lay').layout('expand' , 'north');  
  252.                         }  
  253.                 }  
  254.             ]  
  255.         });  
  256.           
  257.           
  258.           
  259.           
  260.         //-----------提交表單方法-------------------------------------------------------------------------------------------------------------  
  261.         $('#btn1').click(function(){  
  262.                 if($('#myform').form('validate')){  
  263.                     $.ajax({  
  264.                         type: 'post' ,  
  265.                         url: flag=='add'?'user/save':'user/update' ,  
  266.                         //url:'user/save',  
  267.                         cache:false ,  
  268.                         data:$('#myform').serialize() ,  
  269.                         dataType:'json' ,  
  270.                         success:function(result){  
  271.                             //1 關閉窗口  
  272.                             $('#mydialog').dialog('close');  
  273.                             //2刷新datagrid   
  274.                             $('#tt').datagrid('reload');  
  275.                             //3 提示信息  
  276.                             $.messager.show({  
  277.                                 title:result.status ,   
  278.                                 msg:result.message  
  279.                             });  
  280.                         } ,  
  281.                         error:function(result){  
  282.                             $.meesager.show({  
  283.                                 title:result.status ,   
  284.                                 msg:result.message  
  285.                             });  
  286.                         }  
  287.                     });  
  288.                 } else {  
  289.                     $.messager.show({  
  290.                         title:'提示信息!' ,  
  291.                         msg:'數據驗證不通過,不能保存!'  
  292.                     });  
  293.                 }  
  294.         });  
  295.           
  296.         /**  
  297.          * 關閉窗口方法  
  298.          */  
  299.         $('#btn2').click(function(){  
  300.             $('#mydialog').dialog('close');  
  301.         });  
  302.           
  303.           
  304.         $('#searchbtn').click(function(){  
  305.             $('#tt').datagrid('load' ,serializeForm($('#mysearch')));  
  306.         });  
  307.           
  308.         //查詢時清空按鈕  
  309.         $('#clearbtn').click(function(){  
  310.             $('#mysearch').form('clear');  
  311.             $('#tt').datagrid('load' ,{});  //清空數據  
  312.         });  
  313.     });  
  314.       
  315.     //js方法:序列化表單              
  316.     function serializeForm(form){  
  317.         var obj = {};  
  318.         $.each(form.serializeArray(),function(index){  
  319.             if(obj[this['name']]){  
  320.                 obj[this['name']] = obj[this['name']] + ','+this['value'];  
  321.             } else {  
  322.                 obj[this['name']] =this['value'];  
  323.             }  
  324.         });  
  325.         return obj;  
  326.     }  
  327. </script>  
  328. </head>  
  329. <body>  
  330.   
  331.     <div id="lay" class="easyui-layout" fit=true style="width: 100%; height: 1000px">  
  332.         <!-- 用戶搜索部分 -->  
  333.         <div region="north" title="用戶查詢" split="true" collapsed=true  style="height: 100px;">  
  334.             <div style="margin-left: 100px;margin-top: 20px;">  
  335.                 <form id="mysearch" method="post">  
  336.                         用戶名:<input name="username" class="easyui-validatebox"  value="" />  
  337.                              
  338.                         開始時間:<input name="starttime"  class="easyui-datetimebox" editable="false" style="width:160px;"  value="" />     
  339.                         結束時間:<input name="endtime"  class="easyui-datetimebox" editable="false" style="width:160px;"  value="" />   
  340.                              
  341.                         <a id="searchbtn" class="easyui-linkbutton">查詢</a> <a id="clearbtn" class="easyui-linkbutton">清空</a>  
  342.                 </form>  
  343.             </div>  
  344.         </div>  
  345.         <!-- 用戶列表部分 -->  
  346.         <div region="center"  style="padding: 5px; background: #eee;">
相關文章
相關標籤/搜索