Spring Boot2.0之整合Mybatis详解编程语言

 

 

我在写这个教程时候,踩了个坑,一下子折腾到了凌晨两点半。

坑: Spring Boot对于Mysql8.1的驱动支持不好啊

我本地安装的是Mysql8.1版本,在开发时候。pom提示不需要输入驱动版本(因为Spring Boot会自动匹配),毛啊。根本就没有匹配成功。然后我尝试了各种办法。没有解决。

最后安装的mysql5.6版本轻松搞定

废话不多说了,赶紧写完,睡觉觉。

1、创建maven工程,pom:

<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>jdbcTemplate</groupId> 
  <artifactId>com.toov5.jdbc</artifactId> 
  <version>0.0.1-SNAPSHOT</version> 
   
  <parent> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-parent</artifactId> 
        <version>1.3.2.RELEASE</version> 
        <relativePath /> <!-- lookup parent from repository --> 
    </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> 
        <dependency> 
            <groupId>org.mybatis.spring.boot</groupId> 
            <artifactId>mybatis-spring-boot-starter</artifactId> 
            <version>1.1.1</version> 
        </dependency> 
        <dependency> 
            <groupId>mysql</groupId> 
            <artifactId>mysql-connector-java</artifactId> 
             
        </dependency> 
 
        <dependency> 
            <groupId>org.springframework.boot</groupId> 
            <artifactId>spring-boot-starter-web</artifactId> 
        </dependency> 
                 
        <dependency> 
            <groupId>org.projectlombok</groupId> 
            <artifactId>lombok</artifactId> 
            <version>1.16.20</version> 
            <scope>provided</scope> 
        </dependency> 
 
    </dependencies> 
 
</project>

2、application.properties:

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

3、User类代码:

  

package com.toov5.entity; 
 
import lombok.Data; 
 
@Data   
public class User { 
  private Integer age; 
  private String name; 
  private  Integer id; 
     
}

用了lombok插件

4、Mapper代码:

package com.toov5.mapper; 
 
import org.apache.ibatis.annotations.Insert; 
import org.apache.ibatis.annotations.Param; 
import org.apache.ibatis.annotations.Select; 
 
import com.toov5.entity.User; 
 
 
public interface UserMapper { 
     
        @Select("SELECT * FROM USERS WHERE NAME = #{name}") 
        User findByName(@Param("name") String name); 
        @Insert("INSERT INTO USERS(NAME, AGE) VALUES(#{name}, #{age})") 
        int insert(@Param("name") String name, @Param("age") Integer age); 
 
}

这里没有用到 @Mapper注解哦 因为启动类里面有个好东西代替了!请接着往下读

5、service代码

package com.toov5.service; 
 
 
 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Service; 
 
import com.toov5.mapper.UserMapper; 
 
import lombok.extern.slf4j.Slf4j; 
 
@Service 
@Slf4j 
public class UserService { 
  @Autowired 
  private UserMapper userMapper; 
   
  public int insertUser(String name, Integer age){ 
     int result = userMapper.insert(name, age); 
      log.info("####################",result); 
      return result; 
  } 
}

6、Controller代码:

package com.toov5.controller; 
 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 
 
import com.toov5.service.UserService; 
 
@RestController 
public class UserController { 
@Autowired 
private UserService userService; 
@RequestMapping("/insertUser")   
  public Integer insertUser(String name, Integer age){ 
     return userService.insertUser(name, age); 
      
     } 
      
}

7、启动类

package com.toov5.app; 
 
import org.mybatis.spring.annotation.MapperScan; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.context.annotation.ComponentScan; 
 
@ComponentScan(basePackages="com.toov5") 
@MapperScan(basePackages="com.toov5.mapper")  
@SpringBootApplication 
public class app { 
  public static void main(String[] args){ 
      SpringApplication.run(app.class, args); 
  } 
}

这里重点说下:

Spring Boot2.0之整合Mybatis详解编程语言

这个注解,[email protected]

整个项目目录结构:

Spring Boot2.0之整合Mybatis详解编程语言

访问:

Spring Boot2.0之整合Mybatis详解编程语言

 

 查看数据库:

Spring Boot2.0之整合Mybatis详解编程语言

都成功了~~ 是不是很好玩呀

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/16170.html

(0)
上一篇 2021年7月19日 19:05
下一篇 2021年7月19日 19:05

相关推荐

发表回复

登录后才能评论