springboot2 和mybatis增删改查.注解版本


参考链接 https://baijiahao.baidu.com/s?id=1653043822915271722

结构图

pom.xml

<?xml version="1.0" encoding="UTF-8"?>

	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		2.2.5.RELEASE
		 
	
	com.fdd
	mybatis_at
	0.0.1-SNAPSHOT
	mybatis_at
	demo project for Spring Boot

	
		1.8
	

	
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.springframework.boot
			spring-boot-starter-web-services
		
		
		
			mysql
			mysql-connector-java
		
		
			org.mybatis.spring.boot
			mybatis-spring-boot-starter
			2.1.1
				

		
			org.springframework.boot
			spring-boot-starter-test
			test
			
				
					org.junit.vintage
					junit-vintage-engine
				
			
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	


配置属性文件

src/main/resources/application.properties

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=

mybatis.type-aliases-package=com.fdd.mybatis.dao

 对应的数据表

CREATE TABLE `person` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `age` int(3) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

  1.编写 dao层

src/main/java/com/fdd/mybatis/dao/Person.java

package com.fdd.mybatis.dao;
public class Person
{
	private int id;
	private String name;
	private int age;
	
	public Person()
	{
		
	}
	public Person(int id,String name,int age)
	{
		this.id = id;
		this.name = name;
		this.age = age;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	public String toString()
	{
		return "person{id="+this.id+",name="+this.name+",age="+this.age+"}";
	}
}

  2.编写业务注解

src/main/java/com/fdd/mybatis/mapper/PersonMapper.java

package com.fdd.mybatis.mapper;

import java.util.List;

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 com.fdd.mybatis.dao.Person;

public interface PersonMapper
{
    @Insert("insert into person(name,age) values(#{name},#{age})")
    int insert(Person person);
    
    @Delete("delete from person where id = #{id}")
    int deleteByPrimaryKey(Integer id);
    
    @Update("update person set name=#{name},age=#{age} where id = #{id}")
    int updateByPrimaryKey(Person person);
    
    @Select("select id,name,age from person")
    List selectAllPerson();
    
    @Select("select id,name,age from person where id = #{id}")
    List selectOne(Integer id);
    

}

3.编写服务层

src/main/java/com/fdd/mybatis/service/PersonService.java

package com.fdd.mybatis.service;

import java.util.List;

import com.fdd.mybatis.dao.Person;

public interface PersonService
{
    int insertPerson(Person person);
    
    int deleteByPersonId(Integer id);
    
    int updateByPersonId(Person record);
    
    
    List selectAllPerson();
    
    List selectOne(Integer id);
    
}

src/main/java/com/fdd/mybatis/service/PersonServiceImpl.java

package com.fdd.mybatis.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fdd.mybatis.dao.Person;
import com.fdd.mybatis.mapper.PersonMapper;

@Service
public class PersonServiceImpl implements PersonService
{
    @Autowired
    private PersonMapper personMapper;
    

    
    @Override
    public int insertPerson(Person person)
    {
        return personMapper.insert(person);
    }
    
    @Override
    public int deleteByPersonId(Integer id)
    {
        return personMapper.deleteByPrimaryKey(id);
    }
    
    public int updateByPersonId(Person person)
    {
        return personMapper.updateByPrimaryKey(person);
    }
    

    
    public List selectAllPerson()
    {
        return personMapper.selectAllPerson();
    }
    
    public List selectOne(Integer id)
    {
        return personMapper.selectOne(id);
    }
}

4.编写请求控制器

src/main/java/com/fdd/mybatis/controller/PersonController.java

package com.fdd.mybatis.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.fdd.mybatis.dao.Person;
import com.fdd.mybatis.service.PersonService;

@RestController
@RequestMapping("person")
public class PersonController
{
    @Autowired
    private PersonService personService;
    
    @RequestMapping(value="/findAll")
    public String findAll()
    {
        List people = personService.selectAllPerson();
        people.stream().forEach(System.out::println);
        return people.toString();
    }
    
    @RequestMapping(value="/findOne/{id}")
    public List findOne(@PathVariable int id)
    {
        List people = personService.selectOne(id);
        return people;
    }
    
    @RequestMapping(value="/deleteData/{id}")
    public int deleteData(@PathVariable int id)
    {
        return personService.deleteByPersonId(id);
    }
    
    @RequestMapping(value="/addData",method = RequestMethod.POST)
    public int addData(@RequestBody Person person)
    {
        Person people = new Person();
        people.setAge(person.getAge());
        people.setName(person.getName());
        return personService.insertPerson(people);
    }
    
    @RequestMapping(value="/updateData",method=RequestMethod.POST)
    public int updateData(@RequestBody Person person)
    {
        
        Person people = new Person();
        people.setAge(person.getAge());
        people.setId(person.getId());
        people.setName(person.getName());
        return personService.updateByPersonId(people);
    }
    

}

5.入口文件添加bean扫描

src/main/java/com/fdd/mybatis/MybatisAtApplication.java

package com.fdd.mybatis;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.fdd.mybatis.mapper")
public class MybatisAtApplication {

    public static void main(String[] args) {
        SpringApplication.run(MybatisAtApplication.class, args);
    }

}