使用注解的方式,对数据库进行增删改查,能够提高开发效率,从步骤上来讲,大体上和普通的方式步骤一样,主要的变化在配置文件和测试类中。
步骤:
1.引入依赖
2.创建表
3.创建实体类
4.创建配置文件
5.创建dao层接口 和实现类
6.创建service层接口 和实现类
7.创建测试类
第一步:引入依赖
主要引入的依赖有:
spring-test(spring 对junit的整合)、commons-dbutils(操作sql语句包)、spring-context、mysql-connector(连接数据库的包)、c3p0(连接池工具包)、junit(单元测试包)
第二步:创建表
我创建了一个简单user表,只有两列,如下图所示
第三步:创建实体类
将表中的两个字段在实体类中声明,并且声称setter/getter方法,以及toString方法
第四步; 创建配置文件
1.在resource包创建名为 ApplicationContext.xml的文件,如下图所示
2.开启注解包
设置配置文件的第一步就是要开启注解包,如下图所示
如上图所示,标红的地方,就是我们的包路径,就是说所有在这个包下面的类都可以使用注解
3.创建QuerryRunner对象
在dao层对数据库的操作,需要用到queryRunner对象,因此我们要,在配置文件中创建queryRunner对象,如下图所示
queryRunner对象的创建是要依赖于数据源的,因此我们要把构造器参数设置为数据源,如上图红色区域所示
但是数据源是引用于c3p0工具类的,因此,使用 ref=“ ” 来接收
4.创建数据源对象,如下图所示
其中包含四个连接数据库必备的属性,分别是; driverClass(注册驱动)、jdbcUrl(数据库连接地址)、user(登录数据库需要的用户名)、password(登录数据库密码)
当然,在设置这四个属性的值的时候,我们也可以采用,从外部引入名为 xxxx.properties的配置文件的方式
具体的引入方式,可以参考上一篇文章《使用Spring框架进行数据库增删改查入门(service层和dao层练习)》
第五步:创建dao层接口 和实现类
*dao接口
在dao层的接口中,定义增、删、改、查的抽象方法,我只写了一个查询所有的方法,如下图所示
*实现类
1.实现接口,并且实现接口中的抽象方法
2.在类的上方,使用@Service注解,就不用再手动的去创建对象了、如下如所示
其实在各个层中使用的注解都是不同的,比如说:
dao层,注解为 @Repository
service层,注解为@Service
controller层,注解为@Controller
还有一个,几个层都可以使用,@Component
其实,spring框架对注解规定,没有那么严格,如果实在记不住的话,以上四种注解,随便哪一个都可以在各个层使用
3.在成员位置,使用@Autowired (自动装配),并且声明queryRunner对象,如下图所示
如果仔细观察,会发现,第四步,我们在写配置文件的时候,少了很多通过 bean 注入对象属性的操作。
没错,这就是@Autowired(自动装配)的作用:当配置文件中需要向很多对象中注入很多属性的时候, 使用@Autowired(自动装配),他会在类中,直接获取到对象,这样就可以省去配置文件中的操作,使配置文件中的代码,简洁明了
4.创建sql语句,并执行sql语句,如下图所示
第六步;创建serviceceng接口 和实现类
*接口
*定义增、删、改、查的抽象方法
*实现类
1.实现接口以及接口中的抽象方法
2.在类的上方,使用@Service注解,如下图所示
3.在成员位置,使用@Autowired(自动装配) ,并声明dao层类对象,如下图所示
4.调用dao层中的方法,如下图
第七步:创建测试类
1.在类的上方使用 @Runwith(SpringJunit4ClassPath.class) spring与junit整合,如下图
2.使用ContextConfiguration(" ") 来指定赔值文件路径,它能够自动创建IOC容器对象,如下图
3.在成员位置使用@Autowierd(自动装配),并且声明service层对象,如下图
4.调用service层方法,如下图
这样的话,我们就完成了使用spring注解对数据库进行增、删、改、查;