使用注解开发| 学习笔记

简介: 快速学习使用注解开发。

开发者学堂课程【MyBatis持久层框架入门:使用注解开发】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/21/detail/446


使用注解开发


内容介绍

一.面向接口编程

二.注解的实现

三.使用

 

1.面向接口编程

好处:

扩展性好,分层开发中,上层不用管具体的实现,大家都遵循共同的标准,使得开发变得容易,规范性更好。

介绍三种接口

l UserMysqIDaolmpl.java

import cn.sxt.dao.UserDao;

import cn.sxt.entity.User;public class UserMy sqlDaoImpl implements UserDao@Overridepublic List getList() //TODO Auto -generated method stubreturn null;

l UserOracleDaolmpl.java

import java.util.List;import cn.sxt.dao.UserDao;

import cn. sxt . entity .User;public class UserOracleDaoImp1 implements UserDao@Overridepublic List getList()return null;

l UserDao.java

package cn.sxt.dao;import java.util.List;import   cn.sxt.entity.User;public interface UserDao public List getList();

Ø Test.java

package cn.sxt.test;import java. io. IOException;public class Test {public static void main(String[] args) throws IOException UserDao userDao = null;List list = userDao.getList();for(User  u;list{System.out.print1n(u);

查询语句

package cn.sxt.test;import java.io.IOException;public class Test public static void main(String[] args) throws IOExceptionSqlSession session = MyBatisUtil.getSession();UserDao userDao = session. getMapper(UserDao.class);

List list = userDao.getList();for(User u:list)System.out.println(u);

}

 

2.注解的实现

A. 编写Dao接口
public interface UserDao {@Select("select * from user")public ListgetList();@Insert("insert into user (name ,pwd)values(#[name],#(pwd))")

public int insert(User user);

}

B.在核心配置文件中导入

 

3.使用

public static void main(String[]args) throws   IOException {

SqlSession session = MyBatisUtil.getSession();

UserDao userDao =session. getMapper(UserDao.class);List list = userDao.getList();

for(User u:list){System. out. println(u);

}

 

相关文章
|
小程序
微信小程序文件上传无响应解决方法
微信小程序文件上传无响应解决方法
1737 0
python sort和sorted的区别
在Python中,sort()和sorted()都是用于排序的函数,但它们之间存在一些关键的区别,这些区别主要体现在它们的应用方式、操作对象以及对原始数据的影响上。
|
8月前
|
自然语言处理 监控 Linux
Linux 内核源码分析---proc 文件系统
`proc`文件系统是Linux内核中一个灵活而强大的工具,提供了一个与内核数据结构交互的接口。通过本文的分析,我们深入探讨了 `proc`文件系统的实现原理,包括其初始化、文件的创建与操作、动态内容生成等方面。通过对这些内容的理解,开发者可以更好地利用 `proc`文件系统来监控和调试内核,同时也为系统管理提供了便利的工具。
359 16
『PyQt5-Qt Designer篇』| 07 Qt Designer中栅格布局和表单布局的使用
『PyQt5-Qt Designer篇』| 07 Qt Designer中栅格布局和表单布局的使用
375 0
|
8月前
|
JavaScript 前端开发 算法
高效工作流:用Mermaid绘制你的专属流程图;如何在Vue3中导入mermaid绘制流程图
mermaid是一款非常优秀的基于 JavaScript 的图表绘制工具,可渲染 Markdown 启发的文本定义以动态创建和修改图表。非常适合新手学习或者做一些弱交互且自定义要求不高的图表 除了流程图以外,mermaid还支持序列图、类图、状态图、实体关系图等图表可供探索。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
存储 Kubernetes 关系型数据库
Helm 简介:Kubernetes 的包管理器
Helm 简介:Kubernetes 的包管理器
290 2
|
前端开发 测试技术 开发者
React Router的神奇之处:如何用导航与路由管理让你的复杂SPA飞起来?
【8月更文挑战第31天】本文全面解析了React Router——一款用于React应用的路由与导航管理库。通过定义不同路径并依据URL渲染组件,React Router支持路径匹配、参数路由及嵌套路由等多种模式。文章详细介绍了其基本与高级用法,如使用`Link`组件导航、`Switch`组件进行路径匹配及`NavLink`自定义活动链接样式。此外,还探讨了懒加载、代码分割等性能优化技巧,并提供了简单示例代码,帮助读者快速上手。遵循本文最佳实践,开发者能够更高效地利用React Router构建复杂的单页面应用。
263 0
|
Kubernetes Java 测试技术
ChaosBlade故障问题之支持JVM故障注入如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
|
数据可视化 数据库
scRNA分析|使用CellChat完成细胞通讯分析-简单且可视化出众,代码自取
scRNA分析|使用CellChat完成细胞通讯分析-简单且可视化出众,代码自取
2483 0
|
编解码 内存技术
AVFormatContext封装层:理论与实战(三)
AVFormatContext封装层:理论与实战(三)
103 1
AVFormatContext封装层:理论与实战(三)