【mybatis】架构实现原理--2 mybatis的几种写法
发布日期:2021-05-08 11:07:19 浏览次数:17 分类:精选文章

本文共 2064 字,大约阅读时间需要 6 分钟。

文章目录

1. mapper定义的两种写法

1.1 mapper接口+mapper.xml文件的方式

mapper接口如下:

package com.mapper;import com.pojo.Teacher;import java.util.List;public interface TeacherMapper {           public List
findAll();}

mapper.xml如下:

注意:namespace的值一般为接口所在的包名加接口名"com.mapper.TeacherMapper"

在整体的配置文件中,要写xml的全名:

1.2 mapper接口加注解的方式

直接将mapper.xml配置文件用注解的方式写在接口中,所以只有一个mapper的接口,其中result代表resultMap。

mapper接口:

package com.mapper;import com.pojo.Teacher;import org.apache.ibatis.annotations.Result;import org.apache.ibatis.annotations.Results;import org.apache.ibatis.annotations.Select;import java.util.List;public interface TeacherMapper {       @Select("select * from tb_teacher")    @Results({               @Result(property = "id",column = "id"),            @Result(property = "name",column = "t_name")    })    public List
findAll();}

在整体的配置文件中,要写接口的全名:

1.3 总结

配置虽然只有xml和java接口2种实现,但是在全局配置文件进行引入时,其实有4种用法:

2. 调用的两种写法

2.1 使用SqlSession的selectOne,selectList,selectMap方法

package com.dao;import com.pojo.Teacher;import com.util.MyBatisUtil;import org.apache.ibatis.session.SqlSession;import java.util.List;public class UserDao {       private SqlSession sqlSession = MyBatisUtil.getSqlSession();    public List
findAll(){ List
list = sqlSession.selectList("com.mapper.TeacherMapper.findAll"); return list; }}

2.2 调用mapper接口的方法

package com.dao;import com.mapper.TeacherMapper;import com.pojo.Teacher;import com.util.MyBatisUtil;import org.apache.ibatis.session.SqlSession;import java.util.List;public class TeacherDao {       private SqlSession sqlSession = MyBatisUtil.getSqlSession();        public List
findAll(){ TeacherMapper mapper = sqlSession.getMapper(TeacherMapper.class); List
list = mapper.findAll(); return list; } }

本质上,这种形式的调用,最后会转换为2.1形式,只不过通过代码进行了封装,方便我们调用。

上一篇:【mybatis3】一级缓存和二级缓存
下一篇:【python】字符串操作

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月08日 18时35分58秒