整体项目链接地址:
StringBoot+Mybatis的增删改查(一)
StringBoot+Mybatis的增删改查(二)
StringBoot+Mybatis的增删改查(三)
StringBoot+Mybatis的增删改查(四)
StringBoot+Mybatis的增删改查(五)
五、数据项操作
1、Controller(DetailController.java)
package com.xxx.controller;
import com.xxx.entity.Detail;
import com.xxx.service.DetailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Controller
public class DetailController {
@Autowired
DetailService detailService;
/**
* 查询detail表中指定信息
* @param detailName
* @param model
* @return
*/
@RequestMapping("/show_detail1")
public String to_show(String detailName,Model model){
List<Detail> detail=detailService.getAll(detailName);
model.addAttribute("detail", detail);
return "show_detail";
}
/**
* 根据ID删除数据库中信息
* @param id
* @return
*/
@GetMapping("/deleteDetailById")
public String to_delete(int id){
detailService.deleteDetailById(id);
return "redirect:/show";
}
/**
* 跳转到detail添加页面
* @return
*/
@GetMapping("/insertDetail1")
public String insertDetail(){
return "insert_detail";
}
/**
* 增加一条数据
* @param detail
* @return
*/
@GetMapping("/insertDetail")
public String to_insert(Detail detail){
detailService.insertDetail(detail);
return "redirect:/show";
}
/**
* 根据ID查询其中一条数据
* @param id
* @param model
* @return
*/
@GetMapping("/getDetailById")
public String to_getDetailById(int id,Model model) {
Detail detail=detailService.getDetailById(id);
model.addAttribute("detail",detail);
return "update_detail";
}
/**
* 改变数据库中一条数据
* @param detail
* @return
*/
@GetMapping ("/updateDetailById")
public String to_update(Detail detail){
detailService.updateDetailById(detail.id,detail.did,detail.d_name,detail.d_state,detail.d_order);
return "redirect:/show";
}
}
2、entity(Detail.java)
package com.xxx.entity;
public class Detail {
/*
零件属性
*/
public int id;
public int did;
public String d_name;
public String d_state;
public String d_order;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getDid() {
return did;
}
public void setDid(int did) {
this.did = did;
}
public String getD_name() {
return d_name;
}
public void setD_name(String d_name) {
this.d_name = d_name;
}
public String getD_state() {
return d_state;
}
public void setD_state(String d_state) {
this.d_state = d_state;
}
public String getD_order() {
return d_order;
}
public void setD_order(String d_order) {
this.d_order = d_order;
}
}
3、mapper(DetailMapper.java)
注意:DetailMapper是接口
package com.xxx.mapper;
import com.xxx.entity.Detail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface DetailMapper {
/**
* 查询detail表中指定信息
* @param detailName
* @return
*/
List<Detail> getAll(@Param("detailName") String detailName);
/**
* 根据ID查询其中一条数据
* @param id
* @return
*/
Detail getDetailById(int id);
/**
* 根据ID删除数据库中信息
* @param id
* @return
*/
boolean deleteDetailById(int id);
/**
* 增加一条数据
* @param detail
* @return
*/
boolean insertDetail(Detail detail);
/**
* 改变数据库中一条数据
* @param id
* @param did
* @param d_name
* @param d_state
* @param d_order
* @return
*/
boolean updateDetailById(@Param("id") int id,@Param("did") int did,@Param("d_name") String d_name,@Param("d_state") String d_state,@Param("d_order") String d_order);
}
4、server(DetailServer.java)
package com.xxx.service;
import com.xxx.mapper.DetailMapper;
import com.xxx.entity.Detail;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class DetailService {
@Autowired
DetailMapper detailMapper;
/**
* 查询数据库中所有信息
* @param detailName
* @return
*/
public List<Detail> getAll(String detailName){
return detailMapper.getAll(detailName);
}
/**
* 根据ID查询其中一条数据
* @param id
* @return
*/
public Detail getDetailById(int id){
return detailMapper.getDetailById(id);
}
/**
* 根据ID删除数据库中信息
* @param id
* @return
*/
public boolean deleteDetailById(int id){
// 用于判断sql语句是否执行
boolean flag = false;
try{
detailMapper.deleteDetailById(id);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
/**
* 增加一条数据
* @param detail
* @return
*/
public boolean insertDetail(Detail detail){
boolean flag = false;
try {
detailMapper.insertDetail(detail);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
/**
* 改变数据库中一条数据
* @param id
* @param did
* @param d_name
* @param d_state
* @param d_order
* @return
*/
public boolean updateDetailById(int id,int did,String d_name,String d_state,String d_order){
boolean flag = false;
try {
detailMapper.updateDetailById(id,did,d_name,d_state,d_order);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
}
5、mybatis(DetailMapper.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxx.mapper.DetailMapper">
<!--getAll 查询所有数据-->
<select id="getAll" resultType="com.xxx.entity.Detail" parameterType="java.lang.String">
select *
from detail
where d_name like '%${detailName}'
</select>
<!--getPartById 根据ID查询数据-->
<select id="getDetailById" resultType="com.xxx.entity.Detail">
select *
from detail
where id=#{id}
</select>
<!--deleteById 根据ID删除一条数据-->
<delete id="deleteDetailById" parameterType="com.xxx.entity.Detail">
delete from detail
where id = #{id}
</delete>
<!--insert 增加一条数据-->
<insert id="insertDetail" parameterType="com.xxx.entity.Detail">
insert into detail(did,d_name,d_state,d_order)
values(#{did},#{d_name},#{d_state},#{d_order})
</insert>
<!--update 根据ID改变一条数据-->
<update id="updateDetailById" parameterType="com.xxx.entity.Detail">
update detail
<set>
<if test="did != null">
did = #{did},
</if>
<if test="d_name != null">
d_name = #{d_name},
</if>
<if test="d_state != null">
d_state = #{d_state},
</if>
<if test="d_order != null">
d_order = #{d_order}
</if>
</set>
where id =#{id}
</update>
</mapper>
后续在我Java专栏里。