mybaits中Mapper动态代理

本文详细介绍了MyBatis框架中的映射规则,包括Mapper.xml文件与接口的匹配原则,如namespace、方法名、参数类型及返回类型的对应关系,并通过实例展示了如何在核心配置文件中加载XML文件。

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

1.开发规则:

1.Mapper.xml文件中的namespace与mapper接口路径相同

2.Mapper接口的方法名和Mapper.xml中定义的每一个statement的id相同。

3.Mapper接口方法的输入参数类型和mapper.xml中定义的每一个sql中的parametertype的类型相同。

4.Mapper接口的方法的输出参数类型和Mapper.xml中定义的每一个sql的resulttype的类型相同。

5.例子:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace写的是接口的路径  id对应接口的某一个方法 parameterType接口方法的输入类型
resultTypei接口的输出类型。xml文件和接口在一个目录下面。
-->
<mapper namespace="com.huomin.Mybaits.newsdao1">
 
    <select id="getbyid" parameterType="int" 
        resultType="com.huomin.pojo.news">
        select * from news where id=#{id}
    </select>
   
    
   
</mapper>

接口

public 	interface newsdao1 {
	news getbyid(int id);
}


    在核心配置文件里面加载这个xml文件

    <mappers>
        <mapper resource="com/huomin/Mapper/mypper.xml"/>
    </mappers>
    

    
   测试:
	public static void main(String[] args) {
		 String resource = "conf.xml";
		    InputStream is = MyTest.class.getClassLoader().getResourceAsStream(resource);
	
		    SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
		    SqlSession sqlSession  = sessionFactory.openSession();
		    newsdao1 mapper = sqlSession.getMapper(com.huomin.Mybaits.newsdao1.class);
		    news a = mapper.getbyid(1);
		    System.out.println(a.getTitle());
	
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值