Maven+SSM框架實現簡單的增刪改查

Spring介紹:

spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的事情。然而, Spring的用途不僅限於服務器端的開發。從簡單性、可測試性和鬆耦合的角度而言,任何Java 應用都可以從 Spring 中受益。 簡單來說, Spring 是一個輕量級的控制反轉(IoC )和麪向切面( AOP )的容器框架。

SpringMVC介紹

Spring MVC 屬於 SpringFrameWork 的後續產品,已經融合在Spring Web Flow 裏面。 Spring MVC  分離了 控制器 、模型 對象 、分派器以及處理程序對象的角色,這種分離讓它們更容易進行定製。

MyBatis介紹

  MyBatis  本是 apache 的一個開源項目 iBatis , 2010 年這個項目由apache software foundation  遷移到了 google code ,並且改名爲 MyBatis  。MyBatis 是一個基於 Java 的 持久層 框架。 iBATIS 提供的 持久層 框架包括SQL Maps 和 Data Access Objects ( DAO ) MyBatis  消除了幾乎所有的 JDBC 代碼和參數的手工設置以及結果集的檢索。 MyBatis  使用簡單的  XML 或註解用於配置和原始映射,將接口和  Java  的 POJOs ( Plain Old Java Objects ,普通的  Java 對象)映射成數據庫中的記錄。
首先不是maven架構整合的  SSM 框架

 

創建數據庫、表db_zsl   t_user   user_t【最下面有sql語句】

1.項目整體結構

2.添加相關jar 包

3.項目整體結構出來了

4.創建model【User】

 

  1. package com.lyt.model;  
  2.   
  3. /**  
  4.  * 用戶  
  5.  * @author 
  6.  *  
  7.  */    
  8. public class User {    
  9.     
  10.     private int id;    
  11.     private String userName;   
  12.     private String age;    
  13.       
  14.     @Override  
  15.     public String toString() {  
  16.         return "User [id=" + id + ", age=" + age + ", userName=" + userName  
  17.                 + "]";  
  18.     }  
  19.     public User(){    
  20.         super();    
  21.     }    
  22.     public int getId() {    
  23.         return id;    
  24.     }    
  25.     public void setId(int id) {    
  26.         this.id = id;    
  27.     }    
  28.     public String getAge() {    
  29.         return age;    
  30.     }    
  31.     public void setAge(String age) {    
  32.         this.age = age;    
  33.     }    
  34.     public String getUserName() {    
  35.         return userName;    
  36.     }    
  37.     public void setUserName(String userName) {    
  38.         this.userName = userName;    
  39.     }    
  40.     public User(int id, String age, String userName) {    
  41.         super();    
  42.         this.id = id;    
  43.         this.age = age;    
  44.         this.userName = userName;    
  45.     }    
  46. }    

