欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Maven+SSM框架實(shí)現(xiàn)簡(jiǎn)單的增刪改查

 更新時(shí)間:2017年03月08日 10:35:52   作者:java-許鵬  
這篇文章主要介紹了Maven+SSM框架實(shí)現(xiàn)簡(jiǎn)單的增刪改查,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

Spring介紹:

spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的事情。然而, Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java 應(yīng)用都可以從 Spring 中受益。 簡(jiǎn)單來說, Spring 是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC )和面向切面( AOP )的容器框架。

SpringMVC介紹

Spring MVC 屬于 SpringFrameWork 的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow 里面。 Spring MVC  分離了 控制器 、模型 對(duì)象 、分派器以及處理程序?qū)ο蟮慕巧?,這種分離讓它們更容易進(jìn)行定制。

MyBatis介紹

MyBatis  本是 apache 的一個(gè)開源項(xiàng)目 iBatis , 2010 年這個(gè)項(xiàng)目由apache software foundation  遷移到了 google code ,并且改名為 MyBatis  。MyBatis 是一個(gè)基于 Java 的 持久層 框架。 iBATIS 提供的 持久層 框架包括SQL Maps 和 Data Access Objects ( DAO ) MyBatis  消除了幾乎所有的 JDBC 代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。 MyBatis  使用簡(jiǎn)單的  XML 或注解用于配置和原始映射,將接口和  Java  的 POJOs ( Plain Old Java Objects ,普通的  Java 對(duì)象)映射成數(shù)據(jù)庫中的記錄。

首先不是maven架構(gòu)整合的  SSM 框架

創(chuàng)建數(shù)據(jù)庫、表db_zsl   t_user   user_t【最下面有sql語句】

1.項(xiàng)目整體結(jié)構(gòu)

2.添加相關(guān)jar 包

3.項(xiàng)目整體結(jié)構(gòu)出來了

4.創(chuàng)建model【User】

package comlytmodel; 
 
/** 
 * 用戶 
 * @author 
 * 
 */  
public class User {  
  
  private int id;  
  private String userName;  
  private String age;  
   
  @Override 
  public String toString() { 
    return "User [id=" + id + ", age=" + age + ", userName=" + userName 
        + "]"; 
  } 
  public User(){  
    super();  
  }  
  public int getId() {  
    return id;  
  }  
  public void setId(int id) {  
    thisid = id;  
  }  
  public String getAge() {  
    return age;  
  }  
  public void setAge(String age) {  
    thisage = age;  
  }  
  public String getUserName() {  
    return userName;  
  }  
  public void setUserName(String userName) {  
    thisuserName = userName;  
  }  
  public User(int id, String age, String userName) {  
    super();  
    thisid = id;  
    thisage = age;  
    thisuserName = userName;  
  }  
}  

5.創(chuàng)建DAO接口【在mybatis中 mapper就相當(dāng)于dao】

package comlytmapper; 
import javautilList; 
import comlytmodelUser; 
/** 
 * 做為 DAO的接口 
 * @author 
 */ 
public interface UserMapper {  
  void save(User user);  
  boolean update(User user);  
  boolean delete(int id);  
  User findById(int id);  
  List<User> findAll();  
}  

6.實(shí)現(xiàn)dao接口【mybatis中就是UserMapper.xml文件】

