StringBoot+Mybatis的增删改查(三)

整体项目链接地址:

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专栏里。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻猴儿

小编,多谢客官留下的赏钱。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值