1.定义的接口的位置要与namespace的名字一样;
2.方法名与返回值类型以及参数一一对应
范例:定义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="cn.zwb.pojo.UserMapper">
<select id="list" resultMap="user" parameterType="cn.zwb.pojo.User">
select * from user
<where>
<if test="age!=null">
age= #{age}
</if>
<if test="name!=null">
name=#{name}
</if>
</where>
</select>
<insert id="add" parameterType="cn.zwb.pojo.User">
insert into user(name,age) value(#{age},#{name})
</insert>
<delete id="delete" >
DELETE FROM user WHERE mid=#{id}
</delete>
<update id="update" parameterType="cn.zwb.pojo.User">
update user set age=#{age},name=#{name} WHERE mid=#{mid}
</update>
<!-- 自定义映射的pojo -->
<resultMap type="cn.zwb.pojo.User" id="user">
<id column="id" property="id"/>
<result column="age" property="age"/>
<result column="name" property="name"/>
</resultMap>
</mapper>
之后定义UserMapper接口;
package cn.zwb.pojo;
import java.util.List;
public interface UserMapper {
List<User> list(User user);
int add(User user);
int update(User user);
int delete(Integer mid);
}
而后在测试文件中调用SqlSessionFactory的getMapper(Class)方法实现增删改查
package cn.zwb.service;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import cn.zwb.dbc.MyBatisSessionFactory;
import cn.zwb.pojo.User;
import cn.zwb.pojo.UserMapper;
public class UserService {
public static void main(String[] args) {
SqlSession ss=MyBatisSessionFactory.getSession();
UserMapper mapper = ss.getMapper(UserMapper.class);
User user = new User();
user.setName("13");
List<User> list=mapper.list(user);
System.out.println(list);
ss.commit();
}
}