SSM(SpringMVC+Spring+MyBatis)项目中的Controller就相当于SSH(Struts+Spring+Hibernate)项目中的Action。
1、userDaomapper.xml的namespace为接口IUserDao所在的包路径。
namespace用于与DAO层的接口类进行绑定,这样无需实现DAO层的接口类,其接口类就能够自动的找到相关的SQL语句进行绑定实现。
具体例子:
UserDaomapper.xml部分代码:
<mapper namespace="com.led.dao.IUserDao"> <!--select表示查询,它的id名称必须与DAO层接口的方法名相同,否则无法绑定--> <select id="selectByName" parameterType="String" resultType="User"> select * from t_user where username = #{username} </select>
IUserDao.java部分代码:
//这里以接口形式定义了数据库操作方法,我们只需 // 在Mybatis映射文件中对其进行映射就可以直接使用 public User selectByName(String username);
2、在spring-mybatis.xml文件中要配置mapper配置文件(还包括设置类别名的config.xml文件)的位置以及Dao接口所在的包路径。
<!-- mybatis核心bean --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="configLocation" value="classpath:config.xml"/> <!-- 这句配置mapper配置文件的位置 如果采用注解的方式这句可以省去 --> <property name="mapperLocations" value="classpath:com/led/mapper/*.xml" /> </bean> <!-- 自动搜索mapper接口 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.led.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean>