1.SqlSession的使用范围
1.1 SqlSessionFactoryBuilder:用来创建SqlSessionFactory,只需要把SqlSessionfactoryBuilder当成一个工具类来使用
1.2 SqlSessionFactory:通过SqlSessionFactory来创建SqlSession,通过单例模式管理
SqlSesssionFactory(一旦创建不在销毁,一直使用此实例)
  将来Mybatis
1.3 SqlSession:面向用户(程序员)的接口,,里面提共了很多方法,selectOne和selectList
2.原始Dao开发方式(程序员需要编写Dao及其Dao实现类)
2.1 思路:编写Dao及其Dao实现类,需要向Dao中注入SqlSessionFactory,在方法体内创建通过SqlSessionFactory创建SqlSession
2.1.1 Dao接口
public interface StudentDao {

//根据ID查询学生信息
public Student findById(int id) throws Exception;

//添加用户信息 
public void insertStudent(Student student) throws Exception;

//删除学生信息
public void deleteStudent(int id) throws Exception;
}
2.1.2 Dao实现类
private SqlSessionFactory sqlSessionFactory;
public StudentDaoImpl(SqlSessionFactory sqlSessionFactory){
this.sqlSessionFactory=sqlSessionFactory;
}

@Override
public Student findById(int id) throws Exception {
// TODO Auto-generated method stub
SqlSession sqlSession=sqlSessionFactory.openSession();
Student stu=sqlSession.selectOne("test.findStudentByName",id);
sqlSession.close();
return stu;
}
2.1.3 总结原始Dao开发问题
1.Dao接口实现类中有大量重复的模板方法,设想将重复的模板方法提取出来,大大减轻程序员的工作量
2.在调用SqlSession方法中将statement硬编码
3.调用SqlSession方法传入变量,由于sqlsession方法使用泛型,即使传入参数类型错误在编译阶段也不会报 错,不利于程序员开发

MyBatis开发Dao的方法相关推荐

  1. Mybatis学习记录(二)----mybatis开发dao的方法

    1  SqlSession使用范围 1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory 将Sq ...

  2. mybatis开发dao的方法——(三)

    ------------------------1.    SqlSession使用范围------------------- 1.1     SqlSessionFactoryBuilder 通过S ...

  3. Mybatis 开发 dao 的方法

    1.分析SqlSession使用范围 1.1.SqlSessionFactoryBuilder 通过 SqlSessionFactoryBuilder 创建会话工厂 SqlSessionFactory ...

  4. mybatis由浅入深day01_5mybatis开发dao的方法(5.1SqlSession使用范围_5.2原始dao开发方法)...

    5 mybatis开发dao的方法 5.1 SqlSession使用范围 5.1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂 ...

  5. 【MyBatis框架】Mybatis开发dao方法第二部分

    下面来继续讨论mybatis开发Dao的方法 我们前面使用原始的Dao开发方法,发现了许多弊端,我们下面使用mapper代理来写Dao方法. 1.mapper代理方法(程序员只需要mapper接口(相 ...

  6. 【MyBatis框架】Mybatis开发dao方法第一部分

    下面来讨论mybatis开发Dao的方法 先来说一下基本架构流程中使用到的几个类 1.SqlSession使用范围 1.1SqlSessionFactoryBuilder  通过SqlSessionF ...

  7. 【mybatis基础】mybatis开发dao两种方法

    mybatis是一个支持普通SQL查询,存储过程和高级映射的优秀的持久层的框架,是apache下的顶级项目.mybatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.mybat ...

  8. mybatis教程--原始方式和mapper方式开发dao详解

    mybatis开发dao的两种方式 一.原始的dao开发方式 所谓的原始的dao的开发方式,其实就是和hibernate的开发方式类似的,需要dao的接口和dao的实现类,这个就是原始的开发方式,而m ...

  9. Spring+SpringMVC+MyBatis深入学习及搭建(二)——MyBatis原始Dao开发和mapper代理开发

    前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(一)--MyBatis的基础知识.MybatisFirst中存在大量重复的代码.这次简化下代码: 使用MyBatis开发Dao ...

最新文章

  1. where 1=1 是什么鬼?
  2. 人脸识别应用场景不断拓展 刷脸要方便更要安全
  3. 孙正义看未来30年:这个趋势,永远不会错(附完整PPT)
  4. 【Cocos2d-x】开发实战-Cocos中的字符串、标签和中文乱码
  5. Windows 7 IIS (HTTP Error 500.21 - Internal Server Error)解决
  6. 苹果x防水测试软件,iPhone终极防水测试 iPhone XR阵亡
  7. java监控对话框是否关闭_java – 检查是否可以安全地关闭对话框
  8. gitlab客户端下载配置
  9. poj 1860 bellman 求正环
  10. 整理数组去重与数组排序等方法
  11. 基于springboot的贫困帮扶系统
  12. 视频教程-HTML5基础知识实战演练教程-HTML5/CSS
  13. 给 Android 开发者的 Gradle 入门指南
  14. 我的msn的博客 欢迎大家点击
  15. 服务器两块硬盘怎么合并,电脑高手进(怎么把俩块硬盘合并在一同)
  16. DearMob iPhone Manager for Mac(iPhone手机数据加密传输软件)
  17. 如何使用百数扫码实现高效信息录入与查询
  18. 关于电机编码器的知识汇总,都在这里了!
  19. 0基础如何自学web前端?如何找工作?
  20. 【task02】共享单车数据挖掘赛

热门文章

  1. 【C#】分享一个弹出容器层,像右键菜单那样召即来挥则去
  2. 基于.net平台remoting、DB2技术的大型分布式HIS系统架构及开发(项目架构师方向)...
  3. 计算机房活动记录,兴趣小组活动记录表
  4. android 上下扫描动画,Android扫描雷达动画
  5. openresty模板html页面,openresty 中使用lua 的页面模板类库template来渲染页面
  6. codematic2连接mysql失败_怎么连接oracle数据库
  7. navicat使用查询向表中插入一行记录_SQL--每日一解------Bulk Insert 快速插入
  8. python 爬虫 scrapy 和 requsts 哪个快_Python爬虫:Scrapy研读之Request/Reponse
  9. mysql 常用小工具包_mssql+mysql小工具(无需环境依赖)-mysql数据库批量实体CS类导出工具下载v3.0免费版-西西软件下载...
  10. pythondir什么意思_Python之dir()与__dict__的区别