1. Mybatis环境搭建中的案例分析
    public static void main (String[] args) throws Exception {
    //读配置文件
       //第一个: 使用类加载器,只能读取类路径下的文件
    //第二个: 使用ServletContext对象的getRealPath() 获取当前应用部署后的绝对路径
    //1. 读取配置文件
    InputStream inputStream= Resources.getResourceAsStream ("SqlMapConfig.xml");
    //2. 创建一个SqlSessionFactory工厂
    //创建工厂mybatis使用了构建者模式 把对象的创建细节隐藏 使使用者直接调用方法即可拿到对象
    SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder ();
    SqlSessionFactory sqlSessionFactory=sqlSessionFactoryBuilder.build (inputStream);
    //3. 使用工厂生产SqlSession对象
    //生产sqlSession使用了工厂模式 优势 解耦
    SqlSession sqlSession=sqlSessionFactory.openSession ();
    //4. 使用SqlSession创建DAO接口的代理对象
    //创建DAO接口实现类使用了代理模式 不修改源码的基础上, 对已有的方法进行增强
    IUserDao userDao=sqlSession.getMapper (IUserDao.class);
    //5. 使用代理对象执行方法
    List<User> users=userDao.findAll ();
    for (User user: users){
    System.out.println (user);
    }
    //6. 释放资源
    sqlSession.close ();
    inputStream.close ();
    }

如果自己编写DAO接口的实现类

  1. public class UserDaoImpl implements IUserDao {
  2. private SqlSessionFactory factory;
  3. public UserDaoImpl(SqlSessionFactory factory){
  4. this.factory = factory;
  5. }
  6. public List<User> findAll(){
  7. //1.使用工厂创建SqlSession对象
  8. SqlSession session = factory.openSession();
  9. //2.使用session执行查询所有方法
  10. List<User> users = session.selectList("com.itheima.dao.IUserDao.findAll");
  11. session.close();
  12. //3.返回查询结果
  13. return users;
  14. }
  15. }
  1.  
  1. //2.使用session执行查询所有方法
  2. List<User> users = session.selectList("com.itheima.dao.IUserDao.findAll");
  1. 对应如果自己编写DAO接口的实现类
  1. <mapper namespace="com.itheima.dao.IUserDao">
    <!--配置查询所有-->
    <select id="findAll" resultType="com.itheima.domain.User">
    select * from user
    </select>
    </mapper>
  1.  

Mybatis环境搭建中的案例分析 及 如果自己编写DAO接口的实现类的更多相关文章

  1. Mybatis自动生成xml文件、dao接口、实体类

    Mybatis可以通过逆向工程,实现自动生成xml文件.dao接口.实体类 以下使用的是Intellij Idea进行自动生成 一.首先,要在pom.xml中导入插件,在<build>中加 ...

  2. (一)phoneGap之环境搭建教程及其example分析

    phoneGap之环境搭建教程及其example分析 一.环境搭建 与普通的开发android应用一样,phoneGap也同于原生android应用一样,环境相同,只是有部分不同,下面就我做理解,进行 ...

  3. MyBatis -01- 初识 MyBatis + MyBatis 环境搭建

    MyBatis -01- 初识 MyBatis + MyBatis 环境搭建 MyBatis 本是 apache 的一个开源项目 iBatis(iBATIS = "internet" ...

  4. 【AngularJS】AngularJS整合Springmvc、Mybatis环境搭建

    近期想学习AngularJS的使用,网上搜了一圈后,折腾了半天解决bug后,成功使用AngularJS整合Springmvc.Spring.Mybatis搭建了一个开发环境.(这里Spring使用的版 ...

  5. (十八)整合Nacos组件,环境搭建和入门案例详解

    整合Nacos组件,环境搭建和入门案例详解 1.Nacos基础简介 1.1 关键特性 1.2 专业术语解释 1.3 Nacos生态圈 2.SpringBoot整合Nacos 2.1 新建配置 2.2 ...

  6. MyBatis 环境搭建(四)

    MyBatis 引言 在回顾JDBC时,我们已经创建有 Java 工程,而且也已经导入 mysql 依赖包,这里就直接在原有工程上搭建MyBatis环境,以及使用MyBatis来实现之前用 JDBC ...

  7. Mybatis环境搭建及测试

    1.新建java project,导入相应jar包 本次使用到的mybatis-3.2.7版本 mybatis需要jar包:mybatis-3.2.7.jar.lib文件下的依赖jar mysql驱动 ...

  8. springmvc+mybatis环境搭建

    1.spring+mybatis 环境搭建: A.配置jdbc和dbcp数据源:注意版本com.mysql.cj.jdbc.Driver B.配置sessionfactory,绑定dbcp及配置map ...

  9. MyBatis之MyBatis环境搭建

    MyBatis之MyBatis环境搭建 一.MyBatis开发环境搭建 1.引入Jar包 ①MyBatis mybatis-3.4.1.jar ant-1.9.6.jar ant-launcher-1 ...

随机推荐

  1. sourcetree 安装与操作

    sourcetree操作 http://www.jianshu.com/p/be9f0484af9d SourceTree安装教程和GitLab配置详解 http://www.cnblogs.com/ ...

  2. java代码继承。。。找出不能继承父类方法的问题

    总结:当子类中没有定义name属性时,在子类的无参构造方法中,父类的姓名是不能被继承的. 输出的结果是,子类无参构造方法里的属性值,也就是是属 控制台显示: 我叫:周杰伦,今年:2岁我的姓名:周杰伦, ...

  3. Regexp:教程

    ylbtech-Regexp:教程 1.返回顶部 1. 正则表达式 - 教程 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符( ...

  4. Rails 表单总结

    1.button <%= button_to "删除",{:controller =>"welcome",:action =>"de ...

  5. PowerDesigner的Additional Checkes 中使用统配符

    在Domian或字段的的约束条件中,会用的正则表达式等约束.但正则表达式 regexp_like(ICAO,'^([A-Z]{4}$')中要出现明确字段名如ICAO,每个使用同样约束的字段都要修改此字 ...

  6. web.config中namespace的配置(针对页面中引用)

    1,在页面中使用强类型时: @model GZUAboutModel @using Nop.Admin.Models//命名空间(注意以下) 2,可以将命名空间提到web.config配置文件中去,此 ...

  7. 装饰器api

    import hashlib import time from django.http import HttpResponse key="qwrwertyuiop" visited ...

  8. js和jQuery判断数组是否包含指定元素

    最近遇见一些前台基础性问题,在这里笔者觉得有必要记录一下,为了以后自己查阅或者读者查看. 已知var arr = ['java','js','php','C++']; 问题:arr数组是否包含‘jav ...

  9. 【转】TinyMCE(富文本编辑器)

    效果预览:http://www.tinymce.com/tryit/full.php [转]TinyMCE(富文本编辑器)在Asp.Net中的使用方法 转自:http://www.cnblogs.co ...

  10. vue 的全局拦截器

    使用拦截器 你可以截取请求或响应在被 then 或者 catch 处理之前 mounted:function(){ Vue.http.inserceptors.push(function(resque ...