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


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

    结构图

    pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>2.2.5.RELEASE</version>
    		<relativePath/> <!-- lookup parent from repository -->
    	</parent>
    	<groupId>com.fdd</groupId>
    	<artifactId>mybatis_at</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    	<name>mybatis_at</name>
    	<description>demo project for Spring Boot</description>
    
    	<properties>
    		<java.version>1.8</java.version>
    	</properties>
    
    	<dependencies>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-web</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-web-services</artifactId>
    		</dependency>
    		
    		<dependency>
    			<groupId>mysql</groupId>
    			<artifactId>mysql-connector-java</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.mybatis.spring.boot</groupId>
    			<artifactId>mybatis-spring-boot-starter</artifactId>
    			<version>2.1.1</version>
    		</dependency>		
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-test</artifactId>
    			<scope>test</scope>
    			<exclusions>
    				<exclusion>
    					<groupId>org.junit.vintage</groupId>
    					<artifactId>junit-vintage-engine</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    	</dependencies>
    
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.springframework.boot</groupId>
    				<artifactId>spring-boot-maven-plugin</artifactId>
    			</plugin>
    		</plugins>
    	</build>
    
    </project>
    

    配置属性文件

    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<Person> selectAllPerson();
        
        @Select("select id,name,age from person where id = #{id}")
        List<Person> 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<Person> selectAllPerson();
        
        List<Person> 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<Person> selectAllPerson()
        {
            return personMapper.selectAllPerson();
        }
        
        public List<Person> 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<Person> people = personService.selectAllPerson();
            people.stream().forEach(System.out::println);
            return people.toString();
        }
        
        @RequestMapping(value="/findOne/{id}")
        public List<Person> findOne(@PathVariable int id)
        {
            List<Person> 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);
        }
    
    }
  • 相关阅读:
    斯坦福第十六课:推荐系统(Recommender Systems)
    斯坦福第十五课:异常检测(Anomaly Detection)
    斯坦福第十四课:降维(Dimensionality Reduction)
    斯坦福第十三课:聚类(Clustering)
    斯坦福第十二课:支持向量机(Support Vector Machines)
    斯坦福第十一课:机器学习系统的设计(Machine Learning System Design)
    斯坦福第十课:应用机器学习的建议(Advice for Applying Machine Learning)
    斯坦福第九课:神经网络的学习(Neural Networks: Learning)
    斯坦福第八课:神经网络表述(Neural Networks: Representation)
    斯坦福第七课:正则化(Regularization)
  • 原文地址:https://www.cnblogs.com/lin3615/p/12419205.html
Copyright © 2020-2023  润新知