SSM框架学习17-MyBatis的Dao层实现
⽬录
1. 传统开发⽅式
ssm框架主要代码在哪里⾃⼰创建dao包,写⼀个userdao接⼝,在创建⼀个impl包,写⼀个userdaoimpl的实现类,实现接⼝⾥的⽅法,然后业务层就调⽤userdaoimpl的⽅法,这是传统的开发⽅式
2. 接⼝代理⽅式
这⾥是⼀些理论基础:
2.1 namespace与mapper接⼝的权限名相同
2.2 接⼝⽅法名和映射配置⽂件中定义的每个sql语句的id相同
2.3 输⼊参数类型相同
2.4 输出参数类型相同
3. 实现类应⽤
前⾯做好了配置如下:
接下来编写的代码是测试画红线的两个⽅法,其他的也是⼀样的办法,以此类推:
public static void main(String[] args) throws IOException {
InputStream resourceAsStream = ResourceAsStream("l");
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
//使⽤接⼝代理之后,这⾥只需要通过会话和接⼝得到⼀个这个接⼝的动态实现的对象
userMapper mapper = Mapper(userMapper.class);
//然后调⽤这个对象⾥我们编好的dao层⽅法即可
List<User> userList=mapper.findAll();
User user=mapper.findByid(1);
System.out.println(userList);
System.out.println(user);
}
可以看到,这段代码在创建sqlSession这⾥都跟前⼀篇博客⼀样的,只是在后⾯我们对数据库操作时变成了我们从这个会话对象get⼀个映射接⼝的动态代理实现对象,注意看那句代码,后⾯接收的是我们⾃定义的dao接⼝,当他只要满⾜了我们第2⼤点所说的条件
时,mybatis会⾃动创建⼀个他的实现对象,这个对象就可以调⽤接⼝⾥的⽅法并实现对数据库的操作(这个⽅法本来我们没有编写,他是靠mybatis帮我们动态代理⽣成的)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。