<?xml version="0" encoding="UTF-8"?> 
<!DOCTYPE mapper PUBLIC "-//mybatisorg//DTD Mapper 0//EN"   
"http://mybatisorg/dtd/mybatis-3-mapperdtd">  
<!--   
  namespace:必須與對(duì)應(yīng)的接口全類名一致 UserMapperjava 
  id :必須與對(duì)應(yīng)接口的某個(gè)對(duì)應(yīng)的方法名一致即必須要和UserMapperjava接口中的方法同名。 
 -->  
 <mapper namespace="comlytmapperUserMapper"> 
  
  <insert id="save" parameterType="User"> 
    insert into t_user(user_name,user_age) values(#{userName},#{age}) 
  </insert> 
   
  <update id="update" parameterType="User">  
    update t_user set user_name=#{userName},user_age=#{age} where user_id=#{id}  
  </update>  
   
  <delete id="delete" parameterType="int">  
    delete from t_user where user_id=#{id}  
  </delete>  
    
   <!-- mybsits_config中配置的alias類別名,也可直接配置resultType為類路徑 -->   
  <select id="findById" parameterType="int" resultType="User">  
    select user_id id,user_name userName,user_age age from t_user where user_id=#{id}  
  </select>  
    
  <select id="findAll" resultType="User">  
    select user_id id,user_name userName,user_age age from t_user  
  </select>  
   
 </mapper> 

這里對(duì)這個(gè)xml文件作幾點(diǎn)說明:

1、namespace必須與對(duì)應(yīng)的接口全類名一致。

2、id必須與對(duì)應(yīng)接口的某個(gè)對(duì)應(yīng)的方法名一致即必須要和UserMapper.java接口中的方法同名。

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

 對(duì)于Mybatis和Spring的整合是這篇博文的重點(diǎn),需要配置的內(nèi)容在下面有詳細(xì)的解釋。 

<?xml version="0" encoding="UTF-8"?> 
<beans xmlns="http://wwwspringframeworkorg/schema/beans" 
  xmlns:xsi="http://wwwworg/2001/XMLSchema-instance" xmlns:p="http://wwwspringframeworkorg/schema/p" 
  xmlns:context="http://wwwspringframeworkorg/schema/context" xmlns:tx="http://wwwspringframeworkorg/schema/tx" 
  xsi:schemaLocation=" 
    http://wwwspringframeworkorg/schema/beans 
    http://wwwspringframeworkorg/schema/beans/spring-beans-xsd 
    http://wwwspringframeworkorg/schema/context 
    http://wwwspringframeworkorg/schema/context/spring-context-xsd 
    http://wwwspringframeworkorg/schema/tx 
    http://wwwspringframeworkorg/schema/tx/spring-tx-xsd"> 
 
<!-- Mybatis和Spring的整合 --> 
  <!-- 數(shù)據(jù)源 : DriverManagerDataSource --> 
  <bean id="dataSource" 
    class="orgspringframeworkjdbcdatasourceDriverManagerDataSource"> 
    <property name="driverClassName" value="commysqljdbcDriver" /> 
    <property name="url" value="jdbc:mysql://localhost:3306/db_zsl" /> 
    <property name="username" value="root" /> 
    <property name="password" value="root" /> 
  </bean> 
 
  <!-- 
     mybatis的SqlSession的工廠: SqlSessionFactoryBean dataSource:引用數(shù)據(jù)源 
 
    MyBatis定義數(shù)據(jù)源,同意加載配置 
  --> 
  <bean id="sqlSessionFactory" class="orgmybatisspringSqlSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource"></property> 
    <property name="configLocation" value="classpath:mybatis-configxml" />  
  </bean> 
 
  <!-- 
     mybatis自動(dòng)掃描加載Sql映射文件/接口 : MapperScannerConfigurer sqlSessionFactory 
 
    basePackage:指定sql映射文件/接口所在的包(自動(dòng)掃描) 
  --> 
  <bean class="orgmybatisspringmapperMapperScannerConfigurer"> 
    <property name="basePackage" value="comlytmapper"></property> 
    <property name="sqlSessionFactory" ref="sqlSessionFactory"></property> 
  </bean> 
 
  <!-- 
     事務(wù)管理 : DataSourceTransactionManager dataSource:引用上面定義的數(shù)據(jù)源 
  --> 
  <bean id="txManager" 
    class="orgspringframeworkjdbcdatasourceDataSourceTransactionManager"> 
    <property name="dataSource" ref="dataSource"></property> 
  </bean> 
 
  <!-- 使用聲明式事務(wù) 
     transaction-manager:引用上面定義的事務(wù)管理器 
   --> 
  <tx:annotation-driven transaction-manager="txManager" /> 
 
</beans> 

8.mybatis配置文件【mybatis-config.xml】放在src目錄下 

<?xml version="0" encoding="UTF-8"?> 
<!DOCTYPE configuration PUBLIC "-//mybatisorg//DTD Config 0//EN"  
"http://mybatisorg/dtd/mybatis-3-configdtd"> 
<configuration> 
 
  <!-- 實(shí)體類,簡(jiǎn)稱 -設(shè)置別名 --> 
  <typeAliases> 
    <typeAlias alias="User" type="comlytmodelUser" /> 
  </typeAliases> 
  <!-- 實(shí)體接口映射資源 --> 
  <!-- 
    說明:如果xxMapperxml配置文件放在和xxMapperjava統(tǒng)一目錄下,mappers也可以省略,因?yàn)閛rgmybatisspringmapperMapperFactoryBean默認(rèn)會(huì)去查找與xxMapperjava相同目錄和名稱的xxMapperxml 
  --> 
  <mappers> 
    <mapper resource="com/lyt/mapper/userMapperxml" /> 
  </mappers> 
 
