Dao层中创建了接口之后 然后又创建Mapper.xml配置文件有什么用?
时间: 2024-04-12 11:33:02 浏览: 8
在Dao层中创建接口是为了定义数据访问的操作方法,而Mapper.xml配置文件则是用来实现这些接口方法的体SQL语句。
Mapper.xml配置文件的作用如下:
1. SQL语句的存放:Mapper.xml文件中可以编写SQL语句,包括查询、插入、更新、删除等操作。这些SQL语句可以通过调用接口方法来执行,从而实现对数据库的操作。
2. 参数映射:Mapper.xml文件中可以定义SQL语句的参数映射,将Java对象的属性与SQL语句中的参数进行对应。这样,在调用接口方法时,可以将Java对象作为参数传入,Mapper.xml文件会将对象的属性值自动映射到SQL语句中。
3. 结果映射:Mapper.xml文件中可以定义SQL语句的结果映射,将查询结果与Java对象进行关联。通过配置结果映射,可以将查询结果自动映射到Java对象中,简化了数据的处理和转换过程。
4. SQL语句的复用:Mapper.xml文件中的SQL语句可以被多个接口方法共享和复用。通过在Mapper.xml文件中定义SQL语句,可以避免在每个接口方法中都写重复的SQL代码,提高代码的重用性和维护性。
总结起来,Mapper.xml配置文件的作用是将接口方法与具体的SQL语句进行关联,实现了数据访问层的解耦和灵活性。它是一种常用的将Java与数据库操作进行对接的方式。
相关问题
mapper.xml怎么创建
创建mapper.xml文件的步骤如下:
1. 在项目的resources目录下新建一个mapper目录。
2. 在mapper目录下创建一个与对应的DAO接口同名的xml文件,例如UserMapper.xml。
3. 在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.dao.UserMapper">
<!-- 查询所有用户 -->
<select id="getAllUsers" resultType="com.example.entity.User">
SELECT * FROM user
</select>
<!-- 根据id查询用户 -->
<select id="getUserById" resultType="com.example.entity.User" parameterType="int">
SELECT * FROM user WHERE id = #{id}
</select>
<!-- 插入一个用户 -->
<insert id="insertUser" parameterType="com.example.entity.User">
INSERT INTO user(username, password) VALUES(#{username}, #{password})
</insert>
<!-- 更新一个用户 -->
<update id="updateUser" parameterType="com.example.entity.User">
UPDATE user SET username = #{username}, password = #{password} WHERE id = #{id}
</update>
<!-- 删除一个用户 -->
<delete id="deleteUser" parameterType="int">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>
```
4. 在Mybatis的配置文件中添加对应的mapper路径,例如:
```xml
<configuration>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
```
这样就完成了mapper.xml文件的创建。
mapper.xml配置头文件
这个问题属于技术问题,我可以回答。在mapper.xml文件中,通常需要引入mybatis的命名空间,可以在头文件中添加以下代码:
```
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
```
同时,还需要引入对应的Java类,可以使用以下代码:
```
<mapper namespace="com.example.dao.UserDao">
```
其中,com.example.dao.UserDao是对应的Java类的全限定名。