注解的用法

直接创建一个新的项目


下一步直接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. mysql排错小指南

    mysql排错小指南 查询运行很慢时,可以执行mysql> show processlist\G mysql> show processlist\G ******************* ...

  2. Qualcomm_Mobile_OpenCL.pdf 翻译-8-kernel性能优化

    这章将会说明一些kernel优化的小技巧. 8.1 kernel合并或者拆分 一个复杂的应用程序可能包含很多步骤.对于OpenCL的移植性和优化,可能会问需要开发有多少个kernel.这个问题很难回答 ...

  3. DCGAN生成式对抗网络--keras实现

    本文针对cifar10 图集进行了DCGAN的复现. 其中库中的SpectralNormalizationKeras需添加至python环境中 该篇代码如下: from keras import ba ...

  4. Centos7下常用配置命令

    1.禁用ipv6 Step 1: add this rule in /etc/sysctl.conf : net.ipv6.conf.all.disable_ipv6=1 Step 2: add th ...

  5. Jam's balance HDU - 5616 (01背包基础题)

    Jim has a balance and N weights. (1≤N≤20) The balance can only tell whether things on different side ...

  6. PHP漏洞函数

    1. is_numeric函数 bool is_numeric ( mixed $var ) 此函数用于判断变量是否数字或者数字字符串,不仅能接受十进制,还能接受十六进制,这样就有了绕过的方法 < ...

  7. kettle批量导入json数据

    kettle新手上路,烦死了,工具好用,批量导入数据也快,就是有很多小细节需要注意. 使用kettle进行数据导入时,因为最近在做json数据的入库,以JSON Input为例进行说明: 首先是大概流 ...

  8. 《Head First 软件开发》阅读六

    软件错误:专业排错 你编写的代码,你的责任.处理错误的方法和其他流程一样,准备好白板.让客户参与.满怀信心的估计.重构与预构. 首先是与客户加强沟通,不管是谁的代码,在自己的系统里就是自己的代码.使代 ...

  9. Gym-100923L-Por Costel and the Semipalindromes(进制转换,数学)

    链接: https://vjudge.net/problem/Gym-100923L 题意: Por Costel the pig, our programmer in-training, has r ...

  10. NOIP2016提高A组模拟中秋节9.15总结

    这套题不算难但是比赛上萎掉了. 第一题数论, 当找到一个合适的数就直接处理答案,再用筛法将处理过的删掉. 比赛上没想到筛法,只拿了70分. 第二题二分答案,然后验证合法性就可以. 但是由于不能二分小数 ...