Springboot+hibernate+sql service簡単な削除変更操作(注釈開発、前後端分離)を実現
10665 ワード
最近springboot+hibernate+sql serviceの小さなプロジェクトを受け取りました.ここで自分の簡単な実装操作を記録します.
coltroller層:
注記の説明:
Springbootの制御層と前後の相互伝達値はパラメータ注入に依存する:すなわち、バインドパラメータはメソッドにあり、注入パラメータが単一である場合、メソッドに同名を注入するだけでよい
現在の送信値が多い場合:エンティティ・クラスを自分で分割して、レイヤ受信パラメータを制御できます(エンティティ・クラスの変数は、フロントからの受信パラメータと一致する必要があります.パラメータを直接受信できます).たとえば、次のようにします.
少量のパラメータを受け入れる
パラメータを大量に受け入れる場合:
パラメータバインド操作を大幅に簡素化し、操作を容易にする
dao層:
注記:
プロファイル:mapper.xml
プロファイル開発の説明:
最後にプロファイルをmybatisに設定します.xmlで
サービス層:
注記:
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
//