题外话:
面向接口编程
根本原因: 解耦 可拓展 提高复用 分层开发
其实就是让接口进行规范 ,使得开发变得更标准 更容易
注解开发mybatis
免去了写Mapper.xml 文件
做法 直接在接口的方法上写上加上@Select(“里面写查询的sql语句”)
@Select("select * from guli_edu.Edu_teacher")
List<Edu_teacher> getAllT();
了解一下就好 这个方式不适合操作稍微难度较高的sql语句
@Data注解 用在类或属性上
表示自动写了get set tostring hashcode equals和无参方法
@AllargsConstructor 全参构造
@Parm(“xxxxx”)这个注解 重要
我们在写接口方法的时候 会有参数 在每一个参数前面加上注解@Parm()
定义规范
当参数是基本类型时或String类型时 需要加上
当参数是引用数据类型时,不需要加
// 此时 将参数里的int 型的id 的名字改为注解括号内的名字尽量保持一致
//在Mapper.xml文件sql语句中 做引用时 对应的就是注解括号内的名字了
Teacher getTeacher(@Param("id") int id);
#{ } 与 ${ } 的区别
#{} 时预编译处理,mybatis在处理#{}会将sql中的值变为一个?,用作占位符,等待着你往该符号添加内容。.
${ } ${}仅仅为一个纯碎的 string 替换,在动态 SQL 解析阶段将会进行变量替换。 字符串替换 存在sql注入问题