SpringBoot (五) :SpringBoot整合mybatis

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012081441/article/details/80691438

说在前面

mybatis刚开始使用的时候比较麻烦,需要各种配置文件、实体类、dao层映射关联、还有一大推其它配置。初期开发了generator可以根据表结果自动生产实体类、配置文件和dao层代码,可以减轻一部分开发量,后期也进行了大量的优化可以使用注解了,自动管理dao层和配置文件等。今天我和大家分享一下mybatis-spring-boot-starter。mybatis-spring-boot-starter就是springboot+mybatis可以完全注解不用配置文件,也可以简单配置轻松上手。

项目结构

这里写图片描述

代码实现

1、pom.xml文件

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.fit</groupId>
  <artifactId>SpringBootMybatis</artifactId>
  <version>0.0.1-SNAPSHOT</version>
    <!-- SpringBoot父类依赖引用 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
    </parent>
    <dependencies>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
         <!-- 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.21</version>
        </dependency>
        <!-- SpringBoot web 组件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

2、application.properties配置文件

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mydb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

3、user实体

public class User {
    private String id;
    private String name;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

4、UserMapper.java

public interface UserMapper {

    @Select("select * from sys_user")
    public List<Map<String, Object>> userList();

    @Select("select * from sys_user")
    public List<User> list();

    @Select("select * from sys_user where id=#{id}")   
    public User getUser(String id);   

    @Insert("insert into sys_user(id, name) VALUES(#{name}, #{name})")
    public int insert(@Param("id") String id, @Param("name") String name);

    @Delete("delete from sys_user where id=#{id}")   
    public int delete(String id); 

    @Update("update sys_user set name=#{name} where id=#{id}")   
    public int update(User user);  

}

5、UserController.java

@Controller
public class UserController {

    @Resource
    private UserMapper userMapper;

    @ResponseBody
    @RequestMapping(value = "userList")
    public List<Map<String, Object>> userList() {
        return userMapper.userList();
    }

    @ResponseBody
    @RequestMapping(value = "list")
    public List<User> list() {
        return userMapper.list();
    }

    @ResponseBody
    @RequestMapping(value = "getUser")
    public User getUser(String id) {
        return userMapper.getUser(id);
    }

    @ResponseBody
    @RequestMapping(value = "insert")
    public int insert(String id, String name) {
        return userMapper.insert(id, name);
    }
    @ResponseBody
    @RequestMapping(value = "delete")
    public int delete(String id) {
        return userMapper.delete(id);
    }
    @ResponseBody
    @RequestMapping(value = "update")
    public int update(User user) {
        return userMapper.update(user);
    }
}

6、App.java

@ComponentScan(basePackages = "com.fit")
@MapperScan(basePackages ="com.fit.mapper")
@SpringBootApplication
public class App {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SpringApplication.run(App.class, args);
    }
}

9、sql脚本

CREATE TABLE `sys_user` (
  `id` varchar(255) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

8、运行访问
这里写图片描述

源码下载

猜你喜欢

转载自blog.csdn.net/u012081441/article/details/80691438