Springboot+hibernate+sql service簡単な削除変更操作(注釈開発、前後端分離)を実現


最近springboot+hibernate+sql serviceの小さなプロジェクトを受け取りました.ここで自分の簡単な実装操作を記録します.
coltroller層:
package springBootOltPriject.olt.coltroller;


import java.util.List;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import springBootOltPriject.olt.service.OltService;
import springBootOltPriject.olt.vo.SpringBootOtl;





@MapperScan("springBootOltPriject.olt.dao")
//@Controller       return   
@RestController
@SpringBootApplication
@ComponentScan("springBootOltPriject.olt.service")
//@RequestMapping("/")
public class CotrollerDemo {
	//  OltService
	@Autowired
	private OltService oltService;
	
	
	
//  id       ===================================================================
	//@GetMapping("/upolt")
	/**
	 * 
	 * @param id
	 * @return
	 */
	
	@RequestMapping(value ="/upolt")
	public SpringBootOtl   getOltMappingById( int  id) {
		System.out.println(id);
		SpringBootOtl springBootOtl=	oltService.getOltMappingById(id);
		return springBootOtl;
	}
							
						////      
						//	
						//	@RequestMapping("/oltEdit")
						//	public ModelAndView  getAll(){
						//		
						//		ModelAndView view = new ModelAndView("oltEdit");
						//		//    
						//		List list=oltService.getAll();
						//		view.addObject("list", list);
						//		return view;
						//	}
	
	

//         ===================================================================
	
	@RequestMapping("/getAll")
	public List  getAll(){
		//    
		List list=oltService.getAll();
		//  
		System.out.println(list.get(0));
		return list;
	}
	
//  id         ==============================================================
	
	//@GetMapping("/delById")
	@RequestMapping(value="/delById")
	public int   delById( int  id){
		//        
		oltService.delById(id);
		
		return 1;
	}
	
//  id      ==================================================================
	//@GetMapping("/upById")
	@RequestMapping(value="/upById")
	public int   upById( int  id, SpringBootOtl springBootOtl ) {
		//    
		oltService.upById(springBootOtl);
		
		return 1;
	}
	
//        ===================================================================
	@RequestMapping("/save")
	public int    save( SpringBootOtl springBootOtl){
		System.out.println(springBootOtl);
		//    
		oltService.save(springBootOtl);
		
		//return "redirect:/login";
		return 1;
	}
	
					//	@RequestMapping("/login")
					//	public  String login(Model model ) {
					//		//    
					//	List list=oltService.getAll();
					//	System.out.println(list.get(0));
					//	model.addAttribute("list", list);
					//		return "oltList1";
					//	}
	
	
}

注記の説明:
@MapperScan("springBootOltPriject.olt.dao")
//    dAO   

@ComponentScan("springBootOltPriject.olt.service")
//    service 


@RestController
//        controller           json     spring    

@RequestMapping("/")
//    controller     

Springbootの制御層と前後の相互伝達値はパラメータ注入に依存する:すなわち、バインドパラメータはメソッドにあり、注入パラメータが単一である場合、メソッドに同名を注入するだけでよい
現在の送信値が多い場合:エンティティ・クラスを自分で分割して、レイヤ受信パラメータを制御できます(エンティティ・クラスの変数は、フロントからの受信パラメータと一致する必要があります.パラメータを直接受信できます).たとえば、次のようにします.
少量のパラメータを受け入れる
	
//  id       ===================================================================
	//@GetMapping("/upolt")
	/**
	 * 
	 * @param id
	 * @return
	 */
	
	@RequestMapping(value ="/upolt")
//        id (         )
	public SpringBootOtl   getOltMappingById( int  id) { 
		System.out.println(id);
		SpringBootOtl springBootOtl=	oltService.getOltMappingById(id);
		return springBootOtl;
	}
	

