不知不觉看了这个框架两星期,初觉得很神奇,学完觉得它略显麻烦。可能我还没有领悟框架的精髓吧!这其实jdbc+dbutils用起来也很方便快捷!由于本人非常讨厌xml的一坨配置,对于mybatis并没觉得他有多牛逼!
mybatis的最大的好处就是多条件查询时可以避免拼接sql语句发生错误,做简单的查询用它简直鸡肋!别给我说使用xml那种方便修改方便移植!人家php没有用那一坨xml配置难道不活了?反而人家写web贼溜,java被这些框架折腾的略显臃肿!
下面聊聊关于mybatis的学习,看了看网上大家写的demo,感觉大部分人写得都千变一律,要么你抄我我抄你,没有讲到核心!
这个框架重点在于要配置好!不然报个错真不如代码那种直观!这个框架的基础的相信大家一看就懂,在此略过。重点说说spring+mybatis的整合,这点网上的太啰嗦了!
废话少说,聊正经的。整合这俩个框架,首先要明白这个dao层有几种实现方式。一般有两种吧!
第一种 原始dao:
dao层就这样写!
public class StudentDao{
public void add(Student student){
SqlSession sqlSession=null;
sqlSession=MybatisUtil.getSqlSession();
sqlSession.insert("StudentMapper"+".add",student);
sqlSession.commit();
}
}
mybatis.xml里这样配置
<!-- 加载映射文件-->
<mappers>
<mapper resource="mybatis/StudentMapper.xml"/>
</mappers>
第二种方式:dao层里面配置mapper接口和mapper.xml
这样mybatis.xml配置文件里可以啥也不用写!
只需在spring.xml配置文件中写这么一段
<!-- Mapper动态代理开发 扫描 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 基本包 -->
<property name="basePackage" value="com.min.dao"/> <!-- value值为dao层包名-->
</bean>
好啦就说这么多,感觉学java要有勿忘初心的感觉,mybatis就是个封装的jdbc ,只在dao层起作用,在dao层调用它的一坨xml起作用!不要被过多的配置迷失!