使用注解开发

1 面向接口编程

原因:

解耦、可扩展性、提高复用性

关于接口的理解

  • 定义与实现的分离

  • 两类接口

    • 一个个体的抽象,abstract class

    • 一个个体某个方面的抽象,interface

三个面向:

  • 面向对象

  • 面向过程

  • 面向接口

2 使用注解开发

使用步骤:

  1. 注解在接口上实现

 @Select("select * from User")
 List<User> getUsers();
  1. 需要在核心配置文件中绑定接口

 <mappers>
     <mapper class="com.kuang.dao.UserMapper" />
 </mappers>
  1. 测试

本质:反射机制实现

底层:动态代理!

8.3 注解实现CRUD

  1. 我们可以在工具类创建的时候实现自动提交事务

 //参数表示自动提交事务
 public static SqlSession getSqlSession(){
     return sqlSessionFactory.openSession(true);
 }
  1. 编写接口,添加注解

 public interface UserMapper {
 ​
     @Select("select * from User")
     List<User> getUsers();
 ​
     //多个参数情况下,必须加上@Param()注解
     @Select("select * from user where id=#{id}")
     User getUserById(@Param("id") int id);
 ​
     @Insert("insert into user(id,name,pwd) values(#{id},#{name},#{password})")
     int addUser(User user);
 ​
     @Update("update user set name=#{name},pwd=#{password} where id=#{id}")
     int updateUser(User user);
 ​
 }

测试类

注意:我们必须要将接口注册绑定到我们的核心配置文件中

关于@Param()注解

  • 基本类型的参数或者String类型,必须加上

  • 引用类型不需要加

  • 如果只有一个基本类型的话,可以不加。

  • 在sql中引用的就是我们这里的注解中的属性

#{ } 和${ }相比:最好用#{ }

Mybatis-05-使用注解开发的更多相关文章

  1. MyBatis框架之注解开发

    MyBatis注解开发 @Insert注解注解属性value:写入SQL语句 @Options注解实现添加新数据的主键封装注解属性useGeneratedKeys:使用生成的主键,配置为truekey ...

  2. MyBatis:使用注解开发

    面向接口编程 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大 ...

  3. 8、MyBatis之使用注解开发

    9.使用注解开发 mybatis最初配置信息是基于 XML ,映射语句(SQL)也是定义在 XML 中的.而到MyBatis 3提供了新的基于注解的配置.不幸的是,Java 注解的的表达力和灵活性十分 ...

  4. mybatis学习——使用注解开发

    前言: 一个语句既可以通过 XML 定义,也可以通过注解定义.不过,由于 Java 注解的一些限制以及某些 MyBatis 映射的复杂性,要使用大多数高级映射(比如:嵌套联合映射),仍然需要使用 XM ...

  5. Mybatis学习笔记-注解开发

    面向接口编程 根本原因:[解耦],[可拓展],[更高规范性] 接口类型: abstract class interface 使用注解开发 简单语句可用注解开发(直接查询,列名与属性名相同) 本质:反射 ...

  6. Mybatis之使用注解开发CRUD

    上一篇演示了怎样使用XML来操作Mybatis实现CRUD,可是大量的XML配置文件的编写是很烦人的.因此 Mybatis也提供了基于注解的配置方式,以下我们来演示一下使用接口加注解来实现CRUD的的 ...

  7. 阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_3 基于注解的自定义再分析

    这里只需要 一是连接数据库的 二是映射的 注解是class的方式  dom4j技术获取xml的数据,这是xml的方式获取的下面几个关键的点 注解的方式回去dao类里面的几个主要的信息 User黄色的部 ...

  8. (七)Mybatis总结之注解开发

    请移步到 https://www.cnblogs.com/lxnlxn/p/5996707.html

  9. 阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_2 回顾自定义mybatis的流程分析

  10. 阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_1 今日课程内容介绍

随机推荐

  1. Win10系统报错问题集锦

    收集记录win10的坑 错误1 应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYS ...

  2. grpc 之 word2pdf使用

    ​ 做一个word转pdf的服务,采用grpc,使用libreoffice命令. 1.构建libreoffice镜像 FROM python:3.6 ENV TZ=Asia/Shanghai RUN ...

  3. 你的JavaBean是否真的需要实现Serializable

    众所周知 如果一个对象需要进行网络传输,那么该对象就需要实现Serializable接口,为了防止反序列失败,该对象需提供一个默认的serialVersionUID(该值在反序列化的时候会进行校验校验 ...

  4. SQL之DDL、DML、DCL、TCL

    SQL SQL(structured query language)是一种领域特定语言(DSL,domain-specific language),用于管理关系型数据库(relational data ...

  5. 《闲扯Redis七》Redis字典结构的底层实现

    一.前言 上节<闲扯Redis六>Redis五种数据类型之Hash型 中说到 Hash(哈希对象)的底层实现有: 1.ziplist 编码的哈希对象使用压缩列表作为底层实现 2.hasht ...

  6. java基础(六)--常用转义字符

    1.换行:"\n"

  7. 如何在Linux下的C++文件使用GDB调试

    首先在Linux下写好一个.Cpp的文件. #include<stdio.h> #include<stdlib.h> using namespace std; void sho ...

  8. Python 字典(Dictionary) fromkeys()方法

    描述 Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值.高佣联盟 www.cgewang.com 语法 from ...

  9. PHP date_default_timezone_set() 函数

    ------------恢复内容开始------------ 实例 设置默认时区: <?php date_default_timezone_set("Asia/Shanghai&quo ...

  10. Python语言及其应用 中文pdf完整版|网盘下载内附提取码

    点击此处下载提取码:7cvm <Python语言及其应用>介绍Python 语言的基础知识及其在各个领域的具体应用,基于新版本3.x.书中首先介绍了Python 语言的一些基本知识,然后介 ...