MyBatis Mapper四步走
创始人
2024-03-29 14:31:19
0

1. 定义承载结果的Java类充当领域对象(不使用MyBatis的内置map)。

2.开发Mapper组件,也就是接口+XML(或注解)

3.获取SqlSession,在获取Mapper组件对象。

4.调用Mapper组件的方法操作数据库。

---------------------------------------------------------------------------------------------------------------------------------

实操一下,数据库名称mydept,数据表dept:

1.创建可以充当领域对象的JAVA类:entity.Dept

 

省略了无参构造器,全参构造器,getter/setter和toString。

2. 构建Mapper组件

定义dao.MyDeptMapper接口 

public interface MyDeptMapper {int addDept(Dept dept);int updateDept(Dept dept);int removeDept(int id);Dept get(int id);List getAll();
}

定义XML文档,按照映射规则接口与XML文档要同名同包同id。

所以XML文档要建立在resources下的dao目录下,与java源文件目录下的dao.MyDeptMapper接口对应上。

 然后要在mybatis-config.xml中描述清楚MyDeptMapper.xml的位置:



只需关注mybatis-config.xml中的部分,要以目录的形式(但是不要写resources)呈现出MyDeptMapper.xml的位置。(注意,这并不是唯一的写法,也可以用的方式建立映射关系。)

随后可以开始编辑MyDeptMapper.xml的具体内容了:



insert into dept values(null,#{name},#{loc})update dept set name=#{name}, loc=#{loc} where id=#{id}delete from dept where id = #{id}

这里只需注意两个点:

  1. namespace对应接口的位置。
  2. select标签的returnType对应前面写的“领域”类

3. 获取SqlSession

String configXML = "mybatis-config.xml";
InputStream stream = Resources.getResourceAsStream(configXML);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(stream);
SqlSession sqlSession = sqlSessionFactory.openSession();

4.通过session调用Mapper组件操作数据库:

//省略了导包的相关代码 import dao.MyDeptMapper;
MyDeptMapper mapper = session.getMapper(MyDeptMapper.class);
List depts = mapper.getAll();
System.out.printf("%d rows.",depts.size());

相关内容

热门资讯

财政部详解财政政策如何“更加积... 12月27日至28日,全国财政工作会议在北京召开。会议总结2025年财政工作,布置2026年重点任务...
推荐靠谱再审律师团队,王文婷律... 在法律纠纷的世界里,再审是当事人在经历一审、二审败诉后的后希望。然而,再审程序复杂、法定要求严苛,寻...
攀枝花警方通报:仁和区发生一起... 大象新闻2025-12-27 14:11:24 12月27日,攀枝花警方发布警情通报: 2025年...
《四川省惠企政策全生命周期管理... 为规范惠企政策全生命周期管理和运行,进一步提升惠企政策服务水平和效能,近日我省出台《四川省惠企政策全...
专业检查监督律师哪家强?王文婷... 在法律纠纷的解决过程中,当面临一审、二审、再审接连败诉的困境,或是遭遇复杂经济纠纷、刑事指控等情况时...
升达林业5亿元担保纠纷再审申请... 12月28日,升达林业(002259)披露全资子公司中弘达公司与厦门国际银行之间的质押合同纠纷案的进...
7亿元“互诉”大戏上演!大金重... 12月28日,大金重工(002487)发布关于诉讼事项的进展公告,一场与中国葛洲坝集团电力有限责任公...
50余位法律人晨跑椰城 共话专... 人民网海口12月28日电 (记者李学山)12月27日清晨7时30分,海口红城湖畔晨雾缭绕,随着一声“...
男子因纠纷引燃易燃物品致本人死... 12月28日,成都市公安局高新区分局发布警情通报: 12月28日下午,高新区南三环路四段一汽车销售服...
茅台称尽最大努力防止价格炒作,... 备受关注的茅台2026年全国经销商联谊会于12月28日下午举行。2025年在经历了换帅,一年内飞天茅...