美文网首页
2.SpringBoot和Mybatis的集成练习

2.SpringBoot和Mybatis的集成练习

作者: 1只念旧的兔子 | 来源:发表于2019-03-21 00:32 被阅读0次

    1.进行多功能模块的建立项目

    • 建立一个spring-boot-mybatis


      1.png
    • entity的course类
    package com.springboot.mybatis.entity;
    
    import lombok.Data;
    
    @Data
    public class Course {
        public Long getCourseId() {
            return courseId;
        }
    
        public void setCourseId(Long courseId) {
            this.courseId = courseId;
        }
    
        public String getCourseName() {
            return courseName;
        }
    
        public void setCourseName(String courseName) {
            this.courseName = courseName;
        }
    
        public Long getUserId() {
            return userId;
        }
    
        public void setUserId(Long userId) {
            this.userId = userId;
        }
    
        public String getCourseClass() {
            return courseClass;
        }
    
        public void setCourseClass(String courseClass) {
            this.courseClass = courseClass;
        }
    
        public String getCover() {
            return cover;
        }
    
        public void setCover(String cover) {
            this.cover = cover;
        }
    
        public String getCourseCode() {
            return courseCode;
        }
    
        public void setCourseCode(String courseCode) {
            this.courseCode = courseCode;
        }
    
        public Short getFinished() {
            return finished;
        }
    
        public void setFinished(Short finished) {
            this.finished = finished;
        }
    
        private Long courseId;
        private String courseName;
        private Long userId;
        private String courseClass;
        private String cover;
        private String courseCode;
        private Short finished;
    }
    
    • CourseMapper类
    
    import com.springboot.mybatis.entity.Course;
    import org.apache.ibatis.annotations.*;
    
    import java.util.List;
    
    public interface CourseMapper {
        @Results({
                @Result(property = "courseId", column = "course_id"),
                @Result(property = "courseName", column = "course_name"),
                @Result(property = "userId", column = "user_id"),
                @Result(property = "courseClass", column = "course_class"),
                @Result(property = "cover", column = "cover"),
                @Result(property = "courseCode", column = "course_code"),
                @Result(property = "finished", column = "finished")
        })
        @Select("SELECT * FROM t_course ")
        List<Course> selectAll();
    
    
        @Results({
                @Result(property = "courseId", column = "course_id"),
                @Result(property = "courseName", column = "course_name"),
                @Result(property = "userId", column = "user_id"),
                @Result(property = "courseClass", column = "course_class"),
                @Result(property = "cover", column = "cover"),
                @Result(property = "courseCode", column = "course_code"),
                @Result(property = "finished", column = "finished")
        })
        @Select("SELECT * FROM t_course WHERE course_id = #{courseId} ")
        Course getOne(Long courseId);
    
        @Delete("DELETE FROM t_course WHERE course_id =#{courseId} ")
        void delete(Long courseId);
    
        @Insert("INSERT INTO t_course(course_name,user_id,course_class,cover,course_code,finished)" +
                " VALUES(#{courseName}, #{userId}, #{courseClass},#{cover},#{courseCode},#{finished}) ")
        void insert(Course course);
    
        @Update("UPDATE t_course SET cover=#{cover},finished=#{finished} WHERE course_id =#{courseId}")
        void update(Course course);
    }
    
    • CourseService类
    
    import com.springboot.mybatis.entity.Course;
    
    import java.util.List;
    
    public interface CourseService {
        List<Course> selectAll();
    
        Course getOne(long courseId);
    
        void delete(long courseId);
    
        void insert(Course course);
    
        void update(Course course);
    }
    
    • RandomUtil类
    package com.springboot.mybatis.util;
    
    import java.util.Random;
    
    /**
     * 随机数工具类
     */
    public class RandomUtil {
        public static String getRandomCode() {
            StringBuffer stringBuffer = new StringBuffer();
            Random random = new Random();
            for (int i = 0; i < 6; i++) {
                //生成[0,bound)的随机整数
                int num = random.nextInt(10);
                //将随机数加入可变长字符串
                stringBuffer.append(num);
            }
            return stringBuffer.toString();
        }
    }
    
    • SpringBootMybatisApplication类
    package com.springboot.mybatis;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    @MapperScan("com.springboot.mybatis.mapper")
    public class SpringBootMybatisApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringBootMybatisApplication.class, args);
        }
    
    }
    
    • CourseServiceImplTest类
    package com.springboot.mybatis;
    
    import com.springboot.mybatis.entity.Course;
    import com.springboot.mybatis.service.CourseService;
    import com.springboot.mybatis.util.RandomUtil;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import javax.annotation.Resource;
    
    import java.util.List;
    
    import static org.junit.Assert.*;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class CourseServiceImplTest {
        @Resource
        private CourseService courseService;
    
        @Test
        public void selectAll() {
            List<Course> courseList = courseService.selectAll();
            courseList.forEach(course -> System.out.println(course));
        }
    
        @Test
        public void getOne() {
            Course course = courseService.getOne(1L);
            System.out.println(course);
        }
    
        @Test
        public void delete() {
            courseService.delete(7L);
        }
    
        @Test
        public void insert() {
            Course course = new Course();
            course.setCourseName("微信小程序开发");
            course.setCourseClass("软件1721");
            course.setUserId(1L);
            course.setCover("1.jpg");
            course.setCourseCode(RandomUtil.getRandomCode());
            course.setFinished((short) 0);
            courseService.insert(course);
        }
    
        @Test
        public void update() {
            Course course = courseService.getOne(2L);
            course.setCover("999.jpg");
            course.setFinished((short) 1);
            courseService.update(course);
        }
    }
    
    • CourseController类
    
    import com.springboot.mybatis.entity.Course;
    import com.springboot.mybatis.service.CourseService;
    import com.springboot.mybatis.util.RandomUtil;
    import org.springframework.web.bind.annotation.*;
    
    import javax.annotation.Resource;
    import java.util.List;
    
    @RestController
    @RequestMapping(value = "/api")
    public class CourseController {
        @Resource
        private CourseService courseService;
    
        /**
         * 查询所有班课
         *
         * @return
         */
        @RequestMapping(value = "/courses", method = RequestMethod.GET)
        public List<Course> selectAll() {
            return courseService.selectAll();
        }
    
        /**
         * 根据id查询班课
         *
         * @param id
         * @return
         */
        @RequestMapping(value = "/course/{id}", method = RequestMethod.GET)
        public Course getOne(@PathVariable("id") long id) {
            return courseService.getOne(id);
        }
    
        /**
         * 根据id删除班课
         *
         * @param id
         */
        @RequestMapping(value = "/course/{id}", method = RequestMethod.DELETE)
        public void deleteCourse(@PathVariable("id") long id) {
            courseService.delete(id);
        }
    
        /**
         * 新增班课
         *
         * @param course
         */
        @RequestMapping(value = "/course", method = RequestMethod.POST)
        public void addCourse(@RequestBody Course course) {
            course.setCourseCode(RandomUtil.getRandomCode());
            courseService.insert(course);
        }
    
        /**
         * 更新班课
         *
         * @param course
         */
        @RequestMapping(value = "/course", method = RequestMethod.PUT)
        public void updateCourse(@RequestBody Course course) {
            courseService.update(course);
        }
    }
    
    • 在postman的运行结果
    post.png 1.png 2.png 3.png 5.png

    相关文章

      网友评论

          本文标题:2.SpringBoot和Mybatis的集成练习

          本文链接:https://www.haomeiwen.com/subject/lnffvqtx.html