当前位置: 首页 > news >正文

Mybatis学习|第一个Mybatis程序

1.创建一个数据库以及一个用户表,并插入三条数据用来测试

2.创建一个空的maven项目

在pom.xml中导入本次测试用到的三个依赖,mysql驱动、mybatis依赖、以及单元测试junit依赖

 将这个 空的maven项目当成一个父项目,再创建一个空的maven子项目用来测试

3.编写mybatis的核心配置文件 

这个代码可在mybatis官方文档找到,对应红色部分需要自己将信息补充完整,也就是之前jdbc连接数据库的那些东西

4.编写mybatis的工具类

首先是将我们刚写的核心配置文件读进去,得到一个sqlSessionFactory的对象,然后利用它在去得到 sqlSession对象,后面就是利用这个对象来去执行相应的sql。 

5.根据我们之前建立的user表的内容来建立相应的一个user对象来跟数据库中的表对应,设置相应的属性以及getset方法

 6.建立对应的DAO层接口,来实现我们的查找所有用户的方法

接口实现类由原来的UserDaolmpl转变为一个Mapper配置文件,namespace代表绑定的Dao接口,id写的是对应Dao接口中的方法名,resultType是返回对象的类型,下面是该方法相应要执行的sql语句

 每个绑定对应Dao层接口的Mapper.xml写完之后,要在最早的那个mybatis核心配置文件中注册

同时,我们为了能够让Mapper.xml能够读到,我们需要在pom.xml中进行如下配置,使得生成的target中对应的目录下由Mapper.xml文件,或者不配置,手动粘过去也可

 7.然后我们利用junit测试来测试Dao层接口的查询所有用户的方法

首先调用我们刚才编写的Mybatis工具类来得到sqlSession对象,然后我们通过该对象获取用户的Dao层接口对象,直接用这个获取到的Dao层接口对象调其对应的查询所有用户方法(背后直接执行刚才Mapper.xml中配置的该方法的sql语句),得到所有用户列表,并将其打印出来,最后关闭sqlSession对象资源,后续我们再增加增删改查的方法就很简单了,只需要再UserDao层接口中添加相应的方法,在Mapper.xml配置与该方法对应的sql语句即可。

http://www.lryc.cn/news/143338.html

相关文章:

  • 计算机网络MTU和MSS的区别
  • redis学习笔记 - 进阶部分
  • SE5 - BM1684 人工智能边缘开发板入门指南 -- 模型转换、交叉编译、yolov5、目标追踪
  • 基于Java+SpringBoot+vue前后端分离英语知识应用网站设计实现
  • vue使用vue-router报错
  • 编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。
  • js 类、原型及class
  • day-30 代码随想录算法训练营 回溯part06
  • txt、pcd、las、ply 格式点云基本的读写和显示 (附 python c++ 代码)
  • k8s节点pod驱逐、污点标记
  • 【项目 计网6】 4.17 TCP三次握手 4.18滑动窗口 4.19TCP四次挥手
  • 茶叶小笔记
  • 安全开发-JS应用NodeJS指南原型链污染Express框架功能实现审计WebPack打包器第三方库JQuery安装使用安全检测
  • Android JNI系列详解之CMake编译工具的使用
  • springboot中关于继承WebMvcConfigurationSupport后自定义的全局Jackson失效解决方法,localdate返回数组问题
  • LeetCode 面试题 02.03. 删除中间节点
  • Redis知识点总结
  • (四)k8s实战-服务发现
  • AxureRP制作静态站点发布互联网,内网穿透实现公网访问
  • [Go版]算法通关村第十四关白银——堆高效解决的经典问题(在数组找第K大的元素、堆排序、合并K个排序链表)
  • 『FastGithub』一款.Net开源的稳定可靠Github加速神器,轻松解决GitHub访问难题
  • 软件开发的201个原则 阅读笔记 第172-201个原则
  • vue 后台管理系统登录 记住密码 功能(Cookies实现)
  • elementUI moment 年月日转时间戳 时间限制
  • 用AI + Milvus Cloud搭建着装搭配推荐系统教程
  • 大数据领域都有什么发展方向
  • NSSCTF——Web题目1
  • VScode中写Verilog时,iverilog语法自动纠错功能不起作用
  • thinkphp6.0 配合shell 脚本 定时任务
  • 18-使用钩子函数判断用户登录权限-登录前缀