1.导依赖
<!--导入springboot相关的jar包--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version> </parent>
<!--springMVC的包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--springboot测试包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- spring-boot整合mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <!--导入lombok包--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.8</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> <!--代码生成器--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.2</version> </dependency> <!--模板引擎--> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>cn.bestwu</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.27</version> </dependency> <!-- 主要用于发送http请求--> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.58</version> </dependency> <!--对邮件的支持jar--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>4.2.0</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-web</artifactId> <version>4.2.0</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-annotation</artifactId> <version>4.2.0</version> </dependency> <!--spirngboot springdata对redis支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency> <!--jwttoken--> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.0</version> </dependency> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>RELEASE</version> <scope>compile</scope> </dependency>
2.yml
spring: datasource: url: jdbc:mysql:///west username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver
3.domain
@Data @AllArgsConstructor @NoArgsConstructor @Builder public class Westgo { private Integer id; private String name; private Integer age; private String wugong; private String home; }
4.mapper
public interface WestgoMapper { public List<Westgo> selectAll(); public Westgo selectOne(Integer id); public void add(Westgo westgo); public void delete(Integer id); public void update(Westgo westgo); }
5.service
public interface WestgoService { public List<Westgo> selectAll(); public Westgo selectOne(Integer id); public void add(Westgo westgo); public void delete(Integer id); public void update(Westgo westgo); }
实现类
@Service @Transactional(propagation = Propagation.SUPPORTS,readOnly = true) public class WestgoServiceimpl implements WestgoService { @Autowired private WestgoMapper westgoMapper; @Override public List<Westgo> selectAll() { return westgoMapper.selectAll(); } @Override public Westgo selectOne(Integer id) { return westgoMapper.selectOne(id); } @Override public void add(Westgo westgo) { westgoMapper.add(westgo); } @Override public void delete(Integer id) { westgoMapper.delete(id); } @Override public void update(Westgo westgo) { westgoMapper.update(westgo); } }
6.controller
@RestController @RequestMapping("/westgo") public class WestgoController { @Autowired private WestgoService westgoService; @GetMapping() public List<Westgo>selectAll(){ return westgoService.selectAll(); } @PutMapping public void addOrUpdate(@RequestBody Westgo westgo){ try { if( westgo.getId()!=null) westgoService.update(westgo); else westgoService.add(westgo); } catch (Exception e) { e.printStackTrace(); } } @DeleteMapping(value="/{id}") public void delete(@PathVariable("id")Integer id){ try { westgoService.delete(id); } catch (Exception e) { e.printStackTrace(); } } @GetMapping("/{id}") public Westgo get(@PathVariable("id")Integer id) { return westgoService.selectOne(id); } }
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="cn.itsource.west.mapper.WestgoMapper"> <select id="selectAll" resultType="cn.itsource.west.domain.Westgo"> select * from westgo </select> <select id="selectOne" resultType="cn.itsource.west.domain.Westgo"> select * from westgo where id=#{id} </select> <delete id="delete"> delete from westgo where id = #{id} </delete> <update id="update"> update westgo set name=#{name}, age=#{age}, wugong=#{wugong}, home=#{home} where id = #{id} </update> <insert id="add"> insert into westgo( name, age, wugong, home ) values( #{name}, #{age}, #{wugong}, #{home} ) </insert> </mapper>