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 为对应的办法名称