mybatis动态代理机制
- mybatis自动创建dao接口的实现类 ,在实现类中调用sqlsession相应的方法selectList(String sql)
,insert(String sql,Object)等。如sqlsession.select(sql) - 生成sqlsession对象的代码较固定,可由mybatis的工具类,读取mybatis主配置文件生成SqlSessionFactory类的对象factory,factory.opensession()生成sqlsession。
- mybatis如何推断信息生成dao接口实现类? 最主要的信息是操作相应sql语句,与sqlsession调用查询或插入的方法。如studentDao.insert(student),返回值类型为Integer,根据dao接口类型名和其方法就可推断出需要的信息。sql=studentDao全限定名称.insert,对应sql映射文件中的唯一一条sql语句。再根据select()的返回值类型和参数推断出sqlsession调用的方法为sqlsession.insert(sql,student)。这样就能生成各个dao接口的实现类了。
本文探讨了MyBatis框架内部如何通过动态代理机制自动生成DAO接口实现类的过程。主要介绍如何从DAO接口及其方法中推断出所需SQL语句,并结合SqlSession组件完成数据的查询与插入操作。
2266

被折叠的 条评论
为什么被折叠?



