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

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

使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境

本篇文章給大家分享的是有關(guān)使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、湘潭縣ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的湘潭縣網(wǎng)站制作公司

1、下載SpringMVC框架架包,

點(diǎn)擊打開(kāi)地址如圖所示,點(diǎn)擊下載即可
使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境 

然后把相關(guān)的jar復(fù)制到lib下導(dǎo)入

2、MyBatis(3.4.2)下載

點(diǎn)擊下載

MyBatis中文文檔地址

點(diǎn)擊查看

下載解壓之后把jar復(fù)制到lib下導(dǎo)入,大概是這樣子的

使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境 

3、jdbc連接庫(kù)還沒(méi)有下載。。。這個(gè)是5.1.41版本的。。。

點(diǎn)擊下載

使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境 

解壓之后這樣子。。。

4、fastjson 阿里巴巴的json解析庫(kù)

點(diǎn)擊下載

版本是1.2.24 這個(gè)是托管到了github上面的,地址是:點(diǎn)擊進(jìn)入

5、創(chuàng)建WebProject

使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境 

注意下一步有個(gè)選項(xiàng),如果不勾選,默認(rèn)是不會(huì)生成web.xml的

使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境 

6、項(xiàng)目創(chuàng)建完畢,把之前的包都弄進(jìn)來(lái)。。

web.xml

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

 CoolWeb
 
  index.html
  index.htm
  index.jsp
  default.html
  default.htm
  default.jsp
 


 
   CoolWeb
   org.springframework.web.servlet.DispatcherServlet
   
      contextConfigLocation
      
      classpath:CoolWeb-servlet.xml 
   
   1
 

  
 
    CoolWeb
    /
 

7、在src下創(chuàng)建CoolWeb-servlet.xml

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



  
  
  


8、在src下編寫(xiě)ApplicationContext.xml文件

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



  
  

  
  

    
  
    
    
      
   

User實(shí)體類要在這里注冊(cè)

9、在src下編寫(xiě)mybatis.xml

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


  
    
      
      
      
        
        
        
        
        
      
    
  
  
    
  

10、log4j.xml配置

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

  
    
      
      
    
    
      
      
    
  
  
    
      
      
    
  

   
   
     
   

   
     
   

   
     
   

   
     
   

   
     
   

   
     
     
 
 
   

這個(gè)配置貌似有點(diǎn)問(wèn)題,雖然不影響使用,不過(guò)我也沒(méi)有去深入研究還,最近還要準(zhǔn)備面試Android哎。。。

現(xiàn)在差不多是這樣子咯

使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境 

11、環(huán)境搭建差不多了,現(xiàn)在開(kāi)始擼代碼,寫(xiě)一個(gè)注冊(cè)的動(dòng)能吧

簡(jiǎn)歷一個(gè)實(shí)體類User.Java

package com.vincent.lwx.bean;

import java.io.Serializable;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

/**  
* @Title: User.java 
* @Package com.vincent.lwx.bean 
* @Description: TODO(用一句話描述該文件做什么) 
* @author Vincent  
* @date 2017年3月3日 下午6:36:58 
* @version V1.0  
*/
public class User implements Serializable{

  /**
   * 序列化id
   */
  private static final long serialVersionUID = -6375697395831845246L;

  /**
   * 用戶id
   */
  private @Getter String user_id;

  /**
   * 用戶手機(jī)號(hào)碼
   */
  private @Setter@Getter String phone;

  /**
   * 密碼
   */
  private @Setter@Getter String password;

  /**
   * 用戶名
   */
  private @Setter@Getter String nickname;

  /**
   * 用戶頭像地址
   */
  private @Setter@Getter String head;

  /**
   * 性別
   */
  private @Setter@Getter String sex;

  /**
   * 生日
   */
  private @Setter@Getter String birthday;

  /**
   * 生活狀態(tài)(發(fā)表的說(shuō)說(shuō))
   */
  private @Setter@Getter String live_status;


}

編寫(xiě)MyBatis的實(shí)體類映射xml文件,就寫(xiě)個(gè)UserMapping.xml好了,表示為用戶相關(guān)的操作

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




  
  

我這里只寫(xiě)了一個(gè),別的還沒(méi)寫(xiě),注冊(cè)之前先查詢一下手機(jī)號(hào)碼是否已注冊(cè)。。

注意這里的id 不能重復(fù),要具有唯一性。parameterType是傳入的參數(shù)類型,這里是String類型的phone,如果要傳入多個(gè)參數(shù)可以使用User對(duì)象,或者M(jìn)ap,resultType返回結(jié)果類型,我這里是直接返回一個(gè)User對(duì)象,之前用jdbc直接連接數(shù)據(jù)庫(kù),返回的東西還要手動(dòng)封裝,這個(gè)快多了。。。

創(chuàng)建MyBatisUtils.java類,用來(lái)從數(shù)據(jù)庫(kù)獲取SqlSession對(duì)象的,SqlSession執(zhí)行sql語(yǔ)句,和jdbc的Statement對(duì)象差不多感覺(jué)。。。也可能我的感覺(jué)是錯(cuò)的,哈哈,還沒(méi)看源碼。。。

package com.vincent.lwx.db;

import java.io.IOException;
import java.io.Reader;
import java.util.Timer;
import java.util.TimerTask;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.vincent.lwx.util.EatTimerTask;


