栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis笔记

一、MyBatis
  • mybatis是一个优秀的基于java的持久层框架。它内部封装了jdbc,使开发者只需要关注sql语句本身。而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程
  • mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过java对象和statement的sql的动态参数进行映射生成最终执行的sql语句
  • 最后mybatis框架执行slq并将结果映射为java对象返回,采用ORM思想解决了实体和数据库映射的问题,对jdbc进行了封装,屏蔽了jdbc api低层的访问细节,使我们不用jdbc api打交道,就可以完成数据库的持久操作。**
    **
二 、配置文件

sqlMapConfig.xml

 configuration配置
 
 - properties属性  -- 加载properties文件。 使用 ${jdbc.username}
    
 - setttings 设置
 - typeAliases 设置别名   mybatis  本身自己已经设置了基本类型的别名
 	  
        
    
    
    
        select * from emp
    
    
 - typeHandlers 类型处理器
 - objectFactory 对象工厂
 - plugins 插件
 - environmnets 环境
 		environments 环境变量
 			transactionManager 事务管理器
 			dataSource 数据源
 - databaseidProvider 数据库厂商标识
 - mappers 映射器




        //指定默认的环境名称
              //指定当前环境的名称
              //指定事务管理类型是JDBC
              // 
                
                
                
                
            
        
    
    // mapper resource
    

 - 使用相对类路径的资源引用
 (以下了解即可)
 - 使用完全限定的资源定位符(url)
 - 使用映射器接口实现类的完全限定类名
 - 将包内的映射器接口实现全部注册为映射器

    
        
    

empMapper.xml





    
        select  * from emp
    



 3 测试

```java
   @org.junit.Test
    public void Test4() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = build.openSession();
        
        empMapper mapper = sqlSession.getMapper(empMapper.class);
        
        List emps = mapper.findAll();
        System.out.println(emps);
        sqlSession.close();
    }
五、动态sql
  • if 条件判断

< where >等同于 where 1=1
if去判断参数为0(基本类型)与不为null(引用类型)则取拼接sql


        select * from  emp
        
            
                #{empno}
            
        
    
  • 重复片段抽取
     select  * from emp

 
  • typeHandlers
    类型处理器
  • plugins
    插件-分页查询

实体关系:

  • 一对一
    resultMap 指定映射关系
    手动指定字段与实体属性的关系
    column:数据表的字段名称
    property:实体的属性名称
private  int empno;
    private  String ename;
    private  String job;
    private  int mgr;
    private Date hiredate;
    private  int sal;
    private  int comm;
    private  Dept dept;
    private  int card;

 
        
        
        
        
        
        
        
        
        
        
    
    // 指定实体属性类型
 
  • 一对多 多对多
   private  int deptno;
    private  String dname;
    private  String loc;
    private List empList;


        
        
        
        
            
            
            
            
            
            
            
        
    
MyBatis-Spring整合
  • spring-dataSource.xml
  // 加载jdbc配置问津
   
  	// 配置连接池
    
        
        
        
        
    
    // 配置sqlSession
    
        
        
    
    // 扫描接口与xml文件
    // 其扫描的接口和文件必须目录路径一致、文件名一致。这样可将接口与xml映射互相绑定,否则 nvalid bound statement 

    
        
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/677822.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号