下面是详细的“springboot下使用mybatis的方法”的攻略:
1. 引入依赖
在pom.xml
文件中引入mybatis-spring-boot-starter
依赖,如下:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
同时需要引入相应版本的mysql-connector-java
依赖。
2. 配置application.yml
在application.yml
文件中配置数据库连接信息,示例如下:
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
3. 配置Mybatis
在application.yml
文件中配置Mybatis信息,示例如下:
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.example.entity
其中,mapper-locations
表示mapper文件的位置,type-aliases-package
表示实体类的包名。
4. 创建Mapper
在com.example.mapper
包下创建Mapper接口,示例如下:
@Mapper
public interface UserMapper {
List<User> getAllUsers();
}
其中,@Mapper
注解表示该类是Mybatis的Mapper接口。
5. 编写Mapper对应的XML文件
在resources/mapper
目录下创建对应的mapper xml文件,例如UserMapper.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="com.example.mapper.UserMapper">
<resultMap id="userMap" type="com.example.entity.User">
<id property="id" column="id" />
<result property="name" column="name" />
<result property="age" column="age" />
</resultMap>
<select id="getAllUsers" resultMap="userMap">
SELECT * FROM user;
</select>
</mapper>
其中,namespace
表示Mapper接口的全路径名,resultMap
表示返回结果和实体类之间的映射关系,select
表示查询语句。
6. 测试查询
在测试类中注入UserMapper
,并调用getAllUsers
方法,如下:
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
public void testGetAllUsers() {
List<User> userList = userMapper.getAllUsers();
for (User user : userList) {
System.out.println(user.toString());
}
}
}
运行测试方法,查看输出结果。
以上就是使用Mybatis的完整攻略。
下面给出两个示例:
示例1:使用Mybatis查询单个用户
- 创建
UserMapper
:
@Mapper
public interface UserMapper {
User getUserById(int id);
}
- 在
UserMapper.xml
中添加查询语句:
<select id="getUserById" parameterType="int" resultMap="userMap">
SELECT * FROM user WHERE id=#{id}
</select>
- 测试查询:
@Test
public void testGetUserById() {
User user = userMapper.getUserById(1);
System.out.println(user.toString());
}
示例2:使用Mybatis添加用户
- 创建
UserMapper
:
@Mapper
public interface UserMapper {
void insertUser(User user);
}
- 在
UserMapper.xml
中添加插入语句:
<insert id="insertUser" parameterType="com.example.entity.User">
INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>
- 测试添加:
@Test
public void testInsertUser() {
User user = new User();
user.setName("test");
user.setAge(20);
userMapper.insertUser(user);
}
以上是两个使用Mybatis的示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot下使用mybatis的方法 - Python技术站