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
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接口
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
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为对应的方法名称
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。