Mybatis的dao层实现--代理开发方式

1.编写 UserMapper接口的命名要求

  • mapper标签的namespace属性为接口的全包名;
  • 增删改查语句的id为接口的抽象方法名;
  • 传参类型和结果类型对应一致。

2.UserMapper接口编写

package dao;

import domain.User;

import java.io.IOException;
import java.util.List;

public interface UserMapper {
     
     List<User> findAll() throws IOException;
     int delete(int id);
}

3.UserMapper映射文件




<mapper namespace="dao.UserMapper">

    <select id="findAll" resultType="domain.User">
        select * from sys_user
    select>

    <delete id="delete" parameterType="java.lang.Integer">
        delete from sys_user where id = #{id}
    delete>
mapper>

4.测试代码

    @Test
    public void daoByProxy() throws IOException {
     
        //获得核心配置文件
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        //获得sqlSession工厂对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        //获得session会话对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //获得UserMapper接口的实现类
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> list = mapper.findAll();
        System.out.println(list);
        int delete = mapper.delete(3);
        System.out.println(delete);
        sqlSession.commit();
    }

你可能感兴趣的:(java,mybatis,java,接口,xml)