真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

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

Spring介紹:

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

SpringMVC介紹

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

MyBatis介紹

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

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

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

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

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

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

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

3.項目整體結(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 findAll();  
}  

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

<?xml version="0" encoding="UTF-8"?> 
  
  
  
  
   
    insert into t_user(user_name,user_age) values(#{userName},#{age}) 
   
   
    
    update t_user set user_name=#{userName},user_age=#{age} where user_id=#{id}  
    
   
    
    delete from t_user where user_id=#{id}  
    
    
      
    
    
    
   
  

這里對這個xml文件作幾點說明:

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

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

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

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

<?xml version="0" encoding="UTF-8"?> 
 
 
 
   
   
     
     
     
     
   
 
   
   
     
      
   
 
   
   
     
     
   
 
   
   
     
   
 
   
   
 
 

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

<?xml version="0" encoding="UTF-8"?> 
 
 
 
   
   
     
   
   
   
   
     
   
 
  

配置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"?> 
 
 
   
   
   
 
   
   
 
   
   
   
   
   
 
 
 
   
   
     
     
     
   
 

11.配置web.xml 

<?xml version="0" encoding="UTF-8"?> 
 
 
   
   
    orgspringframeworkwebcontextContextLoaderListener 
   
 
   
   
    contextConfigLocation 
     
    classpath:spring-commonxml,classpath:spring-mvcxml 
     
   
 
   
   
    springMVC 
    orgspringframeworkwebservletDispatcherServlet 
      
     
      contextConfigLocation 
      classpath:spring-commonxml,classpath:spring-mvcxml 
     
      
    1 
   
 
   
   
    springMVC 
     
    / 
   
 
   
   
    orgspringframeworkwebutilIntrospectorCleanupListener 
   
 
   
   
    encodingFilter 
    orgspringframeworkwebfilterCharacterEncodingFilter 
     
      encoding 
      UTF-8 
     
     
      forceEncoding 
      true 
     
   
   
   
    encodingFilter 
    /* 
   
 
   
    indexjsp 
   
 

12.建立service以及service實現(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 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 findAll() { 
    List findAllList = mapperfindAll(); 
    return findAllList; 
  } 
  /** 
   * 根據(jù) id 查詢 對應(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 修改對應(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 = 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查詢單個用戶 
   * @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)搭建完成

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

<%@ page language="java" import="javautil*" pageEncoding="utf-8"%> 
<% 
  String path = requestgetContextPath(); 
  String basePath = requestgetScheme() + "://" 
      + requestgetServerName() + ":" + requestgetServerPort() 
      + path + "/"; 
%> 
 
 
 
 
" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > 
首頁 
 
 
  
進(jìn)入用戶管理頁

在 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"%>  
 
 
  
   
   
  添加用戶 
   
   
 
  
  
  
  

<%=path%>添加用戶<%=basePath%>

姓名: 年齡:

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"%>  
 
 
  
   
   
  用戶列表 
   
   
  
  
  
  添加用戶 
   
         
          
姓名 年齡 操作
${useruserName } ${userage } 編輯 刪除

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"%>  
 
 
  
   
   
  編輯用戶 
   
   
 
  
  
  
  

添加用戶

姓名: 年齡:

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

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

首頁:

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

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

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

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

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

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

對應(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框架實現(xiàn)對數(shù)據(jù)庫進(jìn)行增刪改查操作的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


分享文章:在Maven使用SSM框架實現(xiàn)對數(shù)據(jù)庫進(jìn)行增刪改查操作
當(dāng)前URL:http://weahome.cn/article/pcdphe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部