增加依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
框架配置(选配):
mybatis.configuration.default-statement-timeout=30
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.mapper-locations=classpath:/mapper/*/*.xml
logging.level.com.cy=DEBUG
创立 Dao 层接口,并由 @Mapper 注解
@Mapper 是由 MyBatis 框架中定义的一个形容数据层接口的的注解(所有的注解
只起到一个描述性的作用), 用于通知 Spring 框架此接口的实现由 mybatis 创立,并将其
实现类对象存储到 spring 容器。
创立接口对应的 xml 文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">
</mapper>
Mybatis 长处:
- 与 JDBC 相比,缩小了 50% 以上的代码量。
- 简略开源,学习成本低。
- MyBatis 相当灵便,不会对应用程序或者数据库的现有设计强加任何影响,SQL 写在 XML 里,从程序代码中彻底拆散,升高耦合度,便于对立治理和优化,并可重用。
4. 提供 XML 标签,反对编写动静 SQL 语句。
- 提供映射标签,反对对象与数据库的 ORM 字段关系映射。
Mybatis 毛病:
SQL 语句的编写工作量较大,尤其是字段多、关联表多时,更是如此,对开发人员编写 SQL 语句的功底有肯定要求
BUG:
BindingException
BadSqlGrammarException
SqlSyntaxErrorException
UnstatisfiedDependencyException
BeanInstantiationException