栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis(四) - Mybatis的Dao 层实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis(四) - Mybatis的Dao 层实现

 一、传统开发方式

1. 编写UserDao 接口

public interface UserDao{

    List findAll() throws IOException;

}

2. 编写UserDaoImpl 实现

public class UserdaoImpl implements UserDao {

    public List findAll() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        List userList = sqlSession.selectList("userMapper.findAll");
        sqlSession.close();
        return userList;
    }

}

3. 测试

@Test
public void testTraditionDao() throws IOException {
    UserDao userDao = new UserDaoImpl();
    List all = userDao.findAll();
    System.out.println(all);
}

二、代理开发方式

1. 代理开发方式介绍

        采用MyBatis 的代理开发方式实现Dao 层的开发,这种方式是我们后面进入企业的主流。

        Mapper 接口开发方法只需要程序员编写Mapper 接口(相当于Dao 接口),由MyBatis 框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao 接口实现类方法。

        Mapper 接口开发需要遵循规范:

        (1)Mapper.xml 文件中的namespace 与mapper 接口的全限定名相同

        (2)Mapper 接口方法名和Mapper.xml 中定义的每个statement 的id 相同

        (3)Mapper 接口方法的输入参数类型和mapper.xml 中定义的每个sql 的parameterType 的类型相同

        (4)Mapper 接口方法的输出参数类型和mapper.xml 中定义的每个sql 的resultType 的类型相同

2. 编写UserMapper 接口

3. 测试

    public static void main(String[] args) throws IOException {

        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List all = mapper.findAll();
        System.out.println(all);

        User user = mapper.findById(1);
        System.out.println(user);
        
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/340389.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号