SSM框架下實現增加功能


  增加功能作為四大基礎功能之一,肯定難度不高,作為入門級操作,我們還是直接看代碼吧QAQ。

1.Mapper.xml

  首先從xml着手,把相應的sql語句寫好,由於主鍵在數據庫中是自增長,我這里采用的就是下面這個select:

<!-- 新增方法 -->
  <insert id="insertAdminuser" parameterType="dz.entity.Adminuser">
    <selectKey keyProperty="aid" order="AFTER" resultType="java.lang.Integer">
      SELECT LAST_INSERT_ID()
    </selectKey>
    insert into adminuser
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="aid != null">
        aid,
      </if>
      <if test="aname != null">
        aname,
      </if>
      <if test="asex != null">
        asex,
      </if>
      <if test="aphone != null">
        aphone,
      </if>
      <if test="apassword != null">
        apassword,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="aid != null">
        #{aid,jdbcType=INTEGER},
      </if>
      <if test="aname != null">
        #{aname,jdbcType=VARCHAR},
      </if>
      <if test="asex != null">
        #{asex,jdbcType=CHAR},
      </if>
      <if test="aphone != null">
        #{aphone,jdbcType=VARCHAR},
      </if>
      <if test="apassword != null">
        #{apassword,jdbcType=VARCHAR},
      </if>
    </trim>
  </insert>

  當然,在add.jsp中寫了主鍵id也可以,但是有重復主鍵會報錯噠。

2. Mapper.java

public interface AdminuserMapper {
	
    /*新增管理員*/
    int insertAdminuser(Adminuser record);

}

  3. 然后就是DaoI,DaoImp,ServiceI,ServiceImp層

就是過渡一下,但是可以將字符串驗證以及過濾,還有如果有日期格式轉換需要放在daoimp里面。

4.Controller層

package dz.controller;

import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.jws.WebParam.Mode;
import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

import dz.entity.Adminuser;
import dz.entity.User;
import dz.serviceI.AdminuserService;

@RestController
@RequestMapping(value="/adminuser")
public class AdminuserController extends BaseController{
	@Autowired
	private AdminuserService adminuserService;

	public AdminuserService getAdminuserService() {
		return adminuserService;
	}

	public void setAdminuserService(AdminuserService adminuserService) {
		this.adminuserService = adminuserService;
	}
	
	//得到所有的管理員信息
	@RequestMapping(value="/getAll")
	public ModelAndView getAllAdminuser(){
		List<Adminuser> adminusers = adminuserService.getAllAdminuser();
		return new ModelAndView("adminuser/list","adminusers",adminusers);

	//新增管理員
	@RequestMapping(value="/addAdmin")
	private ModelAndView insertAdminuser(Adminuser adminuser) {
		adminuserService.insertAdminuser(adminuser);
                List<Adminuser> adminusers = adminuserService.getAllAdminuser();
		return new ModelAndView("adminuser/list","adminusers",adminusers);
	}
}

  其實這里面的邏輯我是這樣想的:1.在添加好數據后點擊提交。2.執行新增方法。3.然后再獲取一遍所有信息,然后跳轉到主頁面。

最后結果出來了,但是我也覺得這樣子好像有點問題,因為不查詢所有信息跳轉過去主頁面得不到數據。所以,其實用ajax比較好,但是那是另外一個知識點,以后再說吧。

5. add.jsp

<form action="adminuser/addAdmin/" method="post">
		  <div><span>編號:</span><span><input type="text" name="aid" disabled="disabled" value="編號自動生成"></span></div>
		  <div><span>姓名:</span><span><input type="text" name="aname"></span></div>
		  <div><span>性別:</span><span id="myradio">
		    男:<input type="radio" name="asex" value="男">
		    女:<input type="radio" name="asex" value="女"> 
		  </span></div>
		  <div><span>電話:</span><span><input type="text" name="aphone"></span></div>
		  <div><span>密碼:</span><span><input type="text" name="apassword"></span></div>
		  <input type="submit" value="添加">
		  <input type="button" value="取消" onclick="location='page/adminuser/listPage'">
</form>

  我這里直接就禁用了id行的增加,哈哈。

最后在主頁面添加一個新增按鈕(<a href="page/adminuser/add">新增</a>)就行了。

上張效果圖(當然,這是我美化過的):

打賞

免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2021 CODEPRJ.COM