逆向工程生成的mybatis中mapper文件。mapper接口,实例化成对象

时间:2023-03-09 09:45:35
逆向工程生成的mybatis中mapper文件。mapper接口,实例化成对象

逆向工程生成的mybatis中mapper文件中,*mapper文件只是接口,而不是类文件。但是却可以通过spring的容器获得实例。

例如:

//1、获得mapper代理对象,从spring容器获得。
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml"); TbItemMapper itemMapper = applicationContext.getBean(TbItemMapper.class);

原因:通过xml配置,获取bean的时候,mybatis通过JDK的动态代理方式,在启动加载配置文件时,根据配置mapper的xml去生成。

<!-- 数据库连接池 -->
<!-- 加载配置文件 -->
<context:property-placeholder location="classpath:properties/*.properties" />
<!-- 数据库连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="driverClassName" value="${jdbc.driver}" />
<property name="maxActive" value="10" />
<property name="minIdle" value="5" />
</bean>
<!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 数据库连接池 -->
<property name="dataSource" ref="dataSource" />
<!-- 加载mybatis的全局配置文件 -->
<property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" />
</bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!--扫描 DAO 中com.taotao.mapper 模块的这个包,然后生成对应的 mapper实例。这个是通过一个工厂方式生成
通过动态代理方式。如果实例mapper的时候,就可以生成对应的mapper。
-->
<property name="basePackage" value="com.taotao.mapper" />
</bean>

参考:http://blog.csdn.net/tanqidong1992/article/details/48026491

参考:https://i.cnblogs.com/EditPosts.aspx?postid=7602084