</configuration>  

配置log4j.properties

### set log levels ###  
log4jrootLogger = info , Console , D 
#Console 
log4jappenderConsole=orgapachelog4jConsoleAppender 
log4jappenderConsolelayout=orgapachelog4jPatternLayout 
log4jappenderConsolelayoutConversionPattern=%d [%t] %-5p [%c] - %m%n 
log4jloggerjavasqlResultSet=INFO 
log4jloggerorgapache=INFO 
log4jloggerjavasqlConnection=INFO 
log4jloggerjavasqlStatement=INFO 
log4jloggerjavasqlPreparedStatement=INFO 
#output2file 
log4jappenderD = orgapachelog4jDailyRollingFileAppender  
log4jappenderDFile = D\:/logs/loglog  
log4jappenderDAppend = true  
log4jappenderDThreshold = 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  
log4jappenderDlayout = orgapachelog4jPatternLayout  
log4jappenderDlayoutConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [ %t\:%r ] - [ %p ] %m%n  

10.整合Springmvc

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

<?xml version="0" encoding="UTF-8"?> 
<beans xmlns="http://wwwspringframeworkorg/schema/beans" 
  xmlns:xsi="http://wwwworg/2001/XMLSchema-instance" xmlns:context="http://wwwspringframeworkorg/schema/context" 
  xmlns:mvc="http://wwwspringframeworkorg/schema/mvc" 
  xsi:schemaLocation="http://wwwspringframeworkorg/schema/beans  
  http://wwwspringframeworkorg/schema/beans/spring-beansxsd 
  http://wwwspringframeworkorg/schema/context 
  http://wwwspringframeworkorg/schema/context/spring-context-xsd 
  http://wwwspringframeworkorg/schema/mvc 
  http://wwwspringframeworkorg/schema/mvc/spring-mvc-xsd"> 
 
  <!-- 注解掃描包 --> 
  <context:component-scan base-package="comlytcontroller" /> 
  <context:component-scan base-package="comlytservice" /> 
 
  <!-- 開啟注解 --> 
  <mvc:annotation-driven /> 
 
  <!-- 
    配置靜態(tài)資源,直接映射到對(duì)應(yīng)的文件夾,不被DispatcherServlet處理,04新增功能,需要重新設(shè)置spring-mvc-xsd 
  --> 
  <mvc:resources mapping="/img/**" location="/img/" /> 
  <mvc:resources mapping="/js/**" location="/js/" /> 
  <mvc:resources mapping="/css/**" location="/css/" /> 
  <mvc:resources mapping="/html/**" location="/html/" /> 
 
 
 
  <!-- 定義跳轉(zhuǎn)的文件的前后綴 ,視圖模式配置--> 
  <bean id="viewResolver" 
    class="orgspringframeworkwebservletviewInternalResourceViewResolver"> 
    <!-- 這里的配置我的理解是自動(dòng)給后面action的方法return的字符串加上前綴和后綴,變成一個(gè) 可用的url地址 --> 
    <property name="prefix" value="/WEB-INF/jsp/" /> 
    <property name="suffix" value="jsp" /> 
  </bean> 
</beans> 

11.配置web.xml 

