mybatis实现SQL语句和方法对应

本文介绍了MyBatis的配置,包括jar包、mapper.xml文件和config.xml文件的配置要点。还讲述了测试方法,重点介绍基于动态代理(jdk)的方式,其优点是无需每次写statement,直接调用接口方法即可。同时说明了写接口的注意事项及测试时语句的替换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mybatis的配置:
<1>jar包
<2>mapper.xml文件 :注意namespace这个属性是唯一标识一个文件的标识(可以随意命名但是很重要)这里假设是 mapperSpace
<3>config.xml文件:配置好自己的数据库,然后还有mapper文件的路径,还有注意congfig.xml文件的位置,必须在resources文件下,否则找不到

开始测试:
一、statement方式:

//1.加载config.xml配置问价‘
Reader input = Resources.getResourceAsReader("config.xml");
//2.创建sqlSessionFactory
SqlSessionFactory factory =  new SqlSessionFactoryBuilder().build(input);
//3.创建sqlSession 它就等同于我们之前的connection
SqlSession session = factory.openSession();
//4.开始增删改查等操作,这里只演示一个单查询
String statement = "mapperSpace.selectById";  //namespace.id唯一标识这文件中的一个select语句  当然前提是要有id
session.selectOne(statement);

二、基于动态代理的(jdk)
优点:不用每次调用的时候写statement,直接调用接口的方法就能调用唯一标识的一条sql语句
步骤:
<1>写一个interface注意的点:
①mapper文件的nameSpace换成接口路径.接口名 //一个接口唯一标识一个mapper文件
②接口的方法名必须和mapper文件的id名一样,参数,返回值也得一样。这里注意一点,在多查询的时候,无论返回的是一条还是多条接口在mapper文件中resultType只能是一个。
例:select * from student
返回结果肯定是多条学生记录,但是在mapper.xml文件中会这样写

select * from student

但是这个id映射到接口中,它的返回值必须是是集合我们通常用list
③写好接口之后就可测试了
将String statement = “mapperSpace.selectById”;
session.selectOne(statement);这两条换成下面的两条

	interface   objcet = session.getMapper(interface.class);  //获得接口的class,也就找到mapper.xml文件
	objcet.selectAll();      //可以直接调用接口的方法实现sql的查询,也就是将sql语句和方法一一对应了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值