SpringBoot整合Mybatis

1.创建项目导入依赖



    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    2.1.4



    mysql
    mysql-connector-java
    runtime

2.配置文件

application.properties配置文件中连接数据库

spring.datasource.url=jdbc:mysql://localhost:3306/tedu_ums?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root

application.yml配置文件中连接数据库

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/tedu_ums?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
    username: root
    password: root

3.创建UserMapper接口

在Mybatis01Application启动类所在包下创建子包mapper,并在子包中创建我们的UserMapper接口
SpringBoot整合Mybatis_第1张图片

4.交给spring去管理

把我们的UserMapper交给Spring去管理,通过我们的@Mapper,把我们的接口交给Spring去管理

5.编写sql语句

5.1通过注解方式编写sql

UserMapper接口中写一个抽象方法,并且在方法上通过注解写一个SQL语句

@Mapper
public interface UserMapper {
    @Select("select username from user where id = #{id}")
    String findUsernameById(int id);
}

5.2通过xml方式编写sql

UserMappr.java 接口
@Mapper
public interface UserMapper {
    /**
     * 通过id查找对弈的 User 对象
     * @return
     */
    User findUserById(Integer id);
}
UserMappr.xml 配置文件



    

application.properties 配置文件

mybatis.mapper-locations=classpath:mapper/*.xml

application.properties 配置文件

mybatis:
  mapper-locations: classpath:mapper/*.xml

6.测试

在test包下创建一个测试类,并且在测试类上必须添加一个@SpringBootTest注解,在测试类中写一个测试方法,测试方法上添加一个@Test注解
注入我们UserMapper对象,并调用我们已经写好的UserMapper里的findUsernameById(int id)方法与 findUserById(int id)

@SpringBootTest
public class UserMapperTests {
     @Autowired
     UserMapper userMapper;
     @Test
     void testFindById(){
            String username = userMapper.findUsernameById(1);
            System.out.println(username);
     }

     @Test
     void testFindUserById(){
            User user = userMapper.findUserById(1);
            System.out.println(user);
     }
}

注意事项

在xml配置文件中写sql语句,namespace所对应的UserMapper.java的全路径名,具体方法对应的sql语句中的id为对应的方法名称

你可能感兴趣的:(SpringBoot整合Mybatis)