飞道的博客

Mybatis框架复习笔记二(基于xml的CRUD)动态代理方式

297人阅读  评论(0)


Mybatis框架(环境搭建)复习笔记一.
说明:本笔记可以从0开始学会怎么用轮子,并没有详细讲解轮子的造法。勿喷。
在笔记一的基础上,采用接口和配置文件对增删改查进行管理。

1.基本结构

1.1.创建IUserDao接口

首先在接口创建findAll();方法,此方法为查询表中所有记录。

1.2.修改IUserDao.xml配置

由于使用接口进行行为操作,想要将接口与对应xml文件联系起来,因此修改xml下mapper的namespace。
注意:IUserDao以及其配置文件IUserDao.xml应该在分别对应的同级文件夹下
如图:----IUserDao的位置:java/dao/IUserDao
IUserDao.xml的位置:resources/dao/IUserDao.xml

1.3.编写User测试类

接着笔记一中的UserTest类,进行修改。首先对于通用的对象可以在类中先定义,减少重复代码。
PS:在此先用static方法定义,因为静态的main不能调用非静态属性。

接着在main函数中编写InputStream→SqlSessionFactory→factory.openSession()→动态代理获得对象。
并执行,得到user表的内容。(记得资源关闭sqlSession.close(); in.close(); )

另外:在SqlConfig.xml文件下面的标签中,将mapper改为package属性,name=接口文件夹名,依旧可以执行出正确的结果

2.基于xml的CRUD操作

2.1.提前准备

由于测试内容较多,每次使用main函数较为不便,因此导入junit单元测试包,使每个方法可以独立测试。在pom.xml中加入

在UserTest类中,由于要多次进行增删改查的操作,因此可以将具体操作之外的共同功能进行封装。让每个方法的方法体里只关注各自的方法。

接着在下面再一次写FindAll();方法,并执行,这次的查询方法代码量大大减少。
只需要创建一个List用来接收对象,通过动态代理生成的userDao执行findAll()方法,进行了对user表的查找。

2.2.添加数据操作

步骤1:进到IUserDao接口编写添加的方法名

如图:

步骤2:进入IUserDao.xml编写添加SQL语句

如图:

步骤3:回到测试类UserTest编写添加方法

如图:
注意:这里要回到User类中将birthday的类型改为Date,并重新生成set、get方法。如果为String类型会报错。

回到数据库,成功添加数据

2.3.删除数据操作

和添加步骤相似:
IUserDao接口中增加方法名→IUSerDao.xml中编写SQL语句→UserTest中编写测试方法
IUserDao接口:→IUSerDao.xml:→UserTest类
最终效果:

删除id=3的数据成功:

2.4.修改数据操作

和增加删除操作相似:
IUserDao接口添加方法名→xml配置添加SQL语句→UserTest测试类添加测试方法

查看数据库,修改成功:

2.5.根据id查询用户

和查找用户表相似,只不过这次提供id为查找条件,返回的是一个User对象而不是一个User列表:

2.6.模糊查询

发出复读机的声音: 和上面一样,使用的是模糊查询的sql语句,返回一个List



使用Mybatis基于xml文件的增删改查到这就结束了。接下来可能会有基于注解(@)的增删改查。以及mybatis相关知识点的整理。


转载:https://blog.csdn.net/qq374461948/article/details/105956930
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场