[JAVA]Mybatis注解操作表数据
springboot+mybatis演示
@Insert/@Delete/@Select/@Update
一、依赖
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.25</version>
        </dependency>二、启动类
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(DemoApplication.class);
        app.run(args);
    }
}三、application,yml
spring:
  datasource:
    password: 1579886070
    username: root
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql四、student数据表
CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;五、来一个实体类
public class Student {
    public Student() {
    }
    public Student(Integer id, String name, Integer age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }
    private Integer id;
    private String name;
    private Integer age;
    //get
    //set
}六、service和它的实现类
public interface StudentService {
    int add(Student student);
    boolean deleteById(int id);
    List<Student> selectAll();
    boolean updateStudent(Student s);
}@Service
public class StudentServiceImlp implements StudentService {
    @Autowired
    private StudentMapper studentMapper;
    @Override
    public int add(Student student) {
        return studentMapper.insertStudent(student);
    }
    @Override
    public boolean deleteById(int id) {
        return studentMapper.deleteStudent(id);
    }
    @Override
    public List<Student> selectAll() {
        return studentMapper.selectStudentAll();
    }
    @Override
    public boolean updateStudent(Student s) {
        return studentMapper.update(s);
    }
}七、注入mapper
包含增删改查,类上加了@mapper,则不用再启动类上@MapperScan()
@Mapper
public interface StudentMapper {
    @Insert("insert into student(name,age) values (#{name},#{age})")
    int insertStudent(Student student);
    @Delete("delete from student where id = #{id}")
    boolean deleteStudent(int id);
    @Select("select * from student")
    List<Student> selectStudentAll();
    @Update("update student set name=#{name},age = #{age} where id = #{id}")
    boolean update(Student student);
}八、最后controller
@RestController
@RequestMapping
public class StudentController {
    @Autowired
    private StudentService studentService;
    /**
     * 添加数据
     *
     * @param name
     * @param age
     * @return
     */
    @GetMapping("addStu")
    public Object insertStudent(@Param("name") String name, @Param("age") int age) {
        Student student = new Student(null, name, age);
        int index = studentService.add(student);
        return index;
    }
    /**
     * 根据id删除数据
     *
     * @param id
     * @return
     */
    @GetMapping("delete")
    public Object delete(@Param("id") int id) {
        return studentService.deleteById(id);
    }
    /**
     * 查询所有数据
     *
     * @return
     */
    @GetMapping("select")
    public Object select() {
        return studentService.selectAll();
    }
    /**
     * 修改数据
     *
     * @param id
     * @param name
     * @param age
     * @return
     */
    @GetMapping("update")
    public Object update(int id, String name, int age) {
        Student s = new Student(id, name, age);
        return studentService.updateStudent(s);
    }
}转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xiaoxin1218@qq.com
文章标题:[JAVA]Mybatis注解操作表数据
文章字数:536
本文作者:周信
发布时间:2019-11-21, 22:24:04
最后更新:2023-05-03, 10:25:35
原始链接:http://zx21.xyz/2019/11/21/JAVA-Mybatis注解操作表数据/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。
 
            