注解的用法

直接创建一个新的项目


下一步直接next 然后finish即可

把之前项目01里面的代码直接复制过来

复制到我们02的注解的工程中

把01项目导入的依赖也都粘贴过来

再把测试类复制过去

复制到02的项目,test/java下


用注解的话,这个xml就没有任何意义了

主配置文件的内容不动

resources下的com文件夹直接删除

删除后的resources目录

在dao类里面加上注解

之前我们这里是这么配置的。里面是xml的配置。现在我们不用xml的配置 ,改用注解了。 

改成class的配置

再来运行我们的测试类

运行结果,和刚才用xml配置的结果是一样的。这样配置比xml的方式更简单了一步

用注解步骤简单

注解总结

dao实现类

实际的开发过程中,越简单越好,所以不写dao的实现类

自己写dao实现类。我们重新创建一个工程

把第一个工程的文件复制过来


配置文件也复制过来

新建实现类UserDaoImpl放在Impl包下

继承IUserDao的接口

添加这么个方法

有了实现类就需要提供方法来实现功能、。
原来的代码后面代理对象这里就没有了。我们是自己写实现类的

session里面有selectList查询的方法

我们应该在session里面去调用,但是发现里面没有session这个对象。

那就需要定义能拿到session对象的。SqlSessionFactory对象,构造函数传入进来赋值。

这里selectList方法报错。

selectList是需要有个参数的

进去到源码里面看到,参数是一个stateMent

statement实际上就是我们的配置信息。我们需要从配置文件里面,拿到sql语句

namespace+方法名,就是statement这个参数,

传入工厂对象

执行结果

写dao实现类,可以实现功能,但是意义不大。我们不写也能实现功能。

光靠id无法定位到sql语句,还需要namespace

阶段3 1.Mybatis_02.Mybatis入门案例_3.mybatis注解开发和编写dao实现类的方式的更多相关文章

  1. mybatis学习:mybatis的注解开发和编写dao实现类的方式入门

    一.使用注解则不需要创建映射配置文件:即xxxDao.xml javaBean为什么要实现Serializable接口? Java的"对象序列化"能让你将一个实现了Serializ ...

  2. 阶段3 1.Mybatis_02.Mybatis入门案例_1.mybatis的入门

    H:\BaiDu\黑马传智JavaEE57期 2019最新基础+就业+在职加薪\讲义+笔记+资料\主流框架\31.会员版(2.0)-就业课(2.0)-Mybatis\mybatis\mybatis_d ...

  3. 阶段3 1.Mybatis_02.Mybatis入门案例_2.mybatis入门案例中的设计模式分析

    读取配合文件 创建工厂 最终图

  4. MyBatis入门案例、增删改查

    一.MyBatis入门案例: ①:引入jar包 ②:创建实体类 Dept,并进行封装 ③ 在Src下创建大配置mybatis-config.xml <?xml version="1.0 ...

  5. MyBatis入门案例 增删改查

    一.MyBatis入门案例: ①:引入jar包 ②:创建实体类 Dept,并进行封装 ③ 在Src下创建大配置mybatis-config.xml <?xml version="1.0 ...

  6. Mybatis入门案例中设计模式的简单分析

    Talk is cheap, show me the code! public class TestMybatis { public static void main(String[] args) t ...

  7. mybatis入门案例自定义实现

    mybatis入门案例自定义实现 一.需要实现的类和接口 public static void main(String[] args) throws Exception{ //1.读取配置文件 Inp ...

  8. mybatis入门案例分析

    mybatis入门案例分析 一.设计模式分析 public class MybatisTest { public static void main(String[] args) throws Exce ...

  9. 03 Mybatis:01.Mybatis课程介绍及环境搭建&&02.Mybatis入门案例

    mybatis框架共四天第一天:mybatis入门 mybatis的概述 mybatis的环境搭建 mybatis入门案例 -------------------------------------- ...

随机推荐

  1. luffyapi项目 --短信认证的基本操作

    一.开通腾讯云短信 SDK 文档 :https://cloud.tencent.com/document/product/382/11672 1.官网注册实名账号:https://cloud.tenc ...

  2. pandas的基本功能

    一.重新索引 (1)reindex方式 obj = pd.Series(['blue', 'purple', 'yellow'], index=[0, 2, 4]) print(obj) obj.re ...

  3. Fuel9.0部署

    一.安装环境(准备工作): 1. 所需物理主机的要求如下 内存:8GB+,推荐16GB:(少于8GB的就免谈了) 磁盘:500GB+: 物理机OS:ubuntu-desktop-amd64 14.04 ...

  4. zabbix 数据库问题

    Too many connections ::052844.247 Cannot connect to the database. Exiting... :: started [trapper #] ...

  5. PHP对有道翻译API函数

    首先需要先到http://fanyi.youdao.com/openapi?path=data-mode申请APIKEY.然后公布代码: <?php header("Content-T ...

  6. Python核心技术与实战——十四|Python中装饰器的使用

    我在以前的帖子里讲了装饰器的用法,这里我们来具体讲一讲Python中的装饰器,这里,我们从前面讲的函数,闭包为切入点,引出装饰器的概念.表达和基本使用方法.其次,我们结合一些实际工程中的例子,以便能再 ...

  7. 如何通过Samba共享Linux文件夹

    https://blog.csdn.net/stu059074244/article/details/77766155   Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Window ...

  8. Java并发编程实战 第5章 构建基础模块

    同步容器类 Vector和HashTable和Collections.synchronizedXXX 都是使用监视器模式实现的. 暂且不考虑性能问题,使用同步容器类要注意: 只能保证单个操作的同步. ...

  9. 多线程使用@Async注解创建多线程,自定义线程池

    转载自博客https://www.jianshu.com/p/7ac04a501eba

  10. NETCONF

    NETCONF协议(Network Configration Protocol) NETCONF是一个基于XML的交换机配置接口,用于替代CLI.SNMP等配置交换机. 本质上来说,NETCONF就是 ...