mybatis基础总结

一、DAO传统开发模式

步骤:
1、创建全局配置文件
2、创建映射文件
3、将映射文件加载到全局配置文件
4、使用
      SqlSessionFactoryBuilder() --> SqlSessionFactory()  --> SqlSession

全局配置文件中加载映射配置文件



 
        
            
            
        

映射文件




注:#{} 表示一个占位符  ${}表示一个连接符,连接字符串
       parameterType、resultType为类的全名或别名
       当resultType为自定义Class时,数据库返回的结果集以Class中set方法后面的名称对对象属性进行赋值

使用:

 //获取全局文件输入流对象
 InputStream in = Resource.getResourceAsStream("全局配置文件的路径");
 //获取SqlSessionFactory对象 
 SqlSessionFactory factory = new SqlSessionFactoryBuilder().builder(in);
 //得到SqlSession对象
 SqlSession session = factory.openSqlSession();
 //执行Sql语句
 session.selectOne("namespace.ID",(Object)parameter);
 session.selectList("namespace.ID",(Object)parameter);
 session.delete("namespace.ID",(Object)parameter);
 session.update("namespace.ID",(Object)parameter);
 session.insert("namespace.ID",(Object)parameter);

二、Mapper 代理模式开发DAO

要点

1、映射文件的namespace为Mapper接口的全路径
2、Mapper接口中的方法名必须与映射文件在中SQL语句保持一致
3、Mapper接口中方法返回值类型必须与SQL语句中resultType一致
当接口返回值为List时,resultType与List中的元素类型一致
4、接口中方法的参数类型必须与SQL语句的parameterType一致

使用

 SqlSession session = factory.openSqlSession();
/*通过SqlSession对象得到Mapper接口的一个代理对象
  参数是Mapper接口的类型*/
MapperInterface mapperInterface = session.getMapper(MapperInterface.Class);
然后可以使用mapperInterface对象调用接口中方法

Mappers
用来在全局配置文件中加载映射文件

注意: 通过mapper接口来加载
1、映射文件的文件名必须与mapper接口名相同
2、映射文件和Mapper接口在同一目录下
3、这种方式只适合mapper代理开发模式
eg:

批量加载映射文件

注意:批量加载映射文件 自动取扫描一个包,将该包下的所有映射文件加载到全局配置文件
1、映射文件的文件名必须与mapper接口名相同
2、映射文件和Mapper接口在同一目录下
3、这种方式只适合mapper代理开发模式
eg: 

三、高级应用

连接


属性值:test:  true false


     
    
    

自己编写结果集映射
column:数据库返回的列名
property:对象的属性名
resultMap:一对多或多对多的查询中,必须使用它为查询结果的类型

一对一

Class1与Class2为一对一的关系
Class1成员变量:    Class2 class2;
二者连接查询结果

    
    
    

     
        
        
        
    

id:唯一标识一行

一对多

Class1与Class2为一对的多关系
Class1成员变量:   List class2List;
二者连接查询结果

    
    
    

       
        
        
        
    

id:唯一标识一行
多对多:在局部是一对多

注意:



你可能感兴趣的:(mybatis基础总结)