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. c++11之一: 基于范围的for循环

    #include <iostream> using namespace std; int main(){ ]{,,,,}; for (int& e: ary) e *= ; for ...

  2. AJAX,jQuery Ajax和Deferred

    AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用,改善用户体验,实现无刷新效果的技术. 使用AJAX的优 ...

  3. 浅析Java中的深拷贝和浅拷

      浅析Java中的深拷贝和浅拷贝 原文链接: http://blog.csdn.net/tounaobun/article/details/8491392 假如说你想复制一个简单变量.很简单: in ...

  4. java代码继承基础

    总结:继承是java编程的核心,我搞不明白,子类对象调用父类的成员方法时.父类的带参构造方法有什么用,还赋值了 package com.bc; //普通类 public class yt { publ ...

  5. net.sf.json.JSONObject 和org.json.JSONObject

    参考 net.sf.json.JSONObject 和org.json.JSONObject 的差别

  6. tomcat 基础知识学习

    1: 直接将web项目文件件拷贝到webapps 目录中,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用,所以可以将JSP程序打包成一个 wa ...

  7. 从CoreAnimation到Pop

    pop是Facebook在开源的一款动画引擎,看下其官方的介绍: Pop是一款在iOS.tvOS和OS X平台通用的可扩展动画引擎.它在基本静态动画的基础上,增加了弹性以及衰减动画,这在创建真实有物里 ...

  8. Py修行路 Matplotlib 绘图及可视化模块

    Matplotlib是一个强大的Python绘图和数据可视化的工具包. 安装方法:pip install matplotlib 引用方法:import matplotlib.pyplot as plt ...

  9. 问题:不支持Dictionary;结果:在Web Service中傳送Dictionary

    在Web Service中傳送Dictionary 有個需求,想在Web Service中傳遞Dictionary<string, string>參數,例如: 排版顯示純文字 [WebMe ...

  10. [patl2-020]功夫传人

    解题关键:dfs的简单应用,需要注意类型double与int #include<cstdio> #include<cstring> #include<algorithm& ...