mybatis开发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis开发相关的知识,希望对你有一定的参考价值。
Mybatis的历史:mybatis又称ibatis是apache的开源项目 2010年迁移到Goodle code更名mybatis
一、mybatis-cofig.xml的配置
开头文件:
这里用的是mybatis版本3.0的jar包;然后是对dtd文件的一个引用
在<configuration></configuration>里面加上下面的这些配置信息
1、配置mybatis与数据库的链接这里配置的是orcale数据库
2、配置log4j日志信息和懒加载(Lazy)
3、配置映射mapper文件
4、别名的配置
二·、Mybaits的功能架构
1、api接口集:提供外部进行数据操作的接口(提供增、删、改、查获取配置)
2、数据处理层:sql查找、sql解析、sql执行、结果映射;
3、基础支持层:链接管理、事务管理、配置加载、缓存处理;
三、ORM的基本思想
1、从配置文件产生SessionFactory(就是从mybatis-config.xml里面产生SessionFactory)
2、通过SessionFactory获取session;
3、在session中完成对数据的增删该查和事务提交
4、用完之后关闭session
5、Pojo对象与数据库之间的mapping配置文件的一个映射
四、配置mapper的映射文件
1、首先对mapper的dtd文件的引用
<mapper namespace="com.jinlin.hotelsup.dao.imp.GoodstypeMapper"></mapper>
这里的namespace里面是一个命名空间(这里指定的是dao.imp包下面的一个接口)下面就可以写你的sql语句了
这里的resultType=""里面只是一个别名,他在mybatis文件里面进行了配置,这样可以减少代码量
五、加载配置文件、初始化SessionFactory、调用LOG4J日志文件
sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);通过下面的方法生成sessionFactory
然后在用openSession()打开session;就可进行增删该查的数据操作了;
最后在关闭session;session.close();(这里的增删改还要进行事务提交:session.commit();)
六、resultMap映射的配置
result表示数据库的字段和对象的字段的映射,column表示列名,property表示的是对象的属性名
<association>里面的property对应的是实体对象里面的一个属性名,javatype对应的是一个实体,通过这样的方法实现
表与表的关联
七、懒加载又称延迟加载(Lazy)
1、首先要引入Lazy的jar包
2、然后在mybatis-config.xml里面进行配置
3、重新配置resultMap结果集,
因为懒加载这里涉及到单表查询
注意关联的时候,是通过select属性,这个select属性查询的是产品分类表(也是通过ID来查询的)
查询分类表的时候的SQL语句的配置:
这里的id:selectgoodstypeone对应的是assontation 里面的select所写的路径;
这样就能够实现懒加载了!
以上是关于mybatis开发的主要内容,如果未能解决你的问题,请参考以下文章