dao与xml绑定问题
时间: 2024-01-28 16:05:39 浏览: 48
DAO与XML绑定是指将DAO接口的方法与MyBatis XML文件中的SQL语句进行绑定,从而实现数据库操作。具体步骤如下:
1. 编写DAO接口,定义数据库操作方法,例如:
```
public interface UserDao {
User getUserById(int id);
List<User> getAllUsers();
void insertUser(User user);
void updateUser(User user);
void deleteUser(int id);
}
```
2. 在MyBatis XML文件中编写SQL语句,例如:
```
<select id="getUserById" parameterType="int" resultType="User">
select * from user where id = #{id}
</select>
<select id="getAllUsers" resultType="User">
select * from user
</select>
<insert id="insertUser" parameterType="User">
insert into user(name, age) values(#{name}, #{age})
</insert>
<update id="updateUser" parameterType="User">
update user set name=#{name}, age=#{age} where id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
```
3. 在DAO接口的方法上添加注解,指定SQL语句的ID,例如:
```
@Select("getUserById")
User getUserById(int id);
@Select("getAllUsers")
List<User> getAllUsers();
@Insert("insertUser")
void insertUser(User user);
@Update("updateUser")
void updateUser(User user);
@Delete("deleteUser")
void deleteUser(int id);
```
或者使用XML配置文件进行绑定,例如:
```
<mapper namespace="com.example.dao.UserDao">
<select id="getUserById" parameterType="int" resultType="User">
select * from user where id = #{id}
</select>
<select id="getAllUsers" resultType="User">
select * from user
</select>
<insert id="insertUser" parameterType="User">
insert into user(name, age) values(#{name}, #{age})
</insert>
<update id="updateUser" parameterType="User">
update user set name=#{name}, age=#{age} where id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>
```
然后在DAO接口中使用@Mapper注解指定该接口对应的XML文件,例如:
```
@Mapper
public interface UserDao {
User getUserById(int id);
List<User> getAllUsers();
void insertUser(User user);
void updateUser(User user);
void deleteUser(int id);
}
```