首页 > 其他分享 >SSM整合(功能模块开发)

SSM整合(功能模块开发)

时间:2023-07-17 17:25:21浏览次数:35  
标签:功能模块 return Book id SSM book 整合 import public

package com.itheima.domain;

public class Book {
    private Integer id;
    private String type;
    private String name;
    private String description;

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", type='" + type + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                '}';
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }
}
BookDao
package com.itheima.dao;

import com.itheima.domain.Book;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface BookDao {

    //这两种方法都可以使用
    //表后面跟的是字段名称,values后面跟的是Book里的属性名
//    @Insert("insert into tbl_book values (null, #{type}, #{name}, #{description})")
    @Insert("insert into tbl_book (type, name, description) values (#{type},#{name}#{description})")
    public void save(Book book);

    @Update("update tbl_book set type = #{type},name = #{name},description = #{description} where id = #{id}")
    public void update(Book book);

    @Delete("delete from tbl_book where id = #{id}")
    public void delete(Integer id);

    @Select("select * from tbl_book where id = #{id}")
    public Book getById(Integer id);

    @Select("select * from tbl_book")
    public List<Book> getAll();
}
BookService
package com.itheima.service;

import com.itheima.domain.Book;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface BookService {

    /**
     * 保存
     * @param book
     * @return
     */
    public boolean save(Book book);

    /**
     * 修改
     * @param book
     * @return
     */
    public boolean update(Book book);

    /**
     * 根据id删除
     * @param id
     * @return
     */
    public boolean delete(Integer id);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    public Book getById(Integer id);

    /**
     * 查询所有
     * @return
     */
    public List<Book> getAll();
}
BookServiceImpl
package com.itheima.service.impl;

import com.itheima.dao.BookDao;
import com.itheima.domain.Book;
import com.itheima.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service//配置bean
public class BookServiceImpl implements BookService{
   @Autowired//自动装配
   private BookDao bookDao;

    @Override
    public boolean save(Book book) {
        bookDao.save(book);
        return true;
    }

    @Override
    public boolean update(Book book) {
        bookDao.update(book);
        return true;
    }

    @Override
    public boolean delete(Integer id) {
        bookDao.delete(id);
        return true;
    }

    @Override
    public Book getById(Integer id) {
        return bookDao.getById(id);
    }

    @Override
    public List<Book> getAll() {
        return bookDao.getAll();
    }
}
BookController
package com.itheima.controller;


import com.itheima.domain.Book;
import com.itheima.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/books")
public class BookController {
    /**
     * @RequestParam 用于接收url地址传参或者表单传参
     * @RequestBody 用于接收json数据
     * @PathVariable 用于接收路径参数,使用{参数名称}描述路径参数
     *
     * 应用
     * 后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBody应用较广
     * 如果发送非json格式数据,选用@RequestParam接收请求参数
     * 采用RESTful进行开发,当参数较少时,例如1个,可以采用@PathVariable接收请求路径变量,通常用于传递id值
     */

    @Autowired
    private BookService bookService;

    @PostMapping
    public boolean save(@RequestBody Book book) {
        return bookService.save(book);
    }

   @PutMapping
    public boolean update(@RequestBody Book book) {
        return bookService.update(book);
    }

    @DeleteMapping("/{id}")
    public boolean delete(@PathVariable Integer id) {
        return bookService.delete(id);
    }

    @GetMapping("/{id}")
    public Book getById(@PathVariable Integer id) {
        return bookService.getById(id);
    }

    @GetMapping
    public List<Book> getAll() {
        return bookService.getAll();
    }
}

 

标签:功能模块,return,Book,id,SSM,book,整合,import,public
From: https://www.cnblogs.com/Karl-hut/p/17560656.html

相关文章

  • springboot相较之前ssm有什么区别和优势
    1、快速可搭建的脚手架,少量配置,约定优于配置,不用像ssm那样增加复杂的配置文件2、这种方式使程序员更加集中于业务代码的编写,而不用关注部署和容器配置的问题3、约定优于配置也不是任何场景都适用,主要还是免去了servlet的配置4、内置tomcat直接启动......
  • Spring 整合Redis
    1.配置application.ymlspring:application:name:meter-highwayprofiles:active:druid,mongodb,dubbo,rabbitmq,redisapplication-redis.ymlspring:redis:database:9host:192.168.13.146port:6379password:Luban376timeout:20002.依赖<dependency>......
  • 超详细整合SSM框架--(Spring + Spring MVC + MyBatis)
    超详细整合SSM框架--(Spring+SpringMVC+MyBatis)阅读该文章之前首先要清楚Spring框架,SpringMVC框架,Mybatis框架。SSM框架,是Spring+SpringMVC+MyBatis的缩写,这个是继SSH之后,目前比较主流的JavaEE企业级框架,适用于搭建各种大型的企业级应用系统。SpringMVC框架:MVC简......
  • 会声会影2023旗舰版Corel VideoStudio Ultimate 2023 V26.0.0.136整合盘版本
    会声会影2023旗舰版CorelVideoStudioUltimate2023V26.0.0.136整合盘版本是一款有趣且直观的视频编辑器,包含高级工具和高级效果,智能功能和最佳性能的高级视频编辑软件,将您最美好的时刻和生活体验变成令人惊叹的电影。会声会影2023下载地址:https://souurl.cn/kdsHII会声会影2022......
  • SpringBoot中整合Sharding Sphere实现数据加解密/数据脱敏/数据库密文,查询明文
    场景为防止数据泄露,需要在插入等操作时将某表的字段在数据库中加密存储,在需要查询使用时明文显示。ShardingSphereShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。......
  • SpringBoot整合mybatis(plus)单表查询和多表查询
    SpringBoot整合mybatis(plus)单表查询和多表查询前言mybatis是springboot常用的操作数据库的框架,能够大大简化数据库操作,其可以进行xml配置开发,也可以进行注解开发。虽然现在有mybatis-plus,功能很强大,但也只是简化了单表操作,多表操作甚是麻烦。小型项目怎么用都可以,但是对于大型项......
  • springboot整合kafka
    一、引入依赖(kafka的版本和springboot的版本对不上的话,启动会报错,包类不存在)<dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>2.5.1.RELEASE</version></de......
  • springboot - 整合flyway
    一、概念官网:https://flywaydb.org/数据库版本控制管理工具,通过集成Flyway可以实现启动项目时自动执行项目迭代升级。Flyway已经支持数据库包括:Oracle,SQLServer,SQLAzure,DB2,DB2z/OS,MySQL(includingAmazonRDS),MariaDB,GoogleCloudSQL,PostgreSQL(includ......
  • jwt整合
    1.token问题目前方案是将token作为key,将登录的信息作为值存入到redis里面。2.使用jwt加入jwt之后就可以把redis去掉2.1.添加依赖2.2.创建工具类2.2.1.有效期30分钟2.2.2.令牌密钥暂时设置为1234562.2.3.创建jwt方法2.2.4.解析jwt方法......
  • springboot 自定义整合caffeine 本地缓存
    1、自定义缓存配置类@Data@ConfigurationProperties(prefix="page.cache")publicclassPageCacheProperties{privateCaffeineConfigPropertiescaffeine=newCaffeineConfigProperties();//本地缓存配置privatePageCacheAsyncExecutorConfigpool=newP......