mybatis小结

目录

 

引言

一、mybatis结构文件

二、单表查询操作

三、业务层

四、Struts2+Mybatis整合

​五、多参处理

六、ResultMap结果映射

七、多表查询操作

八、动态sql标签

九、$和#的区别


 

引言

1.Mybatis框架概念:是持久层框架,封装了JDBC,解决了DAO中通用问题

2.JDBC开发的DAO存在的问题:

a)手工的ORM,产生大量冗余代码

     b)手工进行日期处理:java.util.Date----java.sql.Date

     c)JDBC没有缓存:查询效率低

3.Mybatis的好处:

  • 自动进行ORM映射,减少冗余代码
  • 自动进行日期转换
  • mybatis提供缓存机制,提高查询效率
  • mybatis对于多表操作可以进行关系的维护
  • mybatis提供动态sql机制,减少DAO方法的开发

4.MyBatis实现DAO的原理:MyBatis实现DAO接口采用的是Mapper文件,文件中实现DAO中的方法采用的是标签,这些标签是sql的关键字

 

一、mybatis结构文件

环境搭建

  • 引入相关jar+配置文件

      1.          Mybatis的核心jar :mybatis-3.2.2.jar 

ojdbc5.jar  数据库的驱动jar

log4j-1.2.16.jar :配合配置文件,用于日志输出

 

2.引入相关配置

  • Mapper文件:是DAO接口的实现,拷贝一个mapper文件的模板保存在src中,方便使用,具体实现DAO的mapper文件保存在dao包下。
  • mybatis-config.xml :Mybatis的核心(主)配置文件,作用:配置Mybatis的运行环境,mapper文件的注册,保存的位置随意、文件名随意,建议文件保存在src
  • log4j.properties : (可选) 用于日志输出,名称不能改变,保存在src中

3.初始化配置

           在mybatis-config.xml中配置:mybatis的运行环境+Mapper文件注册,文件内容如下

 

框架开发DAO

1.建表、2.实体、3.DAO接口、

4.采用mapper文件实现DAO接口:

5.mapper文件注册

 

mybatis核心API

  1. Resources :作用获得资源,用于读取MyBatis的核心配置文件,加载MyBatis的运行工厂
  2. SqlSession
    1. 作用1 :内部封装一个Connection对象,一个SqlSession对象和一个Connection对象一一对应,用于事务控制

Select 操作:不用控制事务

DML:必须进行事务控制

               2.. 结合mapper文件创建DAO的实现(代理)

3、SqlSessionFactory:sqlSession工厂,生成SqlSession对象,这个组件是一个重量级组件,线程安全,一个应用创建一个                                                 SqlSessionFactory对象就可以。

 public void test(){
    //1.读取Mybaits的核心配置文件
	InputStream is=Resource.getResourceAsStream("mybatis-config.xml");
	//2.创建SqlSessionFactory
	SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
	//3.创建SqlSession对象
	SqlSession sqlSession = factory.openSession();
	//4.创建DAO:通过sqlSession对象,结合mapper文件创建DAO的实现
	IAccountDAO dao = sqlSession.getMapper(IAccountDAO.class);
	//调用DAO方法
	dao.selectById(1);
	//5.关闭
	is.close();
	sqlSession.close();
 }

      注意事项:

sql语句必须测试:在mapper文件中不要有 (;)

mapper文件注册时,路径需要拷贝,保留src的下一级,不要”/”

 

二、单表查询操作

 

 

 

 

 

 

三、业务层

 

 

 

四、Struts2+Mybatis整合


五、多参处理

 

六、ResultMap结果映射

 

 

七、多表查询操作

 

 

 

八、动态sql标签

动态sql :简化mapper文件和DAO接口

常用标签有:

<sql>片段、<where>、<trim>、<foreach>

 

 

九、$和#的区别

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值