动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

简述Spring MVC整合JDBC

08-24 17:28 62浏览
举报 T字号
  • 大字
  • 中字
  • 小字

众所周知,Spring MVC是目前主流的开发框架,除了它的自身携带的组件,Spring MVC还能够通过整合其他项目来完善Spring MVC的功能,其中Spring MVC整合数据库的代表就是Spring MVC整合JDBC

一、首先我们来看看 Spring对JDBC整合支持Spring MVCDAO提供哪些支持?

1.Spring MVCDAO异常提供统一处理

Spring MVC把特定某种技术的异常,如SQLException,统一的转化为自己的异常,异常以DataAccessException为父类。它封装原始的异常对象,不会丢失原始的错误信息DataAccessException继承于RuntimeException,是非检查异常,不会因为没有处理异常而出现编译错误,异常必须处理可以用拦截器或者在页面统一处理。

2.Spring MVCDAO编写提供支持的抽象类

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视频教程,了解更多的详细步骤和代码示例。

0人推荐
共同学习,写下你的评论
0条评论
爱读书的姑娘
程序员爱读书的姑娘

12篇文章贡献56281字

作者相关文章更多>

推荐相关文章更多>

DOM渲染的详细过程

QCode09-04 14:38

CSS水平和垂直居中技巧大梳理

Code大师09-04 14:50

mui的input框在IOS系统下无法聚焦或点击多次才能聚焦

不写代码你养我啊08-23 11:14

推荐的-视.频播放器以及在线客服

不写代码你养我啊09-17 18:02

谈谈java多线程的三大特性

要学习了06-18 18:13

发评论

举报

0/150

取消