Mapper动态代理4大原则

1:mapper.xml的namespace是接口的全包名
2:接口的方法名是mapper下的sql语句的id名
3:接口的参数是mapper下sql语句的paramentType一致
4:接口的返回值与mapper下的sql语句的resultType一致

定义一个mapper.xml

1
2
3
4
5
6
7
8
9
<?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.mybatis.mapper.userTest">
<!-- 根据id查询得到一个user对象-->
<select id="getUser" parameterType="int"
resultType="user">
select * from userinfo where userid=#{id}
</select>
</mapper>

创建一个接口

1
2
3
4
public interface userTest {
//根据id获取用户信息
public user getUser(int id);
}

在conf.xml中注册mapper

1
<mapper resource="com/mybatis/mapping/userTest.xml" />

测试

1
2
3
4
5
6
7
8
@Test
public void Test1()
{
SqlSession sqlsession=MybatisUtil.getSqlSession();
userTest mapper= (userTest)sqlsession.getMapper(userTest.class);
user user= mapper.getUser(1);
System.out.println(user);
}