1、采用数据映射器(MapperFactoryBean)的方式,不用写mybatis映射文件,采用注解方式提供相应的sql语句和输入参数。
<!-- 引入jdbc配置文件 --> <context:property-placeholder location="jdbc.properties"/> <!-- 创建SqlSessionFactory,同时指定数据源--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 自动将映射接口转换为bean --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.easyway.*.dao.mapper"/> <property name="sqlSessionFactory" ref="SqlSessionFactory" /> </bean> <!-- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" p:basePackage="com.easyway.*.dao.mapper" p:sqlSessionFactory-ref="sqlSessionFactory"> </bean> -->
package com.mybatis.mapper; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; public interface QueryMapper { /** * 获得所有表名、注释 * @param dbName * @return */ @Select("SELECT DISTINCT(TABLE_NAME), TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = #{dbName}") public List<Map<String, String>> getTables(@Param("dbName") String dbName); /** * 获得表字段、注释 * @param dbName * @param tblName * @return */ @Select(" SELECT " + " COLUMN_NAME," + " DATA_TYPE," + " COLUMN_COMMENT" + " FROM " + " INFORMATION_SCHEMA.COLUMNS" + " WHERE " + " table_schema = #{dbName}" + " AND table_name = #{tblName} ") public List<Map<String, String>> getTable(@Param("dbName") String dbName, @Param("tblName")String tblName); @Select("SELECT * FROM ${tblName}") public List<Map<String, Object>> getTableInfo(@Param("tblName")String tblName); }
2、采用接口org.apache.ibatis.session.SqlSession的实现类org.mybatis.spring.SqlSessionTemplate。
MyBatis中,sessionFactory可由SqlSessionFactoryBuilder来创建。MyBatis-Spring 中,使用了SqlSessionFactoryBean来替代。
SqlSessionFactoryBean有一个必须属性dataSource,另外其还有一个通用属性configLocation(用来指定mybatis的xml配置文件路径)。
<!-- 数据库连接池 --> <bean id="dataSource" parent="parentDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:mybatis/myBatisConfig.xml" /> <property name="mapperLocations" value="classpath:mybatis/mapper/*.xml"/> </bean> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" autowire="byName"> <constructor-arg ref="sqlSessionFactory" /> </bean>
3、采用抽象类org.mybatis.spring.support.SqlSessionDaoSupport提供SqlSession。
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:mybatis/myBatisConfig.xml" /> <property name="mapperLocations" value="classpath:mybatis/mapper/*.xml"/> </bean> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory" /> <constructor-arg index="1" value="BATCH" /> </bean>
public abstract class BaseIbatis3Dao<E, PK extends Serializable> extends SqlSessionDaoSupport implements EntityDao<E, PK> { private final static String mapperNs = "";//通过注入方式 protected E getById(Object id) throws DataAccessException { return getSqlSession().selectOne(mapperNs + ".getById", id); } }
相关推荐
Spring与Mybatis三种常用整合方法
spring_mybatis 整合jar包,基本常用jar包的整合,。。。。。。。。。。。。。。。
mybatis与spring整合时所依赖的jar包,包括: 1.Mybatis所需的jar包括: ant-1.9.6.jar ant-launcher-1.9.6.jar asm-5.2.jar cglib-3.2.5.jar commons-logging-1.2.jar javassist-3.22.0-CR2.jar log4j-...
一个完整而简单SSM项目,包含SQL脚本、代码与学习笔记。内容Spring如何整合SpringMVC与Mybatis以及整合原理的源码分析。
该压缩包包含了mybatis与spring整合的全部jar包,为学习整合ssm框架提供一个环境
Spring-Mybatis整合包含基本的增删改查简单易懂!
SpringMVC学习(四)——Spring、MyBatis和SpringMVC的整合
mybatis与spring整合全部jar包(包括springmvc)
使用Spring框架和MyBatis框架整合时需要的所有jar包,
一个简单的小项目Spring与Mybatis框架的整合
通过SpringMvc+Spring+Mybatis+Maven整合,学习用maven搭建框架
mybatis-spring 整合jar包,Spring和MyBatis环境整合mybatis-spring-1.1.1
mybatis和spring整合jar包
spring整合Mybatis纯净项目,基础搭建,下载就用,包含整套源码,jar包
springmvc + spring + mybatis + maven整合配置文件
spring4.3 mybatis3.4 整合 ssm整合,maven 多模块web项目
spring mvc mybatis 整合源码,带数据库脚本,带详细注释,适合初、中、高各级开发人员使用