mybatis作用:使用半面向对象的持久化框架,封装jdbc的复杂操作。
Mybatis 的使用
1,添加依赖
创建springboot项目时需要选择mybatis和mysql的依赖,注意mysql版本号。
2,配置
1)在application.properties文件中设置数据库链接参数
① 数据源
#数据库链接的四个参数
#设置链接数据库的驱动
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#设置登录账号
spring.datasource.username=root
#设置登录密码
spring.datasource.password=
#设置数据库的地址,upc_demo为数据库名称
spring.datasource.url=jdbc:mysql://localhost:3306/upc_demo?characterEncoding=utf8
2)映射文件的位置
① 在resources目录下创建mappers的目录
② 在application.proerties文化中配置映射文件的目录
#配置映射文件的位置,
# 在类路径上找名为mappers的目录中所有的xml文件
mybatis.mapper-locations=classpath:mappers/*.xml
3,创建实体类:就是用于完成数据查询时封装
a. Po:持久化对象,真正与表关联的,用于存放查询的一行数据
b. Dto:数据传输对象,用于在各层直接进行参数传递,接受前端传递的数据
4,创建映射接口,操作数据库的方法
a. 必须添加@Mapper的注解
b. 创建抽象方法后添加关联的sql语句
a) 注解,只用于简单操作
i. @Insert(“”)
ii. @Update()
iii. @Delete()
iv. @Select()
b) 映射文件,复杂的sql语句
c. 给列赋值 #{属性名} 自动转为 ?占位符
d. Sql语句使用+进行字符串拼接必须添加空格
e. 建议sql语句,在mysql的工具中编写,复制到java中
5,创建测试用例
a. 给类添加 @SpringbootTest
b. 添加被测试类的对象,添加@Resource注解
c. 通过对象调用方法运行程序即可
常遇到的异常信息
(1) 数据服务没有启动
(2) 空指针
查看注解添加是否完整
@SpringBootTest
@Resource
@Mapper
(3) Sql表名错误
(4) Sql语法错误
(5) 用户名密码错误
(6) 数据库名错误
(7) 驱动版本
如何输出sql语句
在application.properties文件中添加
Loggin.level.packagename=debug
packagename就是创建Mapper接口的包名