`

MyBatis Mapper代理实现DAO

 
阅读更多

 

mapper接口遵循的开发约定

1、mapper.xml中namespace属性等于mapper接口的地址

2、mapper接口中的方法名和mapper.xml中statement的id一致

3、mapper接口中的方法参数类型和mapper.xml中的statement的parameterType类型一致

4、mapper接口中的方法返回类型和mapper.xml中的statement的resultType类型一致

 

 

sqlMapConfig.xml中加载配置采用包扫描的方式,定义别名也采用包扫描的方式

<typeAliases>
	<package name="entity" />
</typeAliases>	
<mappers>
	<package name="mapper"/>
</mappers>

 

定义mapper接口,接口的参数和返回值需要和mapper.xml文件中的parameterType、resutlType一致

public interface IUserMapper {
	public User findUserById(User entity);
	public List<User> findAll();
}

创建配置文件,namespace的名称和IUserMapper接口的全路径名一致

<mapper namespace="mapper.IUserMapper">
	<select id="findAll" resultType="entity.User">
		select * from user
	</select>

	<select id="findUserById" parameterType="entity.User" resultType="entity.User">
		select * from user where id=#{id}
	</select>
</mapper>

 测试类

public class TestMapperDAO {
	public static final String RESOURCE = "sqlMapConfig.xml"; // 配置文件
	SqlSessionFactory sqlSessionFactory;// Session工厂

	@Before
	public void initFactory() throws IOException {
		InputStream in = Resources.getResourceAsStream(RESOURCE);// 配置文件的输入流
		sqlSessionFactory = new SqlSessionFactoryBuilder().build(in); // 获得sqlSessionFactory
	}

	@Test
	public void testFindAll() {
		SqlSession session = sqlSessionFactory.openSession();
		IUserMapper mapper = session.getMapper(IUserMapper.class);
		User u = new User();
		u.setId("1");
		User user = mapper.findUserById(u);
		System.out.println(user);
		
		List<User> users = mapper.findAll();
		System.out.println(users);
	}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    mybatis开发dao之mapper代理方式

    在Mapper代理方式下,我们无需手动创建DAO实现类,只需定义接口,MyBatis会自动生成对应的动态代理实现。 首先,我们创建一个`Mapper`接口,这个接口通常包含对应数据库表的操作方法,如增删查改。例如,我们可以...

    Mybatis Mapper的使用

    Mybatis Mapper通过动态代理机制,使得我们可以直接在XML映射文件中定义SQL,然后在接口中声明对应的方法,系统会在运行时自动生成实现类,这样就消除了对实现类的直接依赖。 下面我们将详细探讨Mybatis Mapper的几...

    mybatis生成mapper和dao工具

    本篇主要介绍如何使用MyBatis的Generator工具来自动化生成Mapper接口和DAO实现类,以此提高开发效率。 一、MyBatis Generator简介 MyBatis Generator(MBG)是MyBatis框架的一个扩展工具,它能够自动生成Java源代码...

    springboot mybatis mapper.xml 配置

    接下来,创建一个数据访问对象(DAO)接口,例如`UserMapper`,并使用`@Mapper`注解标记: ```java import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import org....

    mybatis mapper自动生成

    在实际开发中,为了提高效率,我们常常会利用工具来自动生成Mapper接口、对应的Bean类和DAO实现,以及Mapper XML配置文件。这个压缩包提供了一个用于自动生成MyBatis相关组件的工具。 首先,让我们来详细了解一下...

    mybatis自动生成mapper、dao和entity配置文件

    mybatis自动生成mapper、dao和entity配置文件,将文件放在classpath路径下

    mybatis generator自动生成DAO、Bean、MapperXML等文件

    3. **Mapper接口和XML映射文件**:Mapper接口是DAO接口的具体实现,它通过MyBatis的动态SQL功能来执行SQL。XML映射文件则包含了具体的SQL语句,包括元素(用于设置参数)、元素(用于获取结果集)。MBG会根据表的...

    Mybatis的Mapper方式整合elasticsearch的DSL调用,基于接口和代理生成bean注入的方式进行调用

    本篇文章将详细介绍如何将Mybatis的Mapper方式与Elasticsearch的DSL(Domain Specific Language)查询相结合,以及如何通过CGlib实现动态代理来优化这一过程。 首先,让我们理解什么是Mybatis的Mapper方式。Mybatis...

    idea的mybatis插件支持从dao到maper

    本文将详细介绍Idea的Mybatis插件及其如何帮助我们从DAO层直接进入Mapper文件,从而实现更便捷的Mybatis相关DAO到Mapper的开发。 MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis...

    spring和mybatis整合(mapper代理自动扫描方式实现)

    Spring和MyBatis整合的关键在于Mapper的代理实现。Spring通过MapperScannerConfigurer组件自动扫描并注册Mapper接口。在applicationContext.xml中加入以下配置: ```xml &lt;bean class="org.mybatis.spring.mapper....

    mybatis 生成 pojo mapper dao 的工具包

    mybatis 生成 pojo mapper dao 的工具包

    自动生成Mybatis 实体类、DaoMapper、XML可视化界面工具

    - Mybatis使用动态代理机制,通过实现这些接口的方法,动态生成SQL执行逻辑,降低了代码的耦合度。 3. **XML映射文件**: - XML映射文件是Mybatis的核心,它定义了SQL语句、参数映射和结果映射。自动生成的XML...

    MyBatis-generator逆向生成实体、mapper、dao

    4. **javaClientGenerator**: 配置Mapper接口和实现类的生成,可以选择不同的生成策略,如"SIMPLE"、"MIXED"或"复杂模式"。 **Pom.xml的作用** 在提供的文件列表中,`pom.xml`是Maven项目的配置文件。它包含了项目...

    Mybatis整合通用Dao,Mybatis整合通用Mapper,MyBatis3.x整合通用 Mapper3.5.x

    在MyBatis中,通过动态SQL实现,我们可以创建一个基础的Dao接口,包含这些通用方法,并在Mapper XML文件中编写对应的SQL语句。 接着,我们引入通用Mapper的概念。通用Mapper是MyBatis的一个扩展,由田梦阳...

    mybatis生成对应的dao/model/mapper

    总结,MyBatis Generator是MyBatis框架下的一个重要工具,它简化了开发流程,通过自动化生成DAO、Model和Mapper XML文件,让开发者能更专注于业务逻辑的实现,而不是重复的基础代码编写。了解并熟练掌握MBG的配置和...

    Mybatis mapper动态代理的原理解析

    在开始动态代理的原理讲解以前,我们先看一下集成mybatis以后dao层不使用动态代理以及使用动态代理的两种实现方式,通过对比我们自己实现dao层接口以及mybatis动态代理可以更加直观的展现出mybatis动态代理替我们所...

    mybatis 生成bean,mapper,service代码

    Service 层是业务逻辑处理的主要场所,它调用 Dao(Mapper)接口完成数据访问。自动生成的 Service 类通常包含对 Mapper 方法的简单封装,如 CRUD 操作。这样,开发者可以快速构建起服务层,然后在此基础上添加复杂...

    Mybatis+Eclipse插件用来快速生成model和mapper以及Dao

    而Eclipse作为一款强大的Java集成开发环境,提供了丰富的插件来增强开发体验,其中之一就是用于Mybatis的插件,能够帮助开发者快速生成Model、Mapper以及DAO层的代码,极大地提高了开发效率。 这个Eclipse插件的...

    mybatis/ibatis自动生成SQLMapper脚本

    1. **配置Generator**: MyBatis 提供了一个代码生成器(Code Generator),可以自动生成包括Mapper接口、Mapper XML文件、DAO实现类在内的代码。配置Generator通常在`generatorConfig.xml`文件中进行,其中包含...

    springboot,mybatis,springboot-mybatis环境,自动生成dao实现类,自动扫描

    springboot,mybatis,springboot-mybatis...springboot环境,mybatis自动扫描,mybatis无需实现类,mybatis mapper扫描 springboot mybatis 手动写dao实现类的: https://download.csdn.net/download/nowsdt/11085250

Global site tag (gtag.js) - Google Analytics