Mybatis(一)
配置文件

 必要的用户密码要修改, 还有绿色线的名字要修改成数据库的
 配置文件直接cv
创建

复习之前的知识进行分层处理


与前面一一对应, 后面三个发现后面输出是null, 没有一一对应, 后面再解释解决方法


运行发现, 输出正常
idea的测试类
两个注解了解

记得加上这个, 不然无法执行

配置文件打印日志

 加入以上信息, 来对比一下有无配置文件的差别
没有配置文件

加入配置文件

其中的关系

参数传递
一个参数
在mapper接口那边写一下
一


在测试类进行测试得到测试结果, 发现没问题

二
将语句中的改成aa, 看一下会不会出现报错

发现也没有问题

 说明会自动对应, 当只有一个参数的时候
两个参数
一


发现参数对应可以查到, 这是一种推荐写法
二
我们交换顺序看看


交换顺序也没有问题
三
参数名称不同的话


发现直接报错了, 无法使用
 但是我们发现了param1 和 param2, 这个是指代 gender 和 age 的
 可以得出这种写法


这种写法可以, 但是不是推荐
四
使用注解@param来进行对应


这是最推荐的写法, 将所有的名称保持一致
增
一

UserInfo会自动匹配


数据库也切实增加了
二
加上注解, Options可以获取自增主键的值, 并存储在userInfo中

此时要用userInfo.password …


发现数据库里的和打印的是一样的
删
一

userInfo自动匹配

可以看到删除成功, 数据库中少了
二
也可以直接传要删的参数, 和增加其实差不多


也可以删除
改
简单带过


设置的其他值并不会修改, 只有语句中的值会被修改
查
我们来解决之前后三个无法显示的问题

 最简单的就是, 将后三个的名字改成与数据库一样, 但是不符合Java的语法规范规范
方法一

在sql语句中, 处理好映射问题, 返回的时候就是以Java命名规范命名的
方法二
采用注解处理好映射关系


一样可以
方法三
复用之前的

给 Result 加上 id

在另外一个加上注解@ResultMap 并且附上 id

一样可以
方法四
还有一种直接从配置文件中配置即可

在yml加入这个, 驼峰转换


一样可以运行