/**
 * @Title: MyBatisUtils.java
 * @Package com.vincent.julie.config
 * @Description: TODO(��һ�仰�������ļ���ʲô)
 * @author Vincent
 * @date 2017��2��18�� ����12:05:35
 * @version V1.0
 */

public class MyBatisUtils {
  private static SqlSessionFactory sqlSessionFactory;
  private static SqlSession sqlSession;
  private static long timeInterval;//上一次運(yùn)行的時(shí)間
  private static TimerTask task =null;

  static {
    String resource = "mybatis.xml";
    Reader reader = null;
    try {
      reader = Resources.getResourceAsReader(resource);
    } catch (IOException e) {
      System.out.println(e.getMessage());

    }
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
  }
  /**
   * 
   * @return
   */
  public static SqlSessionFactory getSqlSessionFactory() {
    return sqlSessionFactory;
  }

  /**
   * ��ȡsqlSession����
   * @return
   */
  public static SqlSession getSqlSession(){
    if (task != null){
       task.cancel(); //將原任務(wù)從隊(duì)列中移除
     }
    task = new EatTimerTask();
    timeInterval = System.currentTimeMillis();
     //間隔�?1小時(shí)
     long period = 1000 * 60 * 60;  
     //測(cè)試時(shí)間每分鐘一�?
     //period = 1000 * 60;    
     Timer timer = new Timer(); 
     timer.schedule(task, timeInterval, period);

    if(sqlSessionFactory == null){
      sqlSessionFactory = MyBatisUtils.getSqlSessionFactory();
    }
    sqlSession = sqlSessionFactory.openSession();
    return sqlSession;
  }


}

這里有個(gè)計(jì)時(shí)器,我發(fā)現(xiàn)Tomcat運(yùn)行一段時(shí)間之后(聽(tīng)說(shuō)是10小時(shí))如果沒(méi)有連接數(shù)據(jù)庫(kù),會(huì)出現(xiàn)異常。。
好,現(xiàn)在來(lái)寫(xiě)UserController.java類,處理客戶端的請(qǐng)求

package com.vincent.lwx.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.vincent.lwx.bean.ServiceStatus;
import com.vincent.lwx.bean.User;
import com.vincent.lwx.db.MyBatisUtils;
import com.vincent.lwx.util.ResponseUtils;

/**  
* @Title: UserControl.java 
* @Package com.vincent.lwx.mapping 
* @Description: TODO(��һ�仰�������ļ���ʲô) 
* @author Vincent  
* @date 2017��3��3�� ����6:28:37 
* @version V1.0  
*/
@Controller
public class UserController {

  private static final Logger logger = LogManager.getLogger(UserController.class);

  /**
   * 注冊(cè)
   * @param phone
   * @param password
   * @param request
   * @param response
   */
  @RequestMapping(value = "register", method = RequestMethod.POST)
  public void registerUser(@RequestParam("phone")String phone,@RequestParam("password")String password,HttpServletRequest request,HttpServletResponse response){
    if(hasUserPhone(phone)){
      //用戶已存在,無(wú)須再次注冊(cè)
      ResponseUtils.renderJsonDataFail(response, ServiceStatus.RUNTIME_EXCEPTION, "該號(hào)碼已被注冊(cè)");
      return;
    }
  }


  /**
   * 根據(jù)手機(jī)號(hào)碼查詢用戶是否存在
   * @param phone
   * @return
   */
  public boolean hasUserPhone(String phone){
    /**sql 語(yǔ)句 完整的包名類名和方法id,*/
    String sql = "com.vincent.lwx.mapping.UserMapping.selectUser";
    SqlSession session = MyBatisUtils.getSqlSession();
    /**返回一個(gè)User對(duì)象*/
    User user = session.selectOne(sql, phone);
    if(user!=null){
      //用戶已存在
      return true;
    }else{
      //用戶不存在
      return false;
    }
  }
}

10、最后一步,讓Tomcat跑起來(lái),好吧,下載Tomcat、點(diǎn)擊下載

這個(gè)版本是Tomcat9.0的

如果不會(huì)部署的話可以看這里的 部署Tomcat

使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境 

11、東西寫(xiě)完了不叫最后一步,最后一步應(yīng)該自己測(cè)試一下,google瀏覽器自帶Postman檢查一下接口的正確性

使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境 

因?yàn)槲业臄?shù)據(jù)庫(kù)我已經(jīng)自己注冊(cè)了,所以提示是正確的,另外附上user表的sql語(yǔ)句:

CREATE DETABASE cool;
//創(chuàng)建數(shù)據(jù)庫(kù)并指定字符編碼集
CREATE DATABASE cool DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

//創(chuàng)建表
create table user(
user_id int(10) not null primary key auto_increment,
phone varchar(11) not null,
password varchar(16) not null,
nickname varchar(36),
head varchar(50),
sex varchar(3),
birthday varchar(10) default '1992-01-01',
live_status varchar(255)
)engine = InnoDB default charset=utf8;

//限制最小id=10000
 alter table user AUTO_INCREMENT=10000;設(shè)置已經(jīng)存在的表的默認(rèn)值
//限制手機(jī)號(hào)碼唯一性
alter table user add unique(phone); 字段值唯一性約束

insert into user(phone,password) values(
'18696855784',
'555555');

以上就是使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享題目:使用SpringMVC和MyBatis框架如何搭建一個(gè)開(kāi)發(fā)環(huán)境
文章源于:http://weahome.cn/article/jcidcd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部