5.創建DAO接口【在mybatis中 mapper就相當於dao】

 

 

  1. package com.lyt.mapper;  
  2.   
  3. import java.util.List;  
  4.   
  5. import com.lyt.model.User;  
  6. /** 
  7.  * 做爲 DAO的接口 
  8.  * @author 
  9.  */  
  10. public interface UserMapper {    
  11.     void save(User user);    
  12.     boolean update(User user);    
  13.     boolean delete(int id);    
  14.     User findById(int id);    
  15.     List<User> findAll();    
  16. }    
  17. 5.創建DAO接口【在mybatis中 mapper就相當於dao】

     

     

    1. package com.lyt.mapper;  
    2.   
    3. import java.util.List;  
    4.   
    5. import com.lyt.model.User;  
    6. /** 
    7.  * 做爲 DAO的接口 
    8.  * @author */  
    9. public interface UserMapper {    
    10.     void save(User user);    
    11.     boolean update(User user);    
    12.     boolean delete(int id);    
    13.     User findById(int id);    
    14.     List<User> findAll();    
    15. }    

    6.實現dao接口【mybatis中就是UserMapper.xml文件】
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"     
    3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">    
    4. <!--     
    5.     namespace:必須與對應的接口全類名一致  UserMapper.java  
    6.     id :必須與對應接口的某個對應的方法名一致即必須要和UserMapper.java接口中的方法同名。  
    7.  -->    
    8.  <mapper namespace="com.lyt.mapper.UserMapper">  
    9.    
    10.     <insert id="save" parameterType="User">  
    11.         insert into t_user(user_name,user_age) values(#{userName},#{age})  
    12.     </insert>  
    13.       
    14.     <update id="update" parameterType="User">    
    15.         update t_user set user_name=#{userName},user_age=#{age} where user_id=#{id}    
    16.     </update>   
    17.       
    18.     <delete id="delete" parameterType="int">    
    19.         delete from t_user where user_id=#{id}    
    20.     </delete>    
    21.         
    22.      <!-- mybsits_config中配置的alias類別名,也可直接配置resultType爲類路徑 -->      
    23.     <select id="findById" parameterType="int" resultType="User">    
    24.         select user_id id,user_name userName,user_age age from t_user where user_id=#{id}    
    25.     </select>    
    26.         
    27.     <select id="findAll" resultType="User">    
    28.         select user_id id,user_name userName,user_age age from t_user    
    29.     </select>   
    30.       
    31.  </mapper>  

    這裏對這個xml文件作幾點說明: 
    1、namespace必須與對應的接口全類名一致。 
    2、id必須與對應接口的某個對應的方法名一致即必須要和UserMapper.java接口中的方法同名。 

     

     

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

    7.mybatis與Spring整合【spring-common.xml】放在src的根目錄下

     對於Mybatis和Spring的整合是這篇博文的重點,需要配置的內容在下面有詳細的解釋。

     

    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" xmlns:tx="http://www.springframework.org/schema/tx"  
    5.     xsi:schemaLocation="  
    6.         http://www.springframework.org/schema/beans  
    7.         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
    8.         http://www.springframework.org/schema/context  
    9.         http://www.springframework.org/schema/context/spring-context-4.0.xsd  
    10.         http://www.springframework.org/schema/tx  
    11.         http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">  
    12.   
    13. <!-- Mybatis和Spring的整合 -->  
    14.     <!-- 1. 數據源 : DriverManagerDataSource -->  
    15.     <bean id="dataSource"  
    16.         class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
    17.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
    18.         <property name="url" value="jdbc:mysql://localhost:3306/db_zsl" />  
    19.         <property name="username" value="root" />  
    20.         <property name="password" value="root" />  
    21.     </bean>  
    22.   
    23.     <!--  
    24.         2. mybatis的SqlSession的工廠: SqlSessionFactoryBean dataSource:引用數據源  
    25.   
    26.         MyBatis定義數據源,同意加載配置  
    27.     -->  
    28.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
    29.         <property name="dataSource" ref="dataSource"></property>  
    30.         <property name="configLocation" value="classpath:mybatis-config.xml" />   
    31.     </bean>  
    32.   
    33.     <!--  
    34.         3. mybatis自動掃描加載Sql映射文件/接口 : MapperScannerConfigurer sqlSessionFactory  
    35.   
    36.         basePackage:指定sql映射文件/接口所在的包(自動掃描)  
    37.     -->  
    38.     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
    39.         <property name="basePackage" value="com.lyt.mapper"></property>  
    40.         <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>  
    41.     </bean>  
    42.   
    43.     <!--  
    44.         4. 事務管理 : DataSourceTransactionManager dataSource:引用上面定義的數據源  
    45.     -->  
    46.     <bean id="txManager"  
    47.         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
    48.         <property name="dataSource" ref="dataSource"></property>  
    49.     </bean>  
    50.   
    51.     <!-- 5. 使用聲明式事務  
    52.          transaction-manager:引用上面定義的事務管理器  
    53.      -->  
    54.     <tx:annotation-driven transaction-manager="txManager" />  
    55.   
    56. </beans>  
    57. 8.mybatis配置文件【mybatis-config.xml】放在src目錄下

       

       

      1. <?xml version="1.0" encoding="UTF-8"?>  
      2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"   
      3. "http://mybatis.org/dtd/mybatis-3-config.dtd">  
      4. <configuration>  
      5.   
      6.     <!-- 實體類,簡稱 -設置別名 -->  
      7.     <typeAliases>  
      8.         <typeAlias alias="User" type="com.lyt.model.User" />  
      9.     </typeAliases>  
      10.     <!-- 實體接口映射資源 -->  
      11.     <!--  
      12.         說明:如果xxMapper.xml配置文件放在和xxMapper.java統一目錄下,mappers也可以省略,因爲org.mybatis.spring.mapper.MapperFactoryBean默認會去查找與xxMapper.java相同目錄和名稱的xxMapper.xml  
      13.     -->  
      14.     <mappers>  
      15.         <mapper resource="com/lyt/mapper/userMapper.xml" />  
      16.     </mappers>  
      17.   
      18. </configuration>   
      19. 配置log4j.properties

         

        1. ### set log levels ###   
        2. log4j.rootLogger = info , Console , D  
        3. #Console  
        4. log4j.appender.Console=org.apache.log4j.ConsoleAppender  
        5. log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
        6. log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n  
        7. log4j.logger.java.sql.ResultSet=INFO  
        8. log4j.logger.org.apache=INFO  
        9. log4j.logger.java.sql.Connection=INFO  
        10. log4j.logger.java.sql.Statement=INFO  
        11. log4j.logger.java.sql.PreparedStatement=INFO  
        12. #output2file  
        13. log4j.appender.D = org.apache.log4j.DailyRollingFileAppender   
        14. log4j.appender.D.File = D\:/logs/log.log   
        15. log4j.appender.D.Append = true   
        16. log4j.appender.D.Threshold = INFO \#\# \u00E8\u00BE\u0093\u00E5\u0087\u00BAinfo\u00E7\u00BA\u00A7\u00E5\u0088\u00AB\u00E4\u00BB\u00A5\u00E4\u00B8\u008A\u00E7\u009A\u0084\u00E6\u0097\u00A5\u00E5\u00BF\u0097   
        17. log4j.appender.D.layout = org.apache.log4j.PatternLayout   
        18. log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [ %t\:%r ] - [ %p ] %m%n   
        19.    

         

        10.整合Springmvc

        配置【spring-mvc.xml】放在src根目錄下

         

        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:context="http://www.springframework.org/schema/context"  
        4.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
        5.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
        6.     http://www.springframework.org/schema/beans/spring-beans.xsd  
        7.     http://www.springframework.org/schema/context  
        8.     http://www.springframework.org/schema/context/spring-context-4.0.xsd  
        9.     http://www.springframework.org/schema/mvc  
        10.     http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  
        11.   
        12.     <!-- 註解掃描包 -->  
        13.     <context:component-scan base-package="com.lyt.controller" />  
        14.     <context:component-scan base-package="com.lyt.service" />  
        15.   
        16.     <!-- 開啓註解 -->  
        17.     <mvc:annotation-driven />  
        18.   
        19.     <!--  
        20.         配置靜態資源,直接映射到對應的文件夾,不被DispatcherServlet處理,3.04新增功能,需要重新設置spring-mvc-3.0.xsd  
        21.     -->  
        22.     <mvc:resources mapping="/img/**" location="/img/" />  
        23.     <mvc:resources mapping="/js/**" location="/js/" />  
        24.     <mvc:resources mapping="/css/**" location="/css/" />  
        25.     <mvc:resources mapping="/html/**" location="/html/" />  
        26.   
        27.   
        28.   
        29.     <!-- 定義跳轉的文件的前後綴 ,視圖模式配置-->  
        30.     <bean id="viewResolver"  
        31.         class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        32.         <!-- 這裏的配置我的理解是自動給後面action的方法return的字符串加上前綴和後綴,變成一個 可用的url地址 -->  
        33.         <property name="prefix" value="/WEB-INF/jsp/" />  
        34.         <property name="suffix" value=".jsp" />  
        35.     </bean>  
        36. </beans>  
        37. 11.配置web.xml

           

           

          1. <?xml version="1.0" encoding="UTF-8"?>  
          2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  
          3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
          4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
          5.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
          6.   
          7.     <!-- 加載Spring容器配置 -->  
          8.     <listener>  
          9.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
          10.     </listener>  
          11.   
          12.     <!-- 設置Spring容器加載所有的配置文件的路徑 -->  
          13.     <context-param>  
          14.         <param-name>contextConfigLocation</param-name>  
          15.         <!-- <param-value>classpath:config/spring-*.xml</param-value> -->  
          16.         <param-value>classpath:spring-common.xml,classpath:spring-mvc.xml</param-value>  
          17.           
          18.     </context-param>  
          19.   
          20.     <!-- 配置SpringMVC核心控制器 -->  
          21.     <servlet>  
          22.         <servlet-name>springMVC</servlet-name>  
          23.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
          24.         <!-- 配置初始配置化文件,前面contextConfigLocation看情況二選一 -->    
          25.         <init-param>  
          26.             <param-name>contextConfigLocation</param-name>  
          27.             <param-value>classpath:spring-common.xml,classpath:spring-mvc.xml</param-value>  
          28.         </init-param>  
          29.         <!-- 啓動加載一次 -->    
          30.         <load-on-startup>1</load-on-startup>  
          31.     </servlet>  
          32.   
          33.     <!--爲DispatcherServlet建立映射 -->  
          34.     <servlet-mapping>  
          35.         <servlet-name>springMVC</servlet-name>  
          36.         <!-- 此處可以可以配置成*.do,對應struts的後綴習慣 -->  
          37.         <url-pattern>/</url-pattern>  
          38.     </servlet-mapping>  
          39.   
          40.     <!-- 防止Spring內存溢出監聽器 -->  
          41.     <listener>  
          42.         <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>  
          43.     </listener>  
          44.   
          45.     <!-- 解決工程編碼過濾器 -->  
          46.     <filter>  
          47.         <filter-name>encodingFilter</filter-name>  
          48.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
          49.         <init-param>  
          50.             <param-name>encoding</param-name>  
          51.             <param-value>UTF-8</param-value>  
          52.         </init-param>  
          53.         <init-param>  
          54.             <param-name>forceEncoding</param-name>  
          55.             <param-value>true</param-value>  
          56.         </init-param>  
          57.     </filter>  
          58.       
          59.     <filter-mapping>  
          60.         <filter-name>encodingFilter</filter-name>  
          61.         <url-pattern>/*</url-pattern>  
          62.     </filter-mapping>  
          63.   
          64.     <welcome-file-list>  
          65.         <welcome-file>index.jsp</welcome-file>  
          66.     </welcome-file-list>  
          67. </web-app>  
          68. 12.建立service以及service實現【UserService.java】

             

             

            1. package com.lyt.service;  
            2.   
            3. import java.util.List;  
            4.   
            5. import com.lyt.model.User;  
            6.   
            7. public interface UserService {  
            8.     void save(User user);  
            9.     boolean update(User user);  
            10.     boolean delete(int id);  
            11.     User findById(int id);  
            12.     List<User> findAll();  
            13. }  


             

            【UserServiceImpl.java】

             

            1. package com.lyt.service.impl;  
            2.   
            3. import java.util.List;  
            4.   
            5. import javax.annotation.Resource;  
            6.   
            7. import org.springframework.stereotype.Service;  
            8. import org.springframework.transaction.annotation.Transactional;  
            9.   
            10. import com.lyt.mapper.UserMapper;  
            11. import com.lyt.model.User;  
            12. import com.lyt.service.UserService;  
            13.  
            14. @Service  
            15. @Transactional  
            16. // 此處不再進行創建SqlSession和提交事務,都已交由spring去管理了。  
            17. public class UserServiceImpl implements UserService {  
            18.  
            19.     @Resource  
            20.     private UserMapper mapper;  
            21.   
            22.     /**  
            23.      * 根據  id  刪除 數據  
            24.      */  
            25.     public boolean delete(int id) {  
            26.         return mapper.delete(id);  
            27.     }  
            28.     /**  
            29.      * 查詢User的全部數據  
            30.      */  
            31.     public List<User> findAll() {  
            32.         List<User> findAllList = mapper.findAll();  
            33.         return findAllList;  
            34.     }  
            35.     /**  
            36.      * 根據 id 查詢 對應數據  
            37.      */  
            38.     public User findById(int id) {  
            39.         User user = mapper.findById(id);  
            40.         return user;  
            41.     }  
            42.     /**  
            43.      * 新增數據  
            44.      */  
            45.     public void save(User user) {  
            46.         mapper.save(user);  
            47.     }  
            48.     /**  
            49.      * 根據 id 修改對應數據  
            50.      */  
            51.     public boolean update(User user) {  
            52.         return mapper.update(user);  
            53.     }  
            54.   
            55. }  

            13.建立Controller【UserController.java】

             

            1. <span style="font-size:14px;">package com.lyt.controller;  
            2.   
            3. import java.io.IOException;  
            4. import java.io.PrintWriter;  
            5. import java.util.List;  
            6.   
            7. import javax.servlet.http.HttpServletRequest;  
            8. import javax.servlet.http.HttpServletResponse;  
            9.   
            10. import org.springframework.beans.factory.annotation.Autowired;  
            11. import org.springframework.stereotype.Controller;  
            12. import org.springframework.ui.Model;  
            13. import org.springframework.web.bind.annotation.RequestMapping;  
            14.   
            15. import com.lyt.model.User;  
            16. import com.lyt.service.UserService;  
            17.  
            18. @Controller  
            19. @RequestMapping("/user")  
            20. public class UserController {  
            21.     @Autowired  
            22.     private UserService userService;  
            23.     /**  
            24.      * 獲取所有用戶列表  
            25.      * @param request  
            26.      * @return  
            27.      */  
            28.     @RequestMapping("/getAllUser")  
            29.     public String getAllUser(HttpServletRequest request,Model model){  
            30.         List<User> user = userService.findAll();  
            31.         model.addAttribute("userList", user);  
            32.         request.setAttribute("userList", user);  
            33.         return "/allUser";  
            34.     }  
            35.     /**  
            36.      * 跳轉到添加用戶界面  
            37.      * @param request  
            38.      * @return  
            39.      */  
            40.     @RequestMapping("/toAddUser")  
            41.     public String toAddUser(){  
            42.         return "/addUser";  
            43.     }  
            44.     /**  
            45.      * 添加用戶並重定向  
            46.      * @param user  
            47.      * @param request  
            48.      * @return  
            49.      */  
            50.     @RequestMapping("/addUser")  
            51.     public String addUser(User user,Model model){  
            52.         userService.save(user);  
            53.         return "redirect:/user/getAllUser";  
            54.     }  
            55.     /**  
            56.      *編輯用戶  
            57.      * @param user  
            58.      * @param request  
            59.      * @return  
            60.      */  
            61.     @RequestMapping("/updateUser")  
            62.     public String updateUser(User user,HttpServletRequest request,Model model){  
            63.         if(userService.update(user)){  
            64.             user = userService.findById(user.getId());  
            65.             request.setAttribute("user", user);  
            66.             model.addAttribute("user", user);  
            67.             return "redirect:/user/getAllUser";  
            68.         }else{  
            69.             return "/error";  
            70.         }  
            71.     }  
            72.     /**  
            73.      * 根據id查詢單個用戶  
            74.      * @param id  
            75.      * @param request  
            76.      * @return  
            77.      */  
            78.     @RequestMapping("/getUser")  
            79.     public String getUser(int id,HttpServletRequest request,Model model){  
            80.         request.setAttribute("user", userService.findById(id));  
            81.         model.addAttribute("user", userService.findById(id));  
            82.         return "/editUser";  
            83.     }  
            84.     /**  
            85.      * 刪除用戶  
            86.      * @param id  
            87.      * @param request  
            88.      * @param response  
            89.      */  
            90.     @RequestMapping("/delUser")  
            91.     public void delUser(int id,HttpServletRequest request,HttpServletResponse response){  
            92.         String result = "{\"result\":\"error\"}";  
            93.         if(userService.delete(id)){  
            94.             result = "{\"result\":\"success\"}";  
            95.         }  
            96.         response.setContentType("application/json");  
            97.         try {  
            98.             PrintWriter out = response.getWriter();  
            99.             out.write(result);  
            100.         } catch (IOException e) {  
            101.             e.printStackTrace();  
            102.         }  
            103.     }  
            104. }  
            105. </span>  



             

             

            至此 大部分架構以及代碼已經搭建完成

            我們來做前臺頁面--修改index.jsp

             

            1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
            2. <%  
            3.     String path = request.getContextPath();  
            4.     String basePath = request.getScheme() + "://"  
            5.             + request.getServerName() + ":" + request.getServerPort()  
            6.             + path + "/";  
            7. %>  
            8.   
            9. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
            10. <html>  
            11. <head>  
            12. <base href="<%=basePath%>">  
            13. <title>首頁</title>  
            14. </head>  
            15. <body>  
            16.     <h5>  
            17.         <a href="<%=basePath%>user/getAllUser">進入用戶管理頁</a>  
            18.     </h5>  
            19. </body>  
            20. </html>  


            在 WEB-INF 下新建jsp文件夾【裏面新建以下文件】【addUser.jsp】【allUser.jsp】【editUser.jsp】

             

            addUser.jsp內容

             

            1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
            2. <%  
            3. String path = request.getContextPath();  
            4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
            5. %>  
            6. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>    
            7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
            8. <html>  
            9.   <head>  
            10.     <base href="<%=basePath%>">  
            11.       
            12.     <title>添加用戶</title>  
            13.       
            14.     <script type="text/javascript">  
            15.     function addUser(){  
            16.         var form = document.forms[0];  
            17.         form.action = "<%=basePath%>user/addUser";  
            18.         form.method="post";  
            19.         form.submit();  
            20.     }  
            21. </script>  
            22.   
            23.   </head>  
            24.     
            25.   <body>  
            26.     <h1><%=path%>添加用戶<%=basePath%></h1>  
            27.     <form action="" name="userForm">  
            28.         姓名:<input type="text" name="userName">  
            29.         年齡:<input type="text" name="age">  
            30.         <input type="button" value="添加" onclick="addUser()">  
            31.     </form>  
            32.   </body>  
            33. </html>  


            allUser.jsp

             

             

            1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
            2. <%  
            3. String path = request.getContextPath();  
            4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
            5. %>  
            6. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>    
            7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
            8. <html>  
            9.   <head>  
            10.     <base href="<%=basePath%>">  
            11.     <script type="text/javascript" src="js/jquery-1.7.1.js"></script>  
            12.     <title>用戶列表</title>  
            13.       
            14.     <script type="text/javascript">  
            15.     function del(id){  
            16.         $.get("<%=basePath%>user/delUser?id=" + id,function(data){  
            17.             if("success" == data.result){  
            18.                 alert("刪除成功");  
            19.                 window.location.reload();  
            20.             }else{  
            21.                 alert("刪除失敗");  
            22.             }  
            23.         });  
            24.     }  
            25. </script>  
            26.   </head>  
            27.     
            28.   <body>  
            29.     <h6><a href="<%=basePath%>user/toAddUser">添加用戶</a></h6>  
            30.     <table border="1">  
            31.         <tbody>  
            32.             <tr>  
            33.                 <th>姓名</th>  
            34.                 <th>年齡</th>  
            35.                 <th>操作</th>  
            36.             </tr>  
            37.             <c:if test="${!empty userList }">  
            38.                 <c:forEach items="${userList}" var="user">  
            39.                     <tr>  
            40.                         <td>${user.userName }</td>  
            41.                         <td>${user.age }</td>  
            42.                         <td>  
            43.                             <a href="<%=basePath%>user/getUser?id=${user.id}">編輯</a>  
            44.                             <a href="javascript:del('${user.id }')">刪除</a>  
            45.                         </td>  
            46.                     </tr>               
            47.                 </c:forEach>  
            48.             </c:if>  
            49.         </tbody>  
            50.     </table>  
            51.   </body>  
            52. </html>  


            editUser.jsp

             

             

            1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
            2. <%  
            3. String path = request.getContextPath();  
            4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
            5. %>  
            6. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>    
            7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
            8. <html>  
            9.   <head>  
            10.     <base href="<%=basePath%>">  
            11.       
            12.     <title>編輯用戶</title>  
            13.       
            14.     <script type="text/javascript">  
            15.     function updateUser(){  
            16.         var form = document.forms[0];  
            17.         form.action = "<%=basePath%>user/updateUser";  
            18.         form.method="post";  
            19.         form.submit();  
            20.     }  
            21. </script>  
            22.   
            23.   </head>  
            24.     
            25.   <body>  
            26.     <h1>添加用戶</h1>  
            27.     <form action="" name="userForm">  
            28.         <input type="hidden" name="id" value="${user.id }"/>  
            29.         姓名:<input type="text" name="userName" value="${user.userName }"/>  
            30.         年齡:<input type="text" name="age" value="${user.age }"/>  
            31.         <input type="button" value="編輯" onclick="updateUser()"/>  
            32.     </form>  
            33.   </body>  
            34.     
            35. </html>  


            到此 簡單的整合SSM 【基本的操作內容已經完成】

             

            讓你們看下界面運行,地址:http://localhost:8088/SpringMVC_Spring_mybatis/

            首頁:

            點擊編輯進去:

            點擊添加進去:

            由於我在網絡問題  圖片暫時沒有上傳上去。【現在我吧圖片都正上去了,希望多多支持】
            對應的數據庫 表
            1. /*  
            2. Navicat MySQL Data Transfer  
            3.   
            4. Source Server         : localhost  
            5. Source Server Version : 50515  
            6. Source Host           : localhost:3306  
            7. Source Database       : db_zsl  
            8.   
            9. Target Server Type    : MYSQL  
            10. Target Server Version : 50515  
            11. File Encoding         : 65001  
            12.   
            13. Date: 2016-05-16 16:10:51  
            14. */  
            15.   
            16. SET FOREIGN_KEY_CHECKS=0;  
            17. -- ----------------------------  
            18. -- Table structure for `t_user`  
            19. -- ----------------------------  
            20. DROP TABLE IF EXISTS `t_user`;  
            21. CREATE TABLE `t_user` (  
            22.   `user_id` int(11) NOT NULL AUTO_INCREMENT,  
            23.   `user_name` varchar(20) NOT NULL,  
            24.   `user_age` varchar(20) NOT NULL,  
            25.   PRIMARY KEY (`user_id`)  
            26. ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;  
            27.   
            28. -- ----------------------------  
            29. -- Records of t_user  
            30. -- ----------------------------  
            31. INSERT INTO `t_user` VALUES ('2', '朱佳鵬', '25');  
            32. INSERT INTO `t_user` VALUES ('3', '傻狍子', '150');  
            33. INSERT INTO `t_user` VALUES ('4', 'jiuqiyuliang', '23');  
            34. INSERT INTO `t_user` VALUES ('5', 'jiuqiyuliang', '23');  
            35. INSERT INTO `t_user` VALUES ('6', 'jiuqiyuliang', '23');  
            36. INSERT INTO `t_user` VALUES ('7', 'jiuqiyuliang', '23');  
            37. INSERT INTO `t_user` VALUES ('9', 'liyintao123', '23123');  
            38.   
            39. -- ----------------------------  
            40. -- Table structure for `user_t`  
            41. -- ----------------------------  
            42. DROP TABLE IF EXISTS `user_t`;  
            43. CREATE TABLE `user_t` (  
            44.   `id` int(11) NOT NULL AUTO_INCREMENT,  
            45.   `user_name` varchar(40) NOT NULL,  
            46.   `password` varchar(255) NOT NULL,  
            47.   `age` int(4) NOT NULL,  
            48.   PRIMARY KEY (`id`)  
            49. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;  
            50.   
            51. -- ----------------------------  
            52. -- Records of user_t  
            53. -- ----------------------------  
            54. INSERT INTO `user_t` VALUES ('1', '測試', 'sfasgfaf', '24');  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章