Mybatis

什么是MyBatis

MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBitis消除了几乎所有的JDBC代码和参数的手工设置及对结果的检索.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Object ,普通的Java对象)映射成数据库中的记录.

入门

每个MyBatis的应用程序都以一个SQLSessionFactory对象的实例为核心.SQLSessionFactory对象的实例可以通过SqlSessionFactory对象来获得.SqlSessionFactory对象可以通过XML配置文件,或从以往使用惯例中准备好的Configuration类实例中来构建SQLSessionFactory对象.

Mybatis-Spring

http://www.mybatis.org/spring/zh/index.html
在MyBatis的github官网(https://github.com/mybatis/spring)中有一个叫MyBatis Spring Adapter(MyBatis-Spring)的库,暂且翻译成:MyBatis Spring适配器,它的作用是:原话:“MyBatis-Spring adapter is an easy-to-use Spring3 bridge for MyBatis sql mapping framework.”,就是了为更容易的将MyBatis与Spring整合,充分发挥二两结合的优势,它相当于一个桥。
MyBatis-Spring会帮助你将MyBatis代码无缝地整合到Spring中。使用这个类库中的类,Spring将会加载必要的MyBatis工厂类和session类。这个类库也提供一个简单的方式来注入MyBatis数据映射器和SqlSession到业务层的bean中。而且它也会处理事务,翻译MyBatis的异常到Spring的DataAccessException异常(数据访问异常,译者注)中。最终,它并不会依赖于MyBatis,Spring或MyBatis-Spring来构建应用程序代码。

pom.xml文件中添加依赖项,除了Spring的基本依赖之外:

        
        
              org.mybatis
              mybatis
              3.2.2
        
        
              org.mybatis
              mybatis-spring
              1.2.0
        
        

Spring配置文件如下:

     
    
    
    
        
        
        
        
        
        
        
        
        
        
        
    
    
    
        
        
    
    
    
        
    

Mybatis的配置文件mybatis-config.xml,此配置文件中的值也可以在上面SqlSessionFactoryBean进行属性注入:


    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
    

    
         
    


直接使用SqlSessionTemplate 进行数据库操作

@Autowired
private SqlSessionTemplate sessionTemplate;

去掉mybatis-config.xml配置文件

直接在Spring配置文件中对Mybatis进行配置

    
    
        
        
        
        
        
        
    

mapperLocations:它表示我们的Mapper文件存放的位置,当我们的Mapper文件跟对应的Mapper接口处于同一位置的时候可以不用指定该属性的值。

configLocation:用于指定Mybatis的配置文件位置。如果指定了该属性,那么会以该配置文件的内容作为配置信息构建对应的SqlSessionFactoryBuilder,但是后续属性指定的内容会覆盖该配置文件里面指定的对应内容。

typeAliasesPackage:它一般对应我们的实体类所在的包,这个时候会自动取对应包中不包括包名的简单类名作为包括包名的别名。多个package之间可以用逗号或者分号等来进行分隔。

typeAliases:数组类型,用来指定别名的。指定了这个属性后,Mybatis会把这个类型的短名称作为这个类型的别名,前提是该类上没有标注@Alias注解,否则将使用该注解对应的值作为此种类型的别名。

你可能感兴趣的:(Mybatis)