java入门016~springboot2结合mybatis,免xml配置

我们上一节给大家讲了springboot2结合mybatis实现mysql数据的增删改查,但是是要用到xml配置的,一旦涉及到xml配置,就会比较麻烦。今天再来给大家讲一个新的方法,不用设置xml文件,并且代码看起来更简洁。

一,引入mybatis和数据库连接的依赖

java入门016~springboot2结合mybatis,免xml配置_第1张图片

完整的pom.xml贴出来给大家



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.6.RELEASE
         
    
    com.shitou
    mybatis
    0.0.1-SNAPSHOT
    mybatis
    Demo project for Spring Boot

    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            LATEST
        
        
        
            mysql
            mysql-connector-java
            runtime
        
    

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


二,配置数据库连接

java入门016~springboot2结合mybatis,免xml配置_第2张图片

这里我的数据库是用的mysql数据库,使用的是test2库。

三,建库建表

创建test2数据库

create database test2 default character set utf8 collate utf8_general_ci;

创建user2数据表

CREATE TABLE user2(
    id   int(32) auto_increment   NOT NULL PRIMARY KEY,
    name VARCHAR(32) comment '姓名' NOT NULL,
    age  VARCHAR(32) comment '年纪' NOT NULL
) COMMENT '用户表' CHARACTER SET utf8 COLLATE utf8_general_ci;

四,创建与数据表对应的实体类

java入门016~springboot2结合mybatis,免xml配置_第3张图片

五,创建操作数据库的mapper

java入门016~springboot2结合mybatis,免xml配置_第4张图片

代码给大家贴出来

@Mapper
public interface User2Mapper {
    @Insert("insert into user2(name, age) values(#{name}, #{age})")
    int add(@Param("name") String name, @Param("age") int age);

    @Update("update user2 set name = #{name}, age = #{age} where id = #{id}")
    int update(@Param("name") String name, @Param("age") int age, @Param("id") int id);

    @Delete("delete from user2 where id = #{id}")
    int delete(int id);

    @Select("select id, name as name, age as age from user2 where id = #{id}")
    User2 findOne(@Param("id") int id);

    @Select("select * from user2")
    List findAll();
}

六,创建service和controller

service代码如下

@Service
public class User2Service {

    @Resource
    private User2Mapper accountMapper;

    public int add(String name, int age) {
        return accountMapper.add(name, age);
    }

    public int update(String name, int age, int id) {
        return accountMapper.update(name, age, id);
    }

    public int delete(int id) {
        return accountMapper.delete(id);
    }

    public User2 findAccount(int id) {
        return accountMapper.findOne(id);
    }

    public List findAccountList() {
        return accountMapper.findAll();
    }
}

controller代码如下

@RestController
@RequestMapping("/mybatis")
public class User2Controller {

    @Resource
    User2Service accountService;

    @GetMapping("/list")
    public List getAccounts() {
        return accountService.findAccountList();
    }

    @GetMapping("/findone")
    public User2 getAccountById(@RequestParam("id") int id) {
        return accountService.findAccount(id);
    }

    @GetMapping("/update")
    public String updateAccount(@RequestParam("id") int id,
                                @RequestParam(value = "name") String name,
                                @RequestParam(value = "age") int age) {
        int t = accountService.update(name, age, id);
        if (t == 1) {
            return "success";
        } else {
            return "fail";
        }

    }

    @GetMapping("/delete")
    public String delete(@RequestParam(value = "id") int id) {
        int t = accountService.delete(id);
        if (t == 1) {
            return "success";
        } else {
            return "fail";
        }

    }

    @GetMapping("/add")
    public String postAccount(@RequestParam(value = "name") String name,
                              @RequestParam(value = "age") int age) {
        int t = accountService.add(name, age);
        if (t == 1) {
            return "success";
        } else {
            return "fail";
        }
    }
}

七,启动项目,做验证

启动springboot项目


java入门016~springboot2结合mybatis,免xml配置_第5张图片

添加数据。如下图,我们通过add添加两个数据


java入门016~springboot2结合mybatis,免xml配置_第6张图片
java入门016~springboot2结合mybatis,免xml配置_第7张图片

通过list 查询所有数据


java入门016~springboot2结合mybatis,免xml配置_第8张图片

更新和删除数据,就不给大家演示了。

源码:

https://github.com/qiushi123/springboot-demos

视频讲解

https://edu.csdn.net/course/detail/23443

往期回顾

  • java入门001--IntelliJ IDEA 配置阿里云Maven国内仓库(含idea下载及破解教程)

  • java入门002~jdk8 window版32位 64位 Mac版64位安装包

  • java入门003~手把手教你开发自己的第一个java项目(基于springboot2.1.5)

  • java入门004~五分钟教你用java开发一个小程序后台服务器~看完你也会

  • java入门005~springboot实现单个文件上传(图片 文档 视频 音频都可以上传)

  • java入门006~springboot实现多文件的上传(java多文件的上传)

  • java入门013~java异常的捕获~springboot通过@ControllerAdvice和@ExceptionHandler来捕获异常
  • java入门014~springboot自定义错误页面 并重定向到首页
  • java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查
  • java入门016~springboot2结合mybatis,免xml配置
  • java入门017~springboot创建多Moudle多模块的java项目

你可能感兴趣的:(java入门016~springboot2结合mybatis,免xml配置)