<?xml version="0" encoding="UTF-8"?> 
<web-app version="5" xmlns="http://javasuncom/xml/ns/javaee" 
  xmlns:xsi="http://wwwworg/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://javasuncom/xml/ns/javaee  
  http://javasuncom/xml/ns/javaee/web-app_2_xsd"> 
 
  <!-- 加載Spring容器配置 --> 
  <listener> 
    <listener-class>orgspringframeworkwebcontextContextLoaderListener</listener-class> 
  </listener> 
 
  <!-- 設(shè)置Spring容器加載所有的配置文件的路徑 --> 
  <context-param> 
    <param-name>contextConfigLocation</param-name> 
    <!-- <param-value>classpath:config/spring-*xml</param-value> --> 
    <param-value>classpath:spring-commonxml,classpath:spring-mvcxml</param-value> 
     
  </context-param> 
 
  <!-- 配置SpringMVC核心控制器 --> 
  <servlet> 
    <servlet-name>springMVC</servlet-name> 
    <servlet-class>orgspringframeworkwebservletDispatcherServlet</servlet-class> 
    <!-- 配置初始配置化文件,前面contextConfigLocation看情況二選一 -->  
    <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>classpath:spring-commonxml,classpath:spring-mvcxml</param-value> 
    </init-param> 
    <!-- 啟動(dòng)加載一次 -->  
    <load-on-startup>1</load-on-startup> 
  </servlet> 
 
  <!--為DispatcherServlet建立映射 --> 
  <servlet-mapping> 
    <servlet-name>springMVC</servlet-name> 
    <!-- 此處可以可以配置成*do,對(duì)應(yīng)struts的后綴習(xí)慣 --> 
    <url-pattern>/</url-pattern> 
  </servlet-mapping> 
 
  <!-- 防止Spring內(nèi)存溢出監(jiān)聽器 --> 
  <listener> 
    <listener-class>orgspringframeworkwebutilIntrospectorCleanupListener</listener-class> 
  </listener> 
 
  <!-- 解決工程編碼過濾器 --> 
  <filter> 
    <filter-name>encodingFilter</filter-name> 
    <filter-class>orgspringframeworkwebfilterCharacterEncodingFilter</filter-class> 
    <init-param> 
      <param-name>encoding</param-name> 
      <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
      <param-name>forceEncoding</param-name> 
      <param-value>true</param-value> 
    </init-param> 
  </filter> 
   
  <filter-mapping> 
    <filter-name>encodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
  </filter-mapping> 
 
  <welcome-file-list> 
    <welcome-file>indexjsp</welcome-file> 
  </welcome-file-list> 
</web-app> 

12.建立service以及service實(shí)現(xiàn)【UserService.java】 

package comlytservice; 
import javautilList; 
import comlytmodelUser; 
 public interface UserService { 
  void save(User user); 
  boolean update(User user); 
  boolean delete(int id); 
  User findById(int id); 
  List<User> findAll(); 
} 

【UserServiceImpl.java】 

package comlytserviceimpl; 
 
import javautilList; 
 
import javaxannotationResource; 
 
import orgspringframeworkstereotypeService; 
import orgspringframeworktransactionannotationTransactional; 
 
import comlytmapperUserMapper; 
import comlytmodelUser; 
import comlytserviceUserService; 
 
@Service 
@Transactional 
// 此處不再進(jìn)行創(chuàng)建SqlSession和提交事務(wù),都已交由spring去管理了。 
public class UserServiceImpl implements UserService { 
 
  @Resource 
  private UserMapper mapper; 
 
  /** 
   * 根據(jù) id 刪除 數(shù)據(jù) 
   */ 
  public boolean delete(int id) { 
    return mapperdelete(id); 
  } 
  /** 
   * 查詢User的全部數(shù)據(jù) 
   */ 
  public List<User> findAll() { 
    List<User> findAllList = mapperfindAll(); 
    return findAllList; 
  } 
  /** 
   * 根據(jù) id 查詢 對(duì)應(yīng)數(shù)據(jù) 
   */ 
  public User findById(int id) { 
    User user = mapperfindById(id); 
    return user; 
  } 
  /** 
   * 新增數(shù)據(jù) 
   */ 
  public void save(User user) { 
    mappersave(user); 
  } 
  /** 
   * 根據(jù) id 修改對(duì)應(yīng)數(shù)據(jù) 
   */ 
  public boolean update(User user) { 
    return mapperupdate(user); 
  } 
 
} 

13.建立Controller【UserController.java】

package comlytcontroller; 
 
import javaioIOException; 
import javaioPrintWriter; 
import javautilList; 
 
import javaxservlethttpHttpServletRequest; 
import javaxservlethttpHttpServletResponse; 
 
import orgspringframeworkbeansfactoryannotationAutowired; 
import orgspringframeworkstereotypeController; 
import orgspringframeworkuiModel; 
import orgspringframeworkwebbindannotationRequestMapping; 
 
import comlytmodelUser; 
import comlytserviceUserService; 
 
