Mybatis的Dao层实现
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层实现相关推荐
- MyBatis-学习笔记06【06.使用Mybatis完成DAO层的开发】
Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...
- MyBatis的Dao层实现方式
MyBatis的Dao层实现方式 MyBatis的Dao层实现 1.1 传统开发方式 1. 编写UserDao接口 public interface UserDao { List<User> ...
- Spring整合Mybatis之DAO层、Service层开发
3. Spring整合Mybatis编程DAO层开发 1. 项目引入相关依赖spring mybatis mysql mybatis-spring druid2. 编写spring.xml整合:spr ...
- 详解MyBatis的Dao层实现和配置文件深入
这篇文章主要为大家详细介绍了MyBatis的Dao层实现和配置文件深入,文中的示例代码讲解详细,感兴趣的小伙伴快来跟随小编一起学习一下 目录 [Mybatis的Dao层实现] [传统开发方式] [代理 ...
- MyBatis之Dao层实现
文章目录 1.传统开发方式 2.代理开发方式 我们在了解 MyBatis 的映射文件和配置文件时,所举例的实例都是通过单元测试的方式实现.但在实际开发中,我们需要将 MyBatis 的实现写到 Dao ...
- IDEA项目搭建四——使用Mybatis实现Dao层
一.引入mybatis及mysql的jar包 可以从阿里云上面查找版本,db操作放在dao层所以打开该层的pom.xml文件,找到<dependencies>节点增加两个引入 <de ...
- Mybatis 原始Dao层开发
对Mybatis进行原始Dao层开发的举例子: 定义获取session工具类: package com.langsin.unit;import java.io.InputStream;import o ...
- SpringBoot+MyBatis项目Dao层最简单写法
前言 DAO(Data Access Object) 是数据访问层,说白了就是跟数据库打交道的,而数据库都有哪几种操作呢?没错,就是增删改查.这就意味着Dao层要提供增删改查操作. 不知道大家是怎么写 ...
- Mybatis中DAO层接口没有写实现类,Mapper中的方法和DAO接口方法是怎么绑定到一起的...
参考mybatis入门基础(二)----原始dao的开发和mapper代理开发 其实也就是通过接口名与mapper的id绑定在一起,通过SQL去写实现类,返回数据. 转载于:https://www.c ...
最新文章
- LeetCode简单题之判断字符串的两半是否相似
- Maven 的classifier的作用
- Windows上erl.exe的CPU使用率很高的问题【未解决】
- windows系统如何添加ssh key到github
- Spring Boot Serverless 实战 | Serverless 应用的监控与调试
- HashSet存储自定义类型元素
- mongodb 监控权限_MongoDB - 监控
- 数据仓库etl编程_莱牛教育:浅谈大数据ETL大数据工程师所需具备的能力
- 此url不支持http方法get_HTTP 入门
- 使用tcl文件分配管脚
- 【转】linux kernel 网络协议栈之GRO(Generic receive offload)
- C#winform连接Access数据库方式
- XP系统装python
- houdini 粒子
- Hive微博数据统计分析
- linux宿主机文件拷贝,linux 虚拟机和宿主机相互拷贝文件
- 系统容量评估和性能保障
- 飞鹅WiFi打印机配置,php调用接口
- 金士顿服务器内存条怎么看型号,Win10怎么查看内存条型号?
- 5328笔记 Advanced ML Chapter3-Hypothesis Complexity and Generalisation
热门文章
- 4G模块SIMCOM7100 LTE在ARM Linux下使用PPPD上网
- jsp include标签使用
- python 公司年会抽奖_python实现年会抽奖程序
- matlab二维doa估计,阵列信号处理,一维、二维DOA估计
- 免费人工智能图像生成(PlaygroundAI)
- 计算机常见的多媒体素材有,拿来主义 常见多媒体素材获取途径面面观
- 【越狱开发】《我叫MT online》开源辅助工具
- 我的爸爸是一位计算机工程师,描写爸爸的小学生作文我的爸爸是建筑工程师
- win7下运行英雄无敌3的方法
- c基础部分:怎么在for循环中 对上一次循环的值和下一次循环的值作比较