Mybatis开发dao Mybatis在项目中主要使用的地方就是开发dao(数据访问层),所以下面讲解一下mybatis开发dao的方法。有两种方式:原始dao开发方式、mapper代理开发方式(推荐)。 课件 【Mybatis 开发 DAO 层】 在 Java 开发中,Mybatis 是一款广泛应用的持久层框架,主要用于处理 SQL 查询和数据访问。Mybatis 的核心在于简化 SQL 与 Java 代码之间的绑定,使得开发者可以更加灵活地进行数据库操作。本课件主要探讨了在 Mybatis 中如何开发 DAO 层,特别关注了两种主要的开发方式:原始 DAO 开发和 Mapper 代理开发。 **2.1 需求分析** 在实际项目中,DAO(Data Access Object)层通常需要实现以下功能: 1. 根据用户 ID 查询用户信息。 2. 根据用户名称进行模糊查询,获取用户信息列表。 3. 添加新用户。 **2.2 原始 DAO 开发方式** **2.2.1 思路** 原始 DAO 开发涉及编写 DAO 接口和实现类,手动绑定 SQL 语句与 Java 方法。 **2.2.2 编程步骤** 1. 定义 POJO(Plain Old Java Object)类,例如 User 类,用于封装数据。 2. 编写 Mybatis 的全局配置文件,定义数据源和事务管理等信息。 3. 创建映射文件(XML 文件),编写 SQL 语句及结果映射。 4. 在 Mybatis 配置中加载映射文件。 5. 设计 DAO 接口,如 `UserDao`,声明需要的方法。 6. 实现 DAO 接口,编写具体 SQL 执行逻辑。 7. 编写测试代码,验证 DAO 功能的正确性。 **2.2.3 示例代码** `UserDao` 接口: ```java public interface UserDao { User findUserById(int id); List<User> findUsersByName(String username); void insertUser(User user); } ``` **2.3 开发 DAO 实现类** **2.3.1 SqlSession 使用范围** SqlSession 是执行 SQL 的核心对象,由于其线程不安全,通常在方法体内创建并关闭,以防止并发问题。 **2.3.2 SqlSessionFactoryBuilder** 负责根据配置文件创建 SqlSessionFactory,完成配置后即可丢弃。 **2.3.3 SqlSessionFactory** SqlSessionFactory 作为创建 SqlSession 的工厂,应保持全局唯一,通常采用单例模式进行管理。在 Spring 集成中,推荐使用 Spring 的单例管理。 **2.3.4 SqlSession** SqlSession 提供了执行 SQL 和获取结果的方法,它的生命周期很短,只限于单个方法内。DefaultSqlSession 是其默认实现。 **2.3.5 UserDaoImpl 示例** 在 DAO 实现类中注入 SqlSessionFactory,并在方法体内创建 SqlSession。注意遵循 SqlSession 生命周期,避免线程安全问题。 ```java public class UserDaoImpl implements UserDao { private SqlSessionFactory sqlSessionFactory; public UserDaoImpl(SqlSessionFactory sqlSessionFactory) { this.sqlSessionFactory = sqlSessionFactory; } @Override public User findUserById(int id) { SqlSession sqlSession = sqlSessionFactory.openSession(); return sqlSession.selectOne("test.findUserById", id); } @Override public List<User> findUsersByName(String username) { SqlSession sqlSession = sqlSessionFactory.openSession(); return sqlSession.selectList("test.findUsersByName", username); } // ... } ``` 在上述代码中,`test.findUserById` 和 `test.findUsersByName` 分别是映射文件中 SQL 语句的全限定 ID。 Mybatis 的 DAO 开发涉及多个组件,包括配置文件、映射文件、接口与实现类等。原始 DAO 开发方式虽然直观,但代码量较大,维护成本较高。相比之下,Mapper 代理开发方式通过 XML 映射文件和接口方法的注解,能自动生成 DAO 实现,简化了开发流程。在实际项目中,通常会结合 Spring 框架,利用 Mybatis-Spring 插件自动化处理 DAO 层的事务管理与依赖注入,提高开发效率和代码质量。






























- xingzhe082022-03-26该资源很好,讲的很细致

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 人工智能产业分析.doc
- 物联网基础作业题目(改).doc
- 基于区块链技术的财务共享模式优化研究.docx
- 蓝天酒业企业融资租赁项目管理风险管理探析.doc
- MongoDB运维最佳实践.pptx
- 基于布鲁姆教育目标分类法的大学英语网络教学探索.docx
- VB中的界面设计原则和编程技巧.docx
- 基于混合高斯模型的目标检测方法研究
- 基于工程监理与工程项目管理及施工阶段的质量控制分析.docx
- 互联网科技创业计划书优秀ppt模板课件【精选模板】.ppt
- 大数据平台技术选型与场景运用.docx
- 广东广东电视大学2019年下半年期末考试-项目管理-试题-工商管理专科专业.doc
- 电子商务下零售业顾客忠诚度的建立.doc
- 数据通信及网络技术2.ppt
- WebLogic-Web服务器安全配置基线.doc
- 网络英语资源在大学英语视听教学中的实践与应用-杂志网.docx


