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();