08.spring使用xml方式和注解方式实现单表的CRUD操作的案例

参考的学习视频→ https://b23.tv/av47952931/p82
 

xml方式

新建maven项目,在pom文件中导入如下依赖
 
 
创建account表格,填入数据
 
 
在java文件夹的com.example.service包中新建一个IAccountService接口
 
 
 
作为账户的业务层接口,我们为它写一个方法返回所有Account对象的List数组
 
 
此时我们还没有定义Account类,所以在java文件夹的com.example.demain包中新建一个Account类
 
 
 
让Account类继承Serializable接口,并为其定义三个成员变量,生成所有成员变量的get方法和set方法以及toString方法
 
 
完善业务层接口的方法
 
 
在com.example.service.impl包下新建账户业务层实现类AccountServiceImpl
 
 
 
该类继承IAccountService接口并实现其接口类所有方法,此外它有一个IAccountDao类型成员,并拥有该成员的set方法(此时IAccountDao应该标红报错因为还没定义这个接口,这是我后来截的图所以没有)
 
 
 
当然IAccountDao我们现在还没有,于是我们在com.example.dao包下先新建IAccountDao接口作为账户的的持久层
 
 
将业务层接口IAccountService的所有方法都复制到持久层中
 
 
完善业务层实现类方法
 
 
在com.example.dao.impl包下新建IAccountDao接口实现类AccountDaoImpl
 
 
 
 
让AccountDaoImpl类继承IAccountDao接口,为其定义一个QueryRunner成员变量,设置该成员变量的set方法
 
 
实现接口定义的方法:
1.查询所有账户
 
 
2.根据id查询账户
 
 
3.保存账户
 
 
4.更新账户
 
 
5.删除账户
 
 
在resource文件夹下新建xml资源文件
 
 
 
 
配置xml文件
 
 
在test下的java文件下下新建包com.example.test,在该包中新建测试类AccountServiceTest
 
 
 
 
写一个测试方法来测试findAllAccount
 
 
运行一下,(第一次跑到这里的时候发现,,诶嘿name咋都是null,后才检查才知道哦——原来我数据库表格这一栏叫的uname结果定义java实体类名字直接叫name了,不对应数据没办法注入啊。。。上面代码是已经改过之后的,所以运行没有问题)
 
 
正确的运行结果(前面所说的都是更改后的操作,就是这个打印结果)
 
 
好了,继续测试findAccountById方法
 
 
测试save方法
 
 
测试update方法
 
 
测试delete方法,执行之后跑一下findall看一下数据
 
 

▲注解方式

还是上面那个工程,这时候xml文件如下
 
 
在AccountServiceImpl类前加注释,这时就不需要IAccountDao的set方法了
 
 
在AccountDaoImpl类和QureyRunner变量前加注释,这时就不需要runner的set方法了
 
 
好了,让我们运行一下Test里测试类的findall方法,成功地查询到了所有数据(其他的自己测试吼)
 
发布了51 篇原创文章 · 获赞 1 · 访问量 1080

猜你喜欢

转载自blog.csdn.net/si_si_si/article/details/104688593