@Controller 
@RequestMapping("/user") 
public class UserController { 
  @Autowired 
  private UserService userService; 
  /** 
   * 獲取所有用戶列表 
   * @param request 
   * @return 
   */ 
  @RequestMapping("/getAllUser") 
  public String getAllUser(HttpServletRequest request,Model model){ 
    List<User> user = userServicefindAll(); 
    modeladdAttribute("userList", user); 
    requestsetAttribute("userList", user); 
    return "/allUser"; 
  } 
  /** 
   * 跳轉(zhuǎn)到添加用戶界面 
   * @param request 
   * @return 
   */ 
  @RequestMapping("/toAddUser") 
  public String toAddUser(){ 
    return "/addUser"; 
  } 
  /** 
   * 添加用戶并重定向 
   * @param user 
   * @param request 
   * @return 
   */ 
  @RequestMapping("/addUser") 
  public String addUser(User user,Model model){ 
    userServicesave(user); 
    return "redirect:/user/getAllUser"; 
  } 
  /** 
   *編輯用戶 
   * @param user 
   * @param request 
   * @return 
   */ 
  @RequestMapping("/updateUser") 
  public String updateUser(User user,HttpServletRequest request,Model model){ 
    if(userServiceupdate(user)){ 
      user = userServicefindById(usergetId()); 
      requestsetAttribute("user", user); 
      modeladdAttribute("user", user); 
      return "redirect:/user/getAllUser"; 
    }else{ 
      return "/error"; 
    } 
  } 
  /** 
   * 根據(jù)id查詢單個(gè)用戶 
   * @param id 
   * @param request 
   * @return 
   */ 
  @RequestMapping("/getUser") 
  public String getUser(int id,HttpServletRequest request,Model model){ 
    requestsetAttribute("user", userServicefindById(id)); 
    modeladdAttribute("user", userServicefindById(id)); 
    return "/editUser"; 
  } 
  /** 
   * 刪除用戶 
   * @param id 
   * @param request 
   * @param response 
   */ 
  @RequestMapping("/delUser") 
  public void delUser(int id,HttpServletRequest request,HttpServletResponse response){ 
    String result = "{\"result\":\"error\"}"; 
    if(userServicedelete(id)){ 
      result = "{\"result\":\"success\"}"; 
    } 
    responsesetContentType("application/json"); 
    try { 
      PrintWriter out = responsegetWriter(); 
      outwrite(result); 
    } catch (IOException e) { 
      eprintStackTrace(); 
    } 
  } 
} 

至此 大部分架構(gòu)以及代碼已經(jīng)搭建完成

我們來做前臺(tái)頁面--修改index.jsp 

<%@ page language="java" import="javautil*" pageEncoding="utf-8"%> 
<% 
  String path = requestgetContextPath(); 
  String basePath = requestgetScheme() + "://" 
      + requestgetServerName() + ":" + requestgetServerPort() 
      + path + "/"; 
%> 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 01 Transitional//EN"> 
<html> 
<head> 
<base href="<%=basePath%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > 
<title>首頁</title> 
</head> 
<body> 
  <h5> 
    <a href="<%=basePath%>user/getAllUser" rel="external nofollow" >進(jìn)入用戶管理頁</a> 
  </h5> 
</body> 
</html> 

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

addUser.jsp內(nèi)容

<%@ page language="java" import="javautil*" pageEncoding="UTF-8"%> 
<% 
String path = requestgetContextPath(); 
String basePath = requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort()+path+"/"; 
%> 
<%@ taglib uri="http://javasuncom/jsp/jstl/core" prefix="c"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 01 Transitional//EN"> 
<html> 
 <head> 
  <base href="<%=basePath%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > 
   
  <title>添加用戶</title> 
   
  <script type="text/javascript"> 
  function addUser(){ 
    var form = documentforms[0]; 
    formaction = "<%=basePath%>user/addUser"; 
    formmethod="post"; 
    formsubmit(); 
  } 
</script> 
 
 </head> 
  
 <body> 
  <h1><%=path%>添加用戶<%=basePath%></h1> 
  <form action="" name="userForm"> 
    姓名:<input type="text" name="userName"> 
    年齡:<input type="text" name="age"> 
    <input type="button" value="添加" onclick="addUser()"> 
  </form> 
 </body> 
</html> 

allUser.jsp