パラメータを大量に受け入れる場合:
//        ===================================================================
	@RequestMapping("/save")
    //               SpringBootOtl springBootOtl
	public int    save( SpringBootOtl springBootOtl){
		System.out.println(springBootOtl);
		//    
		oltService.save(springBootOtl);
		
		//return "redirect:/login";
		return 1;
	}
	

パラメータバインド操作を大幅に簡素化し、操作を容易にする
dao層:
package springBootOltPriject.olt.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import springBootOltPriject.olt.vo.SpringBootOtl;

@Mapper
public interface OltMapping {
	
	//  id  
	SpringBootOtl getOltMappingById(int id);
	
	//      
	List getAll();
	
	//  id    
	void   delById(Integer id);
	
	//  id    
	 void   upById(SpringBootOtl springBootOtl);
	
	//    
	void save(SpringBootOtl springBootOtl);
	
	
}

注記:
@Mapper

//        dao        

プロファイル:mapper.xml






		
			
			
			
			
			
			
			
			
			
			
			
			
			
		
	


	
	
	

	
	
	

	
	delete  from olt where id=#{id}
	
	
	

	
	UPDATE olt 
	
			
				dev_name = #{dev_name},
			
			
				dev_ip = #{dev_ip},
			
			
				manufacturer = #{manufacturer},
			
			
				modle = #{modle},
			
			
				location = #{location},
			
			
				svlan_cmcc = #{svlan_cmcc},
			
			
				svlan_cucc = #{svlan_cucc},
			
			
				svlan_ct = #{svlan_ct},
			
			
				cvlan_num = #{cvlan_num},
			
			
				note = #{note},
			
			
				create_time = #{create_time},
			
			
				modify_time = getdate(),
			
		
	 WHERE
	  		 id =#{id} 
	
	
	

	
		insert into olt 
		(dev_name,dev_ip,manufacturer,modle,location,svlan_cmcc,svlan_cucc,svlan_ct,cvlan_num,note,create_time,modify_time)
		 values
		 (#{dev_name},#{dev_ip},#{manufacturer},#{modle},#{location},
		 #{svlan_cmcc},#{svlan_cucc},#{svlan_ct},#{cvlan_num},#{note},
		 #{create_time},#{modify_time})
	
	
	

プロファイル開発の説明:

	

/*      

最後にプロファイルをmybatisに設定します.xmlで
 
 
サービス層:
package springBootOltPriject.olt.service;

import java.sql.Timestamp;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import springBootOltPriject.olt.dao.OltMapping;
import springBootOltPriject.olt.vo.SpringBootOtl;

@Service("oltService")
public class OltService {
  //  dao 
	@Autowired
	private  OltMapping oltMapping;
	
	
	//  id    
		
		public SpringBootOtl getOltMappingById(int id){
			SpringBootOtl springBootOtl=oltMapping.getOltMappingById(id);
			
			return springBootOtl;
		}

		//     
		
		public void upById(SpringBootOtl springBootOtl){
			Timestamp d = new Timestamp(System.currentTimeMillis()); 
			springBootOtl.setModify_time(d);
			  oltMapping.upById(springBootOtl);
			
		}

		//    
		
		public void delById(int id){
			
			oltMapping.delById(id);
			
		}

		//    
		//@Options(useGeneratedKeys= true)     
		//@Options(useGeneratedKeys= true,keyProperty="id")
		
		public void  save(SpringBootOtl springBootOtl){
			/*SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			String  string=simpleDateFormat.format(new Date());*/
			Timestamp d = new Timestamp(System.currentTimeMillis()); 
			
			//      
				//SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");
			//      
				//String time = df.format(new Date()); 
			//        
				//Timestamp ts = Timestamp.valueOf(time);   
			springBootOtl.setCreate_time(d);
			oltMapping.save(springBootOtl);
		}
		//      
		
		public List getAll() {
			List list = oltMapping.getAll();
			if(list!=null &&list.size()>0) {
				return list;
			}
			return null;
		}
}

注記:
@Service

//