Mybatis的Dao层实现

1、传统方式实现

创建接口com.dao.UserMapper

package com.dao;import com.domain.User;import java.io.IOException;
import java.util.List;public interface UserMapper {public List<User> findAll() throws IOException;
}

创建文件com.dao.impl.UserMapperImpl

package com.dao.impl;import com.dao.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;
import java.io.InputStream;
import java.util.List;public class UserMapperImpl implements UserMapper {public List<Object> findall() throws IOException {InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);SqlSession sqlSession=sqlSessionFactory.openSession();List<Object> userList = sqlSession.selectList("userMapper.findAll");return userList;}
}

创建文件com.dao.service.userService

package com.dao.service;import com.dao.UserMapper;import com.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;
import java.io.InputStream;
import java.util.List;public class userService {public static void main(String[] args) throws IOException {InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(resourceAsStream);SqlSession sqlSession=sqlSessionFactory.openSession();UserMapper mapper=sqlSession.getMapper(UserMapper.class);List<User> all = mapper.findAll();System.out.println(all);}
}

2、接口代理开发方式介绍


3、接口代理开发的方式代码实现

把impl包删掉,userService文件下的main代码删掉
配置文件UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.dao.UserMapper"><!--查询操作--><select id="findAll" resultType="user">select  * from user</select></mapper>

修改UserService

package com.dao.service;import com.dao.UserMapper;import com.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;
import java.io.InputStream;
import java.util.List;public class userService {public static void main(String[] args) throws IOException {InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(resourceAsStream);SqlSession sqlSession=sqlSessionFactory.openSession();UserMapper mapper=sqlSession.getMapper(UserMapper.class);List<User> all = mapper.findAll();System.out.println(all);}
}

再来测试根据id进行查询

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.dao.UserMapper"><!--查询操作--><select id="findAll" resultType="user">select  * from user</select><!--根据id进行查询--><select id="findById" parameterType="int" resultType="user">select * from user where id=#{id}</select>
</mapper>

接口

package com.dao;import com.domain.User;import java.io.IOException;
import java.util.List;public interface UserMapper {public List<User> findAll() throws IOException;public User findById(int id);
}
package com.dao.service;import com.dao.UserMapper;import com.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;
import java.io.InputStream;
import java.util.List;public class userService {public static void main(String[] args) throws IOException {InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(resourceAsStream);SqlSession sqlSession=sqlSessionFactory.openSession();UserMapper mapper=sqlSession.getMapper(UserMapper.class);List<User> all = mapper.findAll();System.out.println(all);User user = mapper.findById(1);System.out.println(user);}
}

Mybatis的Dao层实现相关推荐

  1. MyBatis-学习笔记06【06.使用Mybatis完成DAO层的开发】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  2. MyBatis的Dao层实现方式

    MyBatis的Dao层实现方式 MyBatis的Dao层实现 1.1 传统开发方式 1. 编写UserDao接口 public interface UserDao { List<User> ...

  3. Spring整合Mybatis之DAO层、Service层开发

    3. Spring整合Mybatis编程DAO层开发 1. 项目引入相关依赖spring mybatis mysql mybatis-spring druid2. 编写spring.xml整合:spr ...

  4. 详解MyBatis的Dao层实现和配置文件深入

    这篇文章主要为大家详细介绍了MyBatis的Dao层实现和配置文件深入,文中的示例代码讲解详细,感兴趣的小伙伴快来跟随小编一起学习一下 目录 [Mybatis的Dao层实现] [传统开发方式] [代理 ...

  5. MyBatis之Dao层实现

    文章目录 1.传统开发方式 2.代理开发方式 我们在了解 MyBatis 的映射文件和配置文件时,所举例的实例都是通过单元测试的方式实现.但在实际开发中,我们需要将 MyBatis 的实现写到 Dao ...

  6. IDEA项目搭建四——使用Mybatis实现Dao层

    一.引入mybatis及mysql的jar包 可以从阿里云上面查找版本,db操作放在dao层所以打开该层的pom.xml文件,找到<dependencies>节点增加两个引入 <de ...

  7. Mybatis 原始Dao层开发

    对Mybatis进行原始Dao层开发的举例子: 定义获取session工具类: package com.langsin.unit;import java.io.InputStream;import o ...

  8. SpringBoot+MyBatis项目Dao层最简单写法

    前言 DAO(Data Access Object) 是数据访问层,说白了就是跟数据库打交道的,而数据库都有哪几种操作呢?没错,就是增删改查.这就意味着Dao层要提供增删改查操作. 不知道大家是怎么写 ...

  9. Mybatis中DAO层接口没有写实现类,Mapper中的方法和DAO接口方法是怎么绑定到一起的...

    参考mybatis入门基础(二)----原始dao的开发和mapper代理开发 其实也就是通过接口名与mapper的id绑定在一起,通过SQL去写实现类,返回数据. 转载于:https://www.c ...

最新文章

  1. LeetCode简单题之判断字符串的两半是否相似
  2. Maven 的classifier的作用
  3. Windows上erl.exe的CPU使用率很高的问题【未解决】
  4. windows系统如何添加ssh key到github
  5. Spring Boot Serverless 实战 | Serverless 应用的监控与调试
  6. HashSet存储自定义类型元素
  7. mongodb 监控权限_MongoDB - 监控
  8. 数据仓库etl编程_莱牛教育:浅谈大数据ETL大数据工程师所需具备的能力
  9. 此url不支持http方法get_HTTP 入门
  10. 使用tcl文件分配管脚
  11. 【转】linux kernel 网络协议栈之GRO(Generic receive offload)
  12. C#winform连接Access数据库方式
  13. XP系统装python
  14. houdini 粒子
  15. Hive微博数据统计分析
  16. linux宿主机文件拷贝,linux 虚拟机和宿主机相互拷贝文件
  17. 系统容量评估和性能保障
  18. 飞鹅WiFi打印机配置,php调用接口
  19. 金士顿服务器内存条怎么看型号,Win10怎么查看内存条型号?
  20. 5328笔记 Advanced ML Chapter3-Hypothesis Complexity and Generalisation

热门文章

  1. 4G模块SIMCOM7100 LTE在ARM Linux下使用PPPD上网
  2. jsp include标签使用
  3. python 公司年会抽奖_python实现年会抽奖程序
  4. matlab二维doa估计,阵列信号处理,一维、二维DOA估计
  5. 免费人工智能图像生成(PlaygroundAI)
  6. 计算机常见的多媒体素材有,拿来主义 常见多媒体素材获取途径面面观
  7. 【越狱开发】《我叫MT online》开源辅助工具
  8. 我的爸爸是一位计算机工程师,描写爸爸的小学生作文我的爸爸是建筑工程师
  9. win7下运行英雄无敌3的方法
  10. c基础部分:怎么在for循环中 对上一次循环的值和下一次循环的值作比较