Mybatis与JPA比较
Mybatis
- 需要在spring-boot的主类添加@MapperScan(“com.example.demo.dao”)
- 需要添加Mapper(Dao)接口,自定义所有的Dao方法以及使用注解或者xml添加对应方法的sql实现。
- 没有自动建表,需要手动建表。
- 配置application.properties连接数据库属性。
JPA
- 需要在pojo类添加注解@Entity,pojo类对应的每个属性需要添加@Id或者@Column。
- 添加Repository(Dao)接口,需要实现JpaRepository接口,可以不写方法声明。
- 配置application.properties连接数据库属性。
- 可通过配置spring.jpa.properties.hibernate.hbm2ddl.auto=update属性实现自动建表。
总结:都需要添加Dao类,Mybatis的Dao类需要实现具体sql(注解或者xml),JPA不需要。对于pojo类的侵入性而言,Mybatis无需更改pojo类的任何地方,而JPA需要添加注解实现映射。