<%@ page language="java" import="javautil*" pageEncoding="UTF-8"%> 
<% 
String path = requestgetContextPath(); 
String basePath = requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort()+path+"/"; 
%> 
<%@ taglib uri="http://javasuncom/jsp/jstl/core" prefix="c"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 01 Transitional//EN"> 
<html> 
 <head> 
  <base href="<%=basePath%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > 
  <script type="text/javascript" src="js/jquery-js"></script> 
  <title>用戶列表</title> 
   
  <script type="text/javascript"> 
  function del(id){ 
    $get("<%=basePath%>user/delUser?id=" + id,function(data){ 
      if("success" == dataresult){ 
        alert("刪除成功"); 
        windowlocationreload(); 
      }else{ 
        alert("刪除失敗"); 
      } 
    }); 
  } 
</script> 
 </head> 
  
 <body> 
  <h6><a href="<%=basePath%>user/toAddUser" rel="external nofollow" >添加用戶</a></h6> 
  <table border="1"> 
    <tbody> 
      <tr> 
        <th>姓名</th> 
        <th>年齡</th> 
        <th>操作</th> 
      </tr> 
      <c:if test="${!empty userList }"> 
        <c:forEach items="${userList}" var="user"> 
          <tr> 
            <td>${useruserName }</td> 
            <td>${userage }</td> 
            <td> 
              <a href="<%=basePath%>user/getUser?id=${userid}" rel="external nofollow" >編輯</a> 
              <a href="javascript:del('${userid }')" rel="external nofollow" >刪除</a> 
            </td> 
          </tr>        
        </c:forEach> 
      </c:if> 
    </tbody> 
  </table> 
 </body> 
</html> 

editUser.jsp

 <%@ page language="java" import="javautil*" pageEncoding="UTF-8"%> 
<% 
String path = requestgetContextPath(); 
String basePath = requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort()+path+"/"; 
%> 
<%@ taglib uri="http://javasuncom/jsp/jstl/core" prefix="c"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 01 Transitional//EN"> 
<html> 
 <head> 
  <base href="<%=basePath%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > 
   
  <title>編輯用戶</title> 
   
  <script type="text/javascript"> 
  function updateUser(){ 
    var form = documentforms[0]; 
    formaction = "<%=basePath%>user/updateUser"; 
    formmethod="post"; 
    formsubmit(); 
  } 
</script> 
 
 </head> 
  
 <body> 
  <h1>添加用戶</h1> 
  <form action="" name="userForm"> 
    <input type="hidden" name="id" value="${userid }"/> 
    姓名:<input type="text" name="userName" value="${useruserName }"/> 
    年齡:<input type="text" name="age" value="${userage }"/> 
    <input type="button" value="編輯" onclick="updateUser()"/> 
  </form> 
 </body> 
  
</html> 

到此 簡(jiǎn)單的整合SSM 【基本的操作內(nèi)容已經(jīng)完成】

讓你們看下界面運(yùn)行,地址:http://localhost:8088/SpringMVC_Spring_mybatis/

首頁:

點(diǎn)擊編輯進(jìn)去:

點(diǎn)擊添加進(jìn)去:

由于我在網(wǎng)絡(luò)問題  圖片暫時(shí)沒有上傳上去?!粳F(xiàn)在我把圖片都正上去了,希望多多支持】

對(duì)應(yīng)的數(shù)據(jù)庫 表

/* 
Navicat MySQL Data Transfer 
 
Source Server     : localhost 
Source Server Version : 50515 
Source Host      : localhost:3306 
Source Database    : db_zsl 
 
Target Server Type  : MYSQL 
Target Server Version : 50515 
File Encoding     : 65001 
 
Date: 2016-05-16 16:10:51 
*/ 
 
