MyBatis基础

MyBatis

最早来源于Apache基金会的开源项目iBatis,2010年移到google code改名为MyBatis

支持普通的SQL查询,是存储过程和高级映射的优秀持久层框架

封装了几乎所有的JDBC代码,包括参数以及结果集的检索

使用简单的XML来注解映射关系,将POJOS映射成数据库的记录

需要的jar包:mybatis-3.2.5.jar;mysql-connector-java-5.1.8-bin.jar

MyBatis配置流程:

一个是XML文件配置,一个是java代码的注解

MyBatis将SQL配置信息装载成一个个MappedStatement对象,并放入内存中

接口层接受到请求时,会传入SQL的id和传入对象(如:Map、JAVAbean、int等),根据SQL的ID找对应的MappedStatement

然后根据参数对MappedsStatement对象解析成要执行的sql语句

执行后得到的结果集根据相应配置转换成对应的类型(如:HashMap、JavaBean或基本数据)

MyBatis配置文件

1)SqlMapConfig.xml:主配置文件,用于配置数据库相关参数和框架参数
2)SqlMap.xml:映射文件,用于定义SQL和映射信息

MyBatis主要API

1)SqlSessionFactoryBuilder:主要对SqlMapConfig.xml主要配置文件构建SqlSessionFactory;
2)SqlSessionFactory:SqlSessionFactory是应用的核心,负责创建SqlSeesion;
3)SqlSeesion:SqlSeesion包含所有SQL执行的方法,用于执行已映射的SQL语句
3)RowBounds类:实现分页功能,原理是在内存中分页不推荐使用。

new RowBounds(offset,limit):offset:记录起始行,limt需要的记录条数

sqlSession.selectList("SQLid",参数,rowBounds对象)

4)DeptMapper:使用者自己创建。创建绑定映射语句的接口,可以从SqlSession中获取。其Mapper中的方法必须和SqlMap.xml中的id值一致。

MyBatis列子


     
     
  
      
      
    
       
       
      
        
        
      
        
        
        
         
         
        
         
         
        
         
         
        
         
         
      
        
        
       
       
  
      
      
  
      
      
    
       
       
  
      
      

     
     
     
     
 
      
      
       
       
 insert into tableName set (col1,col2,...) values(#{属性名1},#{属性名2},...)
 
      
      
 
      
      
 
      
      
 
      
      
 
 
      
      
 
      
      
 
      
      
    
       
       
    ...
 
      
      

     
     public class test{
    public void test() throws IOException{
        String conf = "path/SqlMapConfig.xml";
        Reader rd = Resources.getResourcesAsReader(conf);
        SqlSessionFactoryBuilder sfb = new SqlSessionFactoryBuilder;
        SqlSessionFactory sf = sfb.build(rd);
        SqlSession session = sf.openSession();
        
        RowBounds rowBounds = new RowBounds(offset,limit);
        
        session.insert("SQLid",参数);
        session.update("SQLid",参数);
        session.delete("SQLid",参数);
        session.seleteOne("SQLid",参数);//查询条记录
        session.selete("SQLid",参数,rowBounds);
        
        session.commit();
        session.close();
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值