Mybatis环境搭建中的案例分析 及 如果自己编写DAO接口的实现类
- 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接口的实现类
- public class UserDaoImpl implements IUserDao {
- private SqlSessionFactory factory;
- public UserDaoImpl(SqlSessionFactory factory){
- this.factory = factory;
- }
- public List<User> findAll(){
- //1.使用工厂创建SqlSession对象
- SqlSession session = factory.openSession();
- //2.使用session执行查询所有方法
- List<User> users = session.selectList("com.itheima.dao.IUserDao.findAll");
- session.close();
- //3.返回查询结果
- return users;
- }
- }
- //2.使用session执行查询所有方法
- List<User> users = session.selectList("com.itheima.dao.IUserDao.findAll");
- 对应如果自己编写DAO接口的实现类
- <mapper namespace="com.itheima.dao.IUserDao">
<!--配置查询所有-->
<select id="findAll" resultType="com.itheima.domain.User">
select * from user
</select>
</mapper>
Mybatis环境搭建中的案例分析 及 如果自己编写DAO接口的实现类的更多相关文章
- Mybatis自动生成xml文件、dao接口、实体类
Mybatis可以通过逆向工程,实现自动生成xml文件.dao接口.实体类 以下使用的是Intellij Idea进行自动生成 一.首先,要在pom.xml中导入插件,在<build>中加 ...
- (一)phoneGap之环境搭建教程及其example分析
phoneGap之环境搭建教程及其example分析 一.环境搭建 与普通的开发android应用一样,phoneGap也同于原生android应用一样,环境相同,只是有部分不同,下面就我做理解,进行 ...
- MyBatis -01- 初识 MyBatis + MyBatis 环境搭建
MyBatis -01- 初识 MyBatis + MyBatis 环境搭建 MyBatis 本是 apache 的一个开源项目 iBatis(iBATIS = "internet" ...
- 【AngularJS】AngularJS整合Springmvc、Mybatis环境搭建
近期想学习AngularJS的使用,网上搜了一圈后,折腾了半天解决bug后,成功使用AngularJS整合Springmvc.Spring.Mybatis搭建了一个开发环境.(这里Spring使用的版 ...
- (十八)整合Nacos组件,环境搭建和入门案例详解
整合Nacos组件,环境搭建和入门案例详解 1.Nacos基础简介 1.1 关键特性 1.2 专业术语解释 1.3 Nacos生态圈 2.SpringBoot整合Nacos 2.1 新建配置 2.2 ...
- MyBatis 环境搭建(四)
MyBatis 引言 在回顾JDBC时,我们已经创建有 Java 工程,而且也已经导入 mysql 依赖包,这里就直接在原有工程上搭建MyBatis环境,以及使用MyBatis来实现之前用 JDBC ...
- Mybatis环境搭建及测试
1.新建java project,导入相应jar包 本次使用到的mybatis-3.2.7版本 mybatis需要jar包:mybatis-3.2.7.jar.lib文件下的依赖jar mysql驱动 ...
- springmvc+mybatis环境搭建
1.spring+mybatis 环境搭建: A.配置jdbc和dbcp数据源:注意版本com.mysql.cj.jdbc.Driver B.配置sessionfactory,绑定dbcp及配置map ...
- MyBatis之MyBatis环境搭建
MyBatis之MyBatis环境搭建 一.MyBatis开发环境搭建 1.引入Jar包 ①MyBatis mybatis-3.4.1.jar ant-1.9.6.jar ant-launcher-1 ...
随机推荐
- c++11之一: 基于范围的for循环
#include <iostream> using namespace std; int main(){ ]{,,,,}; for (int& e: ary) e *= ; for ...
- AJAX,jQuery Ajax和Deferred
AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用,改善用户体验,实现无刷新效果的技术. 使用AJAX的优 ...
- 浅析Java中的深拷贝和浅拷
浅析Java中的深拷贝和浅拷贝 原文链接: http://blog.csdn.net/tounaobun/article/details/8491392 假如说你想复制一个简单变量.很简单: in ...
- java代码继承基础
总结:继承是java编程的核心,我搞不明白,子类对象调用父类的成员方法时.父类的带参构造方法有什么用,还赋值了 package com.bc; //普通类 public class yt { publ ...
- net.sf.json.JSONObject 和org.json.JSONObject
参考 net.sf.json.JSONObject 和org.json.JSONObject 的差别
- tomcat 基础知识学习
1: 直接将web项目文件件拷贝到webapps 目录中,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用,所以可以将JSP程序打包成一个 wa ...
- 从CoreAnimation到Pop
pop是Facebook在开源的一款动画引擎,看下其官方的介绍: Pop是一款在iOS.tvOS和OS X平台通用的可扩展动画引擎.它在基本静态动画的基础上,增加了弹性以及衰减动画,这在创建真实有物里 ...
- Py修行路 Matplotlib 绘图及可视化模块
Matplotlib是一个强大的Python绘图和数据可视化的工具包. 安装方法:pip install matplotlib 引用方法:import matplotlib.pyplot as plt ...
- 问题:不支持Dictionary;结果:在Web Service中傳送Dictionary
在Web Service中傳送Dictionary 有個需求,想在Web Service中傳遞Dictionary<string, string>參數,例如: 排版顯示純文字 [WebMe ...
- [patl2-020]功夫传人
解题关键:dfs的简单应用,需要注意类型double与int #include<cstdio> #include<cstring> #include<algorithm& ...