1、定义dao的接口
public interface Usermapper {
//根据id查询用户信息
public User getUserById(int id);
//插入用户信息
public void insertUser(User user);
}
2、定义mapper的配置文件(不要忘记在SqlMapConfig.xml加载这个配置文件)
<mapper namespace="mybatis.mapper.Usermapper">
<select id="getUserById" parameterType="int" resultType="mybatis.domain.User">
select * from user where id=#{id}
</select>
<!-- 添加用户 -->
<insert id="insertUser" parameterType="mybatis.domain.User">
insert into user(username,birthday,sex,address)
VALUES(#{username},#{birthday},#{sex},#{address})
</insert>
</mapper>
在SqlMapConfig.xml中加载上述文件
<mappers>
<mapper resource="Usermapper.xml"/>
</mappers>
重点强调四个规范:
(1)namespace ======== 接口的类路径名称一致
(2)sql语句的id ======== 接口中方法的名称保持一致
(3)parameterType ======接口中方法的输入参数类型一致
(4)resultType =========接口中方法的返回值类型保持一致
3、编写单元测试
(1)加载核心配置文件
(2)创建sqlSessionFactory
(3)创建sqlSession
(4)获取代理对象(UserMapper接口的代理对象)---------和原来不一样的地方
(5)调用接口代理对象的方法
(6)关闭sqlSession
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
//获取代理对象(UserMapper接口的代理对象)
Usermapper userMapper = sqlSession.getMapper(Usermapper.class);
User user = userMapper.getUserById(31);
System.out.println(user);
sqlSession.close();