使用注解开发

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. NoSQL数据库-MongoDB 学习(一)

    基本介绍 MongoDB 是为了快速开发互联网 Web 应用而设计的数据库系统 MongoDB 的设计目标是极简.灵活.作为 Web 应用栈的一部分 MongoDB 的数据模型是面向文档的,所谓文档是 ...

  2. BUUCTF-Web Easy Calc

    要素察觉 打开calc.php发现源码 过滤了很多字符.题目一开始提示了有waf,最后通过eval实现计算功能.考虑利用该函数读取flag文件,先尝试弹个phpinfo 被waf拦截,在num参数前面 ...

  3. hostapd阅读(openwrt)-2

    深入追踪openwrt下的hostapd之后,发现openwrt无线管理机制格外的复杂,几乎所以的触发与回调均离不开ubus,关于ubus这里不作解释,先大概了解其用途即可(出门左转:https:// ...

  4. Day02_WebCrawler(网络爬虫)

    学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"webcrawler"获取视频和教程资料! b站在线视 ...

  5. Seaborn基础1

    import seaborn as sns import numpy as np import matplotlib.pyplot as plt # # 折线图 def sinplot(flip = ...

  6. 接口工具Apifox

    最近发现一款接口测试工具--apifox,我我们很难将它描述为一款接口管理工具 或 接口自测试工具. 官方给了一个简单的公式,更能说明apifox可以做什么. Apifox = Postman + S ...

  7. 每日一道 LeetCode (2):整数反转

    题目:整数反转 题目来源:https://leetcode-cn.com/problems/reverse-integer 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示 ...

  8. 5分钟白嫖我常用的免费效率软件/工具!效率300% up!

    Mac 免费效率软件/工具推荐 1. uTools(Windows/Mac) 还在为了翻译 English 而专门下载一个翻译软件吗? 还在为了格式某个 json 文本.时间戳转换而打开网址百度地址吗 ...

  9. Python time asctime()方法

    描述 Python time asctime() 函数接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07 ...

  10. PHP log() 函数

    实例 返回不同数的自然对数: <?phpecho(log(2.7183) . "<br>");echo(log(2) . "<br>&quo ...