SET FOREIGN_KEY_CHECKS=0; 
-- ---------------------------- 
-- Table structure for `t_user` 
-- ---------------------------- 
DROP TABLE IF EXISTS `t_user`; 
CREATE TABLE `t_user` ( 
 `user_id` int(11) NOT NULL AUTO_INCREMENT, 
 `user_name` varchar(20) NOT NULL, 
 `user_age` varchar(20) NOT NULL, 
 PRIMARY KEY (`user_id`) 
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; 
 
-- ---------------------------- 
-- Records of t_user 
-- ---------------------------- 
INSERT INTO `t_user` VALUES ('2', '朱佳鵬', '25'); 
INSERT INTO `t_user` VALUES ('3', '傻狍子', '150'); 
INSERT INTO `t_user` VALUES ('4', 'jiuqiyuliang', '23'); 
INSERT INTO `t_user` VALUES ('5', 'jiuqiyuliang', '23'); 
INSERT INTO `t_user` VALUES ('6', 'jiuqiyuliang', '23'); 
INSERT INTO `t_user` VALUES ('7', 'jiuqiyuliang', '23'); 
INSERT INTO `t_user` VALUES ('9', 'liyintao123', '23123'); 
 
-- ---------------------------- 
-- Table structure for `user_t` 
-- ---------------------------- 
DROP TABLE IF EXISTS `user_t`; 
CREATE TABLE `user_t` ( 
 `id` int(11) NOT NULL AUTO_INCREMENT, 
 `user_name` varchar(40) NOT NULL, 
 `password` varchar(255) NOT NULL, 
 `age` int(4) NOT NULL, 
 PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; 
 
-- ---------------------------- 
-- Records of user_t 
-- ---------------------------- 
INSERT INTO `user_t` VALUES ('1', '測(cè)試', 'sfasgfaf', '24'); 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot整合Netty+Websocket實(shí)現(xiàn)消息推送的示例代碼

    SpringBoot整合Netty+Websocket實(shí)現(xiàn)消息推送的示例代碼

    WebSocket使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡(jiǎn)單,允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù),本文主要介紹了SpringBoot整合Netty+Websocket實(shí)現(xiàn)消息推送的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Java設(shè)計(jì)模式之觀察者模式

    Java設(shè)計(jì)模式之觀察者模式

    這篇文章主要為大家介紹了Java觀察者模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Spring Boot 如何使用Liquibase 進(jìn)行數(shù)據(jù)庫遷移(操作方法)

    Spring Boot 如何使用Liquibase 進(jìn)行數(shù)據(jù)庫遷移(操作方法)

    在Spring Boot應(yīng)用程序中使用Liquibase進(jìn)行數(shù)據(jù)庫遷移是一種強(qiáng)大的方式來管理數(shù)據(jù)庫模式的變化,本文重點(diǎn)講解如何在Spring Boot應(yīng)用程序中使用Liquibase進(jìn)行數(shù)據(jù)庫遷移,從而更好地管理數(shù)據(jù)庫模式的變化,感興趣的朋友跟隨小編一起看看吧
    2023-09-09
  • Mybatis模糊查詢和動(dòng)態(tài)sql語句的用法

    Mybatis模糊查詢和動(dòng)態(tài)sql語句的用法

    今天小編就為大家分享一篇關(guān)于Mybatis模糊查詢和動(dòng)態(tài)sql語句的用法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • springboot如何使用thymeleaf完成頁面緩存

    springboot如何使用thymeleaf完成頁面緩存

    這篇文章主要介紹了springboot如何使用thymeleaf完成頁面緩存,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Spring Boot整合tk.mybatis代碼實(shí)例

    Spring Boot整合tk.mybatis代碼實(shí)例

    這篇文章主要介紹了Spring Boot整合tk.mybatis代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Spring之@DependsOn注解詳細(xì)解析

    Spring之@DependsOn注解詳細(xì)解析

    這篇文章主要介紹了Spring之@DependsOn注解詳細(xì)解析,@DependsOn注解是Spring中提供的一個(gè)指定Spring創(chuàng)建Bean的依賴順序的注解,需要的朋友可以參考下
    2024-01-01
  • Java如何導(dǎo)入Jsoup庫做一個(gè)有趣的爬蟲項(xiàng)目

    Java如何導(dǎo)入Jsoup庫做一個(gè)有趣的爬蟲項(xiàng)目

    Jsoup庫是一款Java的HTML解析器,可用于從網(wǎng)絡(luò)或本地文件中獲取HTML文檔并解析其中的數(shù)據(jù),這篇文章給大家介紹Java導(dǎo)入Jsoup庫做一個(gè)有趣的爬蟲項(xiàng)目,感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • JAVA內(nèi)存模型和Happens-Before規(guī)則知識(shí)點(diǎn)講解

    JAVA內(nèi)存模型和Happens-Before規(guī)則知識(shí)點(diǎn)講解

    在本篇文章里小編給大家整理的是一篇關(guān)于JAVA內(nèi)存模型和Happens-Before規(guī)則知識(shí)點(diǎn)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)下。
    2020-11-11
  • 了解JAVA并發(fā)工具常用設(shè)計(jì)套路

    了解JAVA并發(fā)工具常用設(shè)計(jì)套路

    這篇文章主要介紹了了解JAVA并發(fā)工具常用設(shè)計(jì)套路,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06

最新評(píng)論