mybatis <mapper url=""/> 怎么用
时间: 2023-10-30 14:05:07 浏览: 161
在 MyBatis 中,使用 `<mapper>` 标签可以将 SQL 映射配置文件分为多个模块,使得 SQL 映射文件的组织更加清晰和易于维护。通过 `<mapper>` 标签中的 `url` 属性可以将 SQL 映射配置文件与主配置文件分离,提高了代码的可读性。
使用方式如下:
1. 在主配置文件 `mybatis-config.xml` 中添加 `<mappers>` 标签,并在其中添加 `<mapper>` 标签,例如:
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="UNPOOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis-demo" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper url="mapper/UserMapper.xml"></mapper>
</mappers>
</configuration>
```
2. 在项目中创建 SQL 映射配置文件 `mapper/UserMapper.xml`,并在其中编写 SQL 映射语句,例如:
```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">
<select id="getUserById" resultType="com.example.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
</mapper>
```
3. 在 Java 代码中使用 MyBatis 提供的 API 进行 SQL 执行,例如:
```java
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.getUserById(1);
System.out.println(user);
sqlSession.close();
```
其中,`UserMapper` 是一个接口,其中定义了 SQL 映射语句的方法,例如:
```java
public interface UserMapper {
User getUserById(Integer id);
}
```
这样就可以实现使用 `<mapper>` 标签的 MyBatis 项目了。
阅读全文