众所周知,Spring MVC是目前主流的开发框架,除了它的自身携带的组件,Spring MVC还能够通过整合其他项目来完善Spring MVC的功能,其中Spring MVC整合数据库的代表就是Spring MVC整合JDBC。
一、首先我们来看看 Spring对JDBC整合支持,Spring MVC对DAO提供哪些支持?
1.Spring MVC对DAO异常提供统一处理
Spring MVC把特定某种技术的异常,如SQLException,统一的转化为自己的异常,异常以DataAccessException为父类。它封装原始的异常对象,不会丢失原始的错误信息。DataAccessException继承于RuntimeException,是非检查异常,不会因为没有处理异常而出现编译错误,异常必须处理可以用拦截器或者在页面统一处理。
2.Spring MVC对DAO编写提供支持的抽象类
Spring MVC为了便于以一种一致的方式使用各种数据访问技术,如JDBC,Hibernate,MyBatis,Spring提供一套抽象的DAO类,这些抽象类提供一些方法,通过它们可以获得与数据访问技术相关的数据源和其他配置信息。如下:
JdbcTemplate:封装常用JDBC方法
HibernateTemplate:封装常用Hibernate方法
JdbcDaoSupport:JDBC数据访问对象的基类
HibernateDaoSupport:Hibernate数据访问对象的基类
3.提供编程效率,减少JDBC编码量
基于JDBC技术编写DAO组件可以采用以下两种方式:
1) DAO继承JdbcDaoSupport,通过getJdbcTemplate()方法来获取JdbcTemplate对象,需要在DAO实现类中注入一个DataSource对象来完成JdbcTemplate的实例化
2) DAO组件不继承JdbcDaoSupport,在Spring容器中配置一个JdbcTemplate的Bean,然后注入给DAO实现类
在正式整合JDBC之前,我们需要下载三个包:JDBC驱动包(mysql-connector-java)、spring boot启用jdbc(spring-boot-starter-jdbc)、对数据进行序列化的json包(jackson-databind),如下:
mysql
mysql-connector-java
org.springframework.boot
spring-boot-starter-jdbc
com.fasterxml.jackson.core
jackson-databind
接下来我们在配置文件中,通过JDBC连接MySQL数据库,如下:
spring.datasource.url = jdbc:mysql://localhost:3306/user?serverTimezone=UTC
spring.datasource.username = root
spring.datasource.password = root
然后我们需要创建几个表:
1.员工表
create table emp(
empno int(4) primary key auto_increment,
ename varchar(10) not null,
salary double(7,2),
bonus double(5,2),
hiredate date,
deptno int(4)
);
insert into emp values(1001,'张君',3333.33,333.33,now(),10);
insert into emp values(1002,'李想',4444.44,444.44,now(),20);
insert into emp values(1003,'王磊',5555.55,555.55,now(),30);
insert into emp values(1004,'孙悦',6666.66,666.66,now(),40);
2.部门表:
create table dept(
deptno int(4) primary key auto_increment,
deptnamevarchar(20) not null,
deptlevel varchar(20),
deptcreatedate date,
depttotalperson int(4)
);
insert into dept values(10,'技术部','B',now(),66);
insert into dept values(20,'研发部','A',now(),77);
insert into dept values(30,'销售部','B',now(),88);
insert into dept values(40,'市场部','A',now(),99);
二、 Spring+ JDBC Template
1.创建工程,搭建Spring MVC和JDBC技术环境
1)引入数据库驱动包
2)引入DBCP连接池开发包
3)添加Spring相关技术环境
4 )引入Spring IoC
5 )在src下添加spring.xml
6)web.xml. 配置DispatcherServlet主控制器
2.基于jdbcTemplate实现DAO组件
1)根据数据表编写实体类
2)编写DAO接口和实现类
3)在Spring容器中配置DAO实现类
4 )定义DAO对象,注入jdbcTemplate
3.编写和配置Spring MVC 主要组件,如Controller
1)HandlerMapping, viewResolver
2)编写Controller和请求处理方法
3 )配置支持@Requestmapping
4) 配置Controller组件
5)开启组件扫描,将Controller扫描到Spring容器
6 )需要DAO时采用注入方式注入
7)在请求处理方法上使用@RequestMapping指定对应请求配置ViewResolver
4.编写JSP视图组件,利用JSTL标签和EL表达式显示数据
上面只是给了大概的操作流程,对于Spring MVC整合JDBC的详细步骤过于冗杂,想要了解的小伙伴可以观看本站的Spring MVC视频教程,了解更多的详细步骤和代码示例。
QCode09-04 14:38
Code大师09-04 14:50
不写代码你养我啊08-23 11:14
不写代码你养我啊09-17 18:02
要学习了06-18 18:13