在Maven使用SSM框架實(shí)現(xiàn)對(duì)數(shù)據(jù)庫進(jìn)行增刪改查操作

在Maven使用SSM框架實(shí)現(xiàn)對(duì)數(shù)據(jù)庫進(jìn)行增刪改查操作?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計(jì),祥符網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:祥符等地區(qū)。祥符做網(wǎng)站價(jià)格咨詢:028-86922220

Spring介紹:

spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的事情。然而, Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java 應(yīng)用都可以從 Spring 中受益。 簡單來說, 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  使用簡單的  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)

在Maven使用SSM框架實(shí)現(xiàn)對(duì)數(shù)據(jù)庫進(jìn)行增刪改查操作

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

在Maven使用SSM框架實(shí)現(xiàn)對(duì)數(shù)據(jù)庫進(jìn)行增刪改查操作

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文件】

<&#63;xml version="0" encoding="UTF-8"&#63;> 
<!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ì)的解釋。 

<&#63;xml version="0" encoding="UTF-8"&#63;> 
<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目錄下 

<&#63;xml version="0" encoding="UTF-8"&#63;> 
<!DOCTYPE configuration PUBLIC "-//mybatisorg//DTD Config 0//EN"  
"http://mybatisorg/dtd/mybatis-3-configdtd"> 
<configuration> 
 
  <!-- 實(shí)體類,簡稱 -設(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根目錄下

<&#63;xml version="0" encoding="UTF-8"&#63;> 
<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 

<&#63;xml version="0" encoding="UTF-8"&#63;> 
<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> 
  <h6> 
    <a href="<%=basePath%>user/getAllUser" rel="external nofollow" >進(jìn)入用戶管理頁</a> 
  </h6> 
</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> 
  <h2><%=path%>添加用戶<%=basePath%></h2> 
  <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&#63;id=" + id,function(data){ 
      if("success" == dataresult){ 
        alert("刪除成功"); 
        windowlocationreload(); 
      }else{ 
        alert("刪除失敗"); 
      } 
    }); 
  } 
</script> 
 </head> 
  
 <body> 
  <h7><a href="<%=basePath%>user/toAddUser" rel="external nofollow" >添加用戶</a></h7> 
  <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&#63;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> 
  <h2>添加用戶</h2> 
  <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> 

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

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

首頁:

在Maven使用SSM框架實(shí)現(xiàn)對(duì)數(shù)據(jù)庫進(jìn)行增刪改查操作

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

在Maven使用SSM框架實(shí)現(xiàn)對(duì)數(shù)據(jù)庫進(jìn)行增刪改查操作

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

在Maven使用SSM框架實(shí)現(xiàn)對(duì)數(shù)據(jù)庫進(jìn)行增刪改查操作

由于我在網(wǎng)絡(luò)問題  圖片暫時(shí)沒有上傳上去。【現(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', '測試', 'sfasgfaf', '24'); 

看完上述內(nèi)容,你們掌握在Maven使用SSM框架實(shí)現(xiàn)對(duì)數(shù)據(jù)庫進(jìn)行增刪改查操作的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站欄目:在Maven使用SSM框架實(shí)現(xiàn)對(duì)數(shù)據(jù)庫進(jìn)行增刪改查操作
文章分享:http://bm7419.com/article44/pcdphe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站排名網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站維護(hù)、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)