-
创建一个与 Mapper 接口同名的 XML 文件(通常位于
resources/mapper
目录下),并添加正确的命名空间(namespace)来指向 Mapper 接口。 -
在 XML 文件中添加一个
<insert>
标签,并将 SQL 语句放在其中。 -
使用
#{propertyName}
语法来引用 Mapper 接口方法参数中的属性。
原Mapper文件为:
package com.example.admin.mapper;
import com.example.admin.pojo.Admin;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface AdminMapper {
@Select("select * from admin")
public List<Admin> list();
@Delete("Delete from admin where id=#{id}")
public int deleteAd(Integer id);
//行内表单查询
@Select("SELECT * FROM admin WHERE username like concat('%',#{username},'%') AND adminType =#{adminType}")
public List<Admin> listSelect(String username,String adminType);
@Insert("insert into admin(username,password,adminType) values(#{username},#{password},#{adminType})")
public int insertAd(Admin admin);
@Select("select * from admin where id=#{id}")
public Admin getById(Integer id);
@Update("update admin set username=#{username},password=#{password},adminType=#{adminType} WHERE id = #{id}")
public boolean update(Admin admin);
}
修改后的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.admin.mapper.AdminMapper">
<!-- 查询所有管理员 -->
<select id="list" resultType="com.example.admin.pojo.Admin">
select * from admin
</select>
<!-- 根据ID删除管理员 -->
<delete id="deleteAd" parameterType="java.lang.Integer">
Delete from admin where id=#{id}
</delete>
<!-- 插入管理员 -->
<insert id="insertAd" parameterType="com.example.admin.pojo.Admin">
insert into admin(username,password,adminType) values(#{username},#{password},#{adminType})
</insert>
<!-- 根据ID获取管理员 -->
<select id="getById" resultType="com.example.admin.pojo.Admin" parameterType="java.lang.Integer">
select * from admin where id=#{id}
</select>
<!-- 更新管理员信息 -->
<update id="update" parameterType="com.example.admin.pojo.Admin">
update admin set username=#{username},password=#{password},adminType=#{adminType} WHERE id = #{id}
</update>
</mapper>
mapper文件为
package com.example.admin.mapper;
import com.example.admin.pojo.Admin;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface AdminMapper {
public List<Admin> list();
public int deleteAd(Integer id);
public List<Admin> listSelect(String username,String adminType);
public int insertAd(Admin admin);
public Admin getById(Integer id);
public boolean update(Admin admin);
}
模糊查询不能直接复制sql需要修改