java - spring boot 引入 mybatis

1. 无配置文件注解版

在引入 mybatis 之前,确保 spring boot 能正常使用

  • 1.添加依赖


    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    ${mybatis-spring-boot}



    mysql
    mysql-connector-java
    ${mysql-connector}

    1. 在 application.properties 文件中配置数据库
## 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/endorse
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  • 3.定义和使用 sql 语句构建 dao
@Mapper
@Repository
public interface BannerDao  {

    @Select("SELECT * FROM banner")
    List findBanner(); // Banner 只是个简单的 domain 省略代码

}
  • 4.在 controller 中使用
@RestController
public class BannerController {

    @Autowired
    BannerDao bannerDao;

    @RequestMapping(value = "/banner", method = RequestMethod.GET)
    public List getBannerInfo() {
        List banner = bannerDao.findBanner();
        System.out.println(banner);
        return banner;
    }

}
    1. 测试
      输入 http://localhost:8080/banner 得到如下结果
java - spring boot 引入 mybatis_第1张图片
Paste_Image.png

在 dao 中不加 @Repository 在类名上会报如下错误,加上就可以了

java - spring boot 引入 mybatis_第2张图片
Paste_Image.png

具体原因可以看 这里

2. 极简 xml 版本

    1. 首先在 .properties 文件中指定配置
    mybatis.config-locations=classpath:mybatis/mybatis-config.xml
    mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
    mybatis.type-aliases-package=com.xiaocai.endorse.domain
    
java - spring boot 引入 mybatis_第3张图片
image.png
    1. 设置基本配置
    
    
    
        
            
            
            
            
            
            
        
    
    
java - spring boot 引入 mybatis_第4张图片
image.png
    1. 添加映射文件
      这里就举个最简单的例子:
    
    
    
    
    
        
            INSERT INTO
            users
            (phone,userName,PASSWORD,userSex)
            VALUES
            (#{phone},#{userName}, #{passWord}, #{userSex})
        
    
    
    
    
    java - spring boot 引入 mybatis_第5张图片
    image.png
    1. 在对应的 java 类中
    @Repository
    public interface UserMapper {
        Long insert(UserEntity user);
    }
    
java - spring boot 引入 mybatis_第6张图片
image.png

需要注意方法名要与 mapper 中的 id 一样。

    1. 在 Controller 中使用
    @RestController
    public class UserController {
    
        @Autowired
        UserMapper userMapper;
    
        @RequestMapping("/insertUser")
        public String insertUser(UserEntity userEntity) {
            Long insert = userMapper.insert(userEntity);
    
            if (insert != null && insert > 0) {
                return JsonHelper.success(insert);
            } else {
                return JsonHelper.error(1, "插入失败");
            }
        }
    }
    

你可能感兴趣的:(java - spring boot 引入 mybatis)