乐趣区

关于java:SpringBoot整合Mybatis

1. 创立我的项目导入依赖

<!--mybatis-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.4</version>
</dependency>
<!--mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

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

3. 创立 UserMapper 接口

在 Mybatis01Application 启动类所在包下创立子包 mapper, 并在子包中创立咱们的 UserMapper 接口

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 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.tedu.mybatis01.mapper.UserMapper">
    <select id="findUserById" resultType="cn.tedu.mybatis01.entity.User">
        select * from t_user where id = #{id}
    </select>
</mapper>
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 为对应的办法名称

退出移动版