使用注解开发,mybatis,使用注解完成curd
面向接口编程
- 我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理想的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点麻烦。
-
接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。接口的本身反映了系统设计人员对系统的抽象理解。
使用注解完成curd
编码:编写接口,增加注解
public interface UserMapper {
@Select("select * from user where id=#{id}")
public user getUserById(int id);
}
在mybaits的核心配置文件中绑定mapper
<mappers>
<mapper class="dao.UserMapper"></mapper>
</mappers>
自动提交事务
public static SqlSession getSqlSession(){
//设置为自动提交事务
return sqlSessionFactory.openSession(true);
}
.#{}和${}的区别是什么?
a、#{}是预编译处理,${}是字符串替换。
b、Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 set 方法来赋值;
c、Mybatis 在处理${}时,就是把${}替换成变量的值。
d、使用#{}可以有效的防止 SQL 注入,提高系统安全性。
Lombok插件
Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。
lombok是依赖jar包的原因是因为编译时要用它的注解.是插件的原因是他要在编译器编译时通过操作AST(抽象语法树)改变字节码生成.也就是说他可以改变java语法.
Lombok使用
- 下载Lombok插件 file-settings-plugins
- 导入依赖
- 使用:他提供了很多的注解,其中我们只需要记住@Data
Lombok的产生就是为了解放我们的双手,哈哈哈哈哈哈,连alt+insert快捷键都不用啦。。。。。。
使用Lombok的@Data
前后对比图