mybites是什么?原理?用法?优缺点是什么?
1.以我学习的思路而言,先是死记硬背记下理论和原理,毕竟理论指导实践 2.实践可以检验自己记得理论是否正确,多练才能理解原理,运用中深入了解底层原理
二哥给我讲的原理:数据库链接池的使用,线程池的使用,其实原理大概相同,解决事情的思路是一样的,也就是传说中的思想是一致的。因为使用jdbc的时候每次链接都要进行创建和销毁,也就是创建链接并且最后close掉这个链接,所以消耗内存大,为什么呢,因为创建和销毁是会占用资源的。而链接池的作用就是,把jdbc的创建和销毁的哪个过程只执行一次,这样就大大节省了资源。
二哥给我讲的时候,按照项目中xml的文件配置给我讲的,底层都是操作的jdbc的东西,本质都是对数据库的操作,mybites只是做了封装,面向对象的思维解决问题。
来自百度百科的知识: 1.mybites是什么? mybites是支持普通sql查询,高级映射和存储过程的持久层框架.mybites消除了几乎 所有有jdbc代码和参数的手工设置以及结果集的检索。mybites使用简单的xml或注释 用于配置或者原理映射,将接口和java的Pojos普通的java对象(plan old java objects)映射成数据库 的记录。 备注:xml是可扩展标识语言;
3.orm工具的基本原理的思想是什么? 1.从配置文件xml中得到sesionFactory; 2.从sessionFactory产生session;
3.由session中完成对数据的增删改查和事务的提交等; 4.之后关闭session; 5.在java对象和数据之间做mapping配置,通常也是xml文件;
在SpringMvc+mybites的框架中,它实现了Dao接口与xml映射文件的绑定,自动的为我们生成了接口的具体实现类, 使用起来变得更加有效率和方便! MyBites应用程序根据xml配置文件创建SqlSessionFactory,sqlsessionFactory在根据配置,配置来源于两个方向,一一处是配置文件一处是java代码的注释,获取一个sqlSession。sqlSession包含了执行sql所需要的方法,这样就可以通过创建sqlSession实例对象直接运行映射的sql语句,完成对数据的增删改查和事务的提交,完成之后关闭sqlsession;
1.如何配置xml,通过转发dispatcherServlet配置 spring-mybitis.xml 2.sqlSessionFactoryBean初始化把*mapper.xml的*保存成*sqlSession对象到内存中去 3.MapperScannerConfigure同时扫描包把特点注释添加到spring容器里。mybites在初始化的时候,会将mybites的配置信息全部加载到内存中,使用org.apache.ibites.seeison.configuration实例来维护。使用者可以使用sqlSession.getConfiguration()方法来获取。mybites的配置文件中配置信息的组织格式和内存中对象的组织形式完全对应的。 加载到内存中会生成一个对应的MappedStatement对象,然后会以key=“com.louis.mybites.dao.EmployeeMapper.selectByMinSalary”,value为MappedStatement对象的形式维护 到configuration的map中。当以后需要使用的时候,只需要通过 id值来获取就可以了。SqlSession根据Statement ID,在mybites配置对象configuration中获取到对应的MapperStatement对象,然后调用mybites执行器来执行具体的操作;
正如二哥说的其实说到底还是用面向对象的思维对jdbc的一个 简单的封装
参考文章:http://www.yihaomen.com/article/java/302.htm非常有价值! 超级有价值,对于新手,http://blog.csdn.net/liangmaoxuan/article/details/53054568?locationNum=3&fps=1,也可以研究一下框架;
推荐阅读
- 流程控制语句 for循环打印菱形
- ArrayCopy
- 支付宝单笔转账实现
- 多线程|Java三线程按序打印10次ABC (Lock实现与synchronized,wait,notify实现)
- IDEA下进行 JMH Java微基准测试工具套件
- tomcat7 redis seeion共享集群
- 一个小例子理解多态 - 修改 0 次