1、 JavaEE企业级应用开发(SSM)企业级应用及开发环境企业级应用及开发环境第1章 企业级应用及开发环境目 录CONTENTSu1.1 企业级应用及解决方案u1.2 开发环境www.zhonghui.vip31.1 1.1 企业级应用及解决方案企业级应用及解决方案企业级应用是指那些为商业组织、大型企业而创建并部署的解决方案及应用。这些大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。当代的企业级应用决不可能是一个个相互独立的系统。对于企业级应用而言它的分布式有两种形式:B/S结构(Browser/Server)和C/S结构(Client/Serv
2、er)。由于浏览器的功能日益强大、网页技术的日益流行和应用服务器软件和中间件产品的逐步成熟,B/S结构的企业级应用已经成为一种流行的趋势,所以在下面的讨论中所谓的企业级应用统一为基于B/S结构的分布式企业信息系统。3www.zhonghui.vip41.1 1.1 企业级应用及解决方案企业级应用及解决方案C/SC/S(即客户机(即客户机/服务器模式):服务器模式):结构软件分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数
3、据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。B/SB/S(浏览器(浏览器/服务器模式):服务器模式):是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。4www.zhonghui.vip51.1 1.1 企业级应用及解决方案解决方案企业级应用及解决方案解决方案一般来说典型的企业级Java Web应用开发主要分为三层,即控制层、业务逻辑层和数据持久层控制层控制层:用来分派用户
4、的请求,从而执行不同的业务逻辑,再根据处理结果调用适合的表现层进行显示。有的时候,也会将用来显示业务处理的结果页面也归到此层中。业务逻辑层业务逻辑层:用来完成具体的业务逻辑操作,并返回处理结果。数据持久层数据持久层:用来完成业务逻辑对数据库访问任务。早期的时候,Java对企业级应用提供了官方的解决方案,即J2EE(是Java PlatForm 2 Enterprise Edition的缩写)。目前,J2EE已改名为JavaEE。5www.zhonghui.vip61.1 1.1 企业级应用及解决方案解决方案企业级应用及解决方案解决方案技术体系架构图:技术体系架构图:6www.zhonghui.
5、vip71.2 1.2 开发环境开发环境IDEA:IDEA是一个专门针对Java的集成开发工具(IDE),由Java语言编写。所以,需要有JRE运行环境并配置好环境变量。它可以极大地提升我们的开发效率。可以自动编译,检查错误。在公司中,使用的就是IDEA进行开发。7www.zhonghui.vip81.2 1.2 开发环境开发环境-IDEA-IDEA安装步骤安装步骤如果成功将IDEA下载下来之后,我们就可以开始安装了。欢迎界面:8www.zhonghui.vip91.2 1.2 开发环境开发环境-IDEA-IDEA安装步骤安装步骤选择安装路径:9www.zhonghui.vip101.2 1.
6、2 开发环境开发环境-IDEA-IDEA安装步骤安装步骤配置安装选项:10www.zhonghui.vip111.2 1.2 开发环境开发环境-IDEA-IDEA安装步骤安装步骤开始菜单:11www.zhonghui.vip121.2 1.2 开发环境开发环境-IDEA-IDEA安装步骤安装步骤安装完毕:12www.zhonghui.vip131.2 1.2 开发环境开发环境-IDEA-IDEA的的MAVENMAVEN配置配置 打开-File-Settings 配置 maven:13www.zhonghui.vip141.2 1.2 开发环境开发环境-IDEA-IDEA的的MAVENMAVEN
7、配置配置 idea 中创建一个 maven 的 web 工程:14www.zhonghui.vip151.2 1.2 开发环境开发环境-IDEA-IDEA的的MAVENMAVEN配置配置 idea 中创建一个 maven 的 web 工程:15点击下一步www.zhonghui.vip161.2 1.2 开发环境开发环境-IDEA-IDEA的的MAVENMAVEN配置配置 idea 中创建一个 maven 的 web 工程:16公司或者组织的名称项目名版本号点击下一步www.zhonghui.vip171.2 1.2 开发环境开发环境-IDEA-IDEA的的MAVENMAVEN配置配置 ide
8、a 中创建一个 maven 的 web 工程:17本地相关maven配置,无需改动点击下一步www.zhonghui.vip181.2 1.2 开发环境开发环境-IDEA-IDEA的的MAVENMAVEN配置配置 idea 中创建一个 maven 的 web 工程:18点击结束即可THANK YOUwww.zhonghui.vip下节课见 JavaEE企业级应用开发(SSM)Spring入门第2章 Spring入门目 录CONTENTSu1.1 Spring概述u1.2 Spring入门www.zhonghui.vip22SpringSpring是什么是什么 Spring是分层的 Java S
9、E/EE应用 full-stack 轻量级开源框架开源框架,以 IOCIOC(Inverse Of Control:反转控制反转控制)和 AOPAOP(Aspect Oriented Programming:面向切面编程面向切面编程)为内核。Spring提供了展现层 SpringMVC和持久层 Spring JDBCTemplate以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架。22www.zhonghui.vip23SpringSpring的发展历程的发展历程 Rod Johnson(Spring 之父
10、)2017 年9 月份发布了 Spring 的最新版本 Spring5.0Spring5.0通用版(GA)23www.zhonghui.vip24SpringSpring的优势的优势1.方便解耦,简化开发说明:说明:开发设计原则是高内聚,低耦合,开发设计原则是高内聚,低耦合,“高内聚高内聚“,是指一个人,自身能力越强越好,也就是说一个类,是指一个人,自身能力越强越好,也就是说一个类,里面的功能越多越好。里面的功能越多越好。”低耦合低耦合“,是指人与人之间牵扯的关系越少越好,也就是说类与类之间关,是指人与人之间牵扯的关系越少越好,也就是说类与类之间关系约不紧密越好。而系约不紧密越好。而Sprin
11、gSpring框架就能够帮助我们实现解耦,就是让类与类之间的耦合性降低,简化框架就能够帮助我们实现解耦,就是让类与类之间的耦合性降低,简化开发。开发。2.AOP 编程的支持说明:说明:SpringSpring的其中一个核心技术就是的其中一个核心技术就是AOPAOP,AOPAOP是一个很棒的技术,我们在后期会讲解是一个很棒的技术,我们在后期会讲解AOPAOP,在此不做过多,在此不做过多的说明。的说明。24www.zhonghui.vip25SpringSpring的优势的优势3.声明式事务的支持说明:说明:在传统事务的处理上,我们需要做到给每一个业务逻辑层的每一个方法上都要加上事务,为了避免在传
12、统事务的处理上,我们需要做到给每一个业务逻辑层的每一个方法上都要加上事务,为了避免出现数据的不一致等问题。那问题来了,如果有很多个业务逻辑类,每一个业务逻辑类中又有很多出现数据的不一致等问题。那问题来了,如果有很多个业务逻辑类,每一个业务逻辑类中又有很多方法,那我们需要加代码的地方是很多的,也很麻烦。方法,那我们需要加代码的地方是很多的,也很麻烦。SpringSpring声明式事务管理就帮助我们解决了这声明式事务管理就帮助我们解决了这个问题,我们只需要写少量的代码,个问题,我们只需要写少量的代码,SpringSpring框架就会帮我们,把每一个业务逻辑类的方法中都加上框架就会帮我们,把每一个业
13、务逻辑类的方法中都加上事务处理,非常的方便简单。事务处理,非常的方便简单。4.方便程序的测试说明:说明:SpringSpring框架整合其他的技术是非常方便的,比如框架整合其他的技术是非常方便的,比如SpringSpring框架可以整合框架可以整合junitjunit单元测试,这样我们在测单元测试,这样我们在测试试SpirngSpirng框架案例的时候,是非常方便快捷的。框架案例的时候,是非常方便快捷的。25www.zhonghui.vip26SpringSpring入门案例开发步骤入门案例开发步骤1.1.导入导入 Spring Spring 入门案例所需要的坐标入门案例所需要的坐标2.2.编
14、写编写 UserDao UserDao 接口和接口和UserDaoImplUserDaoImpl实现类实现类3.3.创建创建 Spring Spring 核心配置文件核心配置文件4.4.在在 Spring Spring 配置文件中配置配置文件中配置 UserDaoImplUserDaoImpl5.5.使用使用 Spring Spring 的的 API API 获得获得 BeanBean对象对象26【课程案例】:0201:Spring入门案例www.zhonghui.vip27SpringSpring入门案例步骤详解入门案例步骤详解1.1.导入导入 Spring Spring 入门案例所需要的坐
15、标入门案例所需要的坐标27因为要用到spring框架,所以需要导入spring-context坐标,因为要用到单元测试,所以需要导入junit坐标。www.zhonghui.vip28SpringSpring入门案例步骤详解入门案例步骤详解2.2.编写编写UserDaoUserDao接口和接口和UserDaoImplUserDaoImpl实现类实现类28www.zhonghui.vip29SpringSpring入门案例步骤详解入门案例步骤详解3.3.创建创建SpringSpring核心配置文件核心配置文件29建议配置文件的名字叫做applicationContext.xmlwww.zhong
16、hui.vip30SpringSpring入门案例步骤详解入门案例步骤详解4.4.在在SpringSpring配置文件中配置配置文件中配置UserDaoImplUserDaoImpl30www.zhonghui.vip31SpringSpring入门案例步骤详解入门案例步骤详解5.5.使用使用SpringSpring的的APIAPI获得获得BeanBean对象对象31www.zhonghui.vip32什么是什么是Spring IOCSpring IOCSpring IOC:又叫做控制反转控制反转(反转控制反转控制),就是指将对象的创建对象的创建交给SpringSpring容器容器来管理。解释
17、说明:解释说明:原来我们创建一个对象,是需要自己去new。但是如果使用Spring框架中的IOC技术的话,那我们自己就不需要去new对象了,我们只需要配置点东西,就可以让Spring框架帮助我们来创建对象了。32我们需要自己去newwww.zhonghui.vip33什么是什么是Spring DISpring DISpring DI:又叫做依赖注入依赖注入,就是指将对象中的属性的赋值属性的赋值交给SpringSpring容器容器来管理。解释说明:解释说明:原来我们已经创建完一个对象的话,就会给对象中的属性赋值,要么使用setter方法给属性赋值,要么使用有参构造方法给属性赋值。但是如果使用Sp
18、ringDI技术的话,就不再需要我们自己赋值了,Spring容器会帮我们给属性赋值。33Setter方法赋值构造方法赋值www.zhonghui.vip34案例开发步骤案例开发步骤-传统方式传统方式案例:使用Java程序设计方式模拟用户添加功能模拟用户添加功能。开发步骤:1.1.编写编写UserUser用户类用户类2.2.编写编写UserDaoUserDao接口和接口和UserDaoImplUserDaoImpl实现类实现类3.3.编写编写UserServiceUserService接口和接口和UserServiceImplUserServiceImpl实现类实现类4.4.编写测试类,测试代码
19、编写测试类,测试代码34www.zhonghui.vip35 案例开发步骤详解案例开发步骤详解-传统方式传统方式1.1.编写编写UserUser用户类用户类35创建一个用户类,定义姓名和年龄两个属性,并且提供相应的setter和getter方法,以及toString方法www.zhonghui.vip36 案例开发步骤详解案例开发步骤详解-传统方式传统方式2.2.编写编写UserUser用户类用户类36创建一个用户类,定义姓名和年龄两个属性,并且提供相应的setter和getter方法,以及toString方法www.zhonghui.vip37 案例开发步骤详解案例开发步骤详解-传统方式传统
20、方式2.2.编写编写UserDaoUserDao接口和接口和UserDaoImplUserDaoImpl实现类实现类37www.zhonghui.vip38 案例开发步骤详解案例开发步骤详解-传统方式传统方式3.3.编写编写UserServiceUserService接口和接口和UserServiceImplUserServiceImpl实现类实现类38此处是传统方式才会这么写的www.zhonghui.vip39 案例开发步骤详解案例开发步骤详解-传统方式传统方式4.4.编写测试类,测试代码编写测试类,测试代码39www.zhonghui.vip40案例开发步骤案例开发步骤-SpringIO
21、C-SpringIOC和和DIDI方式方式案例:使用Java程序设计方式模拟用户添加功能模拟用户添加功能。开发步骤:1.1.导入案例所需要的坐标导入案例所需要的坐标2.2.编写编写UserUser用户类用户类3.3.编写编写UserDaoUserDao接口和接口和UserDaoImplUserDaoImpl实现类实现类4.4.编写编写UserServiceUserService接口和接口和UserServiceImplUserServiceImpl实现类实现类5.5.创建创建SpringSpring配置文件配置文件applicationContext.xmlapplicationContext
22、.xml6.6.将将UserDaoImplUserDaoImpl和和UserServiceImplUserServiceImpl配置到配置文件中配置到配置文件中7.7.编写测试类,测试代码编写测试类,测试代码40www.zhonghui.vip41 案例开发步骤详解案例开发步骤详解-SpringIOC-SpringIOC和和DIDI方式方式1.1.导入案例所需要的坐标导入案例所需要的坐标41因为需要Spring框架,所以要导入Spring框架核心坐标。因为需要单元测试,所以要导入junit坐标。www.zhonghui.vip42 案例开发步骤详解案例开发步骤详解-SpringIOC-Spri
23、ngIOC和和DIDI方式方式2.2.编写编写UserUser用户类用户类42创建一个用户类,定义姓名和年龄两个属性,并且提供相应的setter和getter方法,以及toString方法www.zhonghui.vip43 案例开发步骤详解案例开发步骤详解-SpringIOC-SpringIOC和和DIDI方式方式2.2.编写编写UserUser用户类用户类43创建一个用户类,定义姓名和年龄两个属性,并且提供相应的setter和getter方法,以及toString方法www.zhonghui.vip44 案例开发步骤详解案例开发步骤详解-SpringIOC-SpringIOC和和DIDI方
24、式方式3.3.编写编写UserDaoUserDao接口和接口和UserDaoImplUserDaoImpl实现类实现类44www.zhonghui.vip45 案例开发步骤详解案例开发步骤详解-SpringIOC-SpringIOC和和DIDI方式方式4.4.编写编写UserServiceUserService接口和接口和UserServiceImplUserServiceImpl实现类实现类45www.zhonghui.vip46 案例开发步骤详解案例开发步骤详解-SpringIOC-SpringIOC和和DIDI方式方式5.5.创建创建SpringSpring配置文件配置文件applica
25、tionContext.xmlapplicationContext.xml46www.zhonghui.vip47 案例开发步骤详解案例开发步骤详解-SpringIOC-SpringIOC和和DIDI方式方式6.6.将将UserDaoImplUserDaoImpl和和UserServiceImplUserServiceImpl配置到配置文件中配置到配置文件中47www.zhonghui.vip48 案例开发步骤详解案例开发步骤详解-SpringIOC-SpringIOC和和DIDI方式方式7.7.编写测试类,测试代码编写测试类,测试代码48THANK YOU下节课见 JavaEE企业级应用开发
26、(SSM)Spring Bean装配第2章 Spring Bean装配目 录CONTENTSu1.1 Bean概述u1.2基于xml bean装配的注入方式u1.3 常见标签属性详解u2.1基于XML的Bean装配setter注入案例u2.2基于XML的Bean装配构造器注入案例www.zhonghui.vip52什么是什么是BeanBean BeanBean:大家把bean理解为就是Java类,类里面有属性和行为,既成员变量和成员方法等等,那如果我们想要使用该类中的这些东西,首先要做的就是创建该类的对象,然后调用对象中的各种东西。那bean其实就是这个类。SpringSpring中的中的Be
27、anBean:Spring中的Bean其实和上面的Bean是一样的,只不过有一点点小区别,比如我们平时使用Bean的话,直接new个Bean的对象就可以了,但是如果是使用Spring的Bean的话,我们得需要去配置,把Bean配置好,才可以使用Bean对象中的东西,配置方式有两种,一种是基于XML的方式,一种是基于注解的方式。52注意:大家不要把bean想的多么抽象,多么难理解,就把它当成一个类即可。www.zhonghui.vip53什么是什么是SpringSpring容器容器 SpringSpring容器:容器:其实Spring容器是一个抽象的概念,不过大家可以把它形象化,把Spring容
28、器可以形象成一个大箱子,箱子是用来装东西的,那Spring容器这个大箱子用来装什么呢?答案很简单,用来装Bean的,就是装Java类的。思考问题:为什么要让思考问题:为什么要让SpringSpring容器来装容器来装BeanBean呢?呢?因为只要把Bean装到Spring容器中,Spring容器就会帮助我们来new这个Bean的对象,而不需要我们自己去new对象了,大大的降低了程序的耦合性,这也正是我们学习Spring框架的最大的好处。53www.zhonghui.vip54settersetter方式注入方式注入什么是setter方式注入?注入是指让Spring容器来给对象中的属性赋值,大
29、家回忆一下当年咱们学过的知识点,如果我们定义一个Person类,该类中有一个私有的name属性,为了给name属性赋值,我们是不是提供了setName的方法。同理,在Spring的配置中,也可以通过setXXX的这种方式给属性赋值。54【课程案例】:0301:注入的分类介绍www.zhonghui.vip55构造器方式注入构造器方式注入什么是构造器方式注入?大家回想一下,如果我们定义一个Person类,该类中有一个私有的name属性,为了给name属性赋值,我们是不是提供了setName的方法。当然,这是setter方式赋值,除了这种方式,是不是还有一种通过构造方法的方式赋值呢。55www.z
30、honghui.vip56beambeam标签及其属性标签及其属性beanbean标签标签:一个bean标签代表一个类的对象、实例。idid属性属性:每一个bean标签的唯一标识,身份标识。classclass属性属性:指定类的类型,告知我们这个bean对象是哪一个数据类型的。56www.zhonghui.vip57propertyproperty标签及其属性标签及其属性property标签:给属性注入的时候需要用到的标签。name属性:告知是给哪一个属性注入,指定属性的名字value属性:给属性注入的值ref属性:给属性注入的是引用的值57www.zhonghui.vip58construc
31、tor-argconstructor-arg标签及其属性标签及其属性constructor-arg标签:使用构造器方式注入时需要使用的标签name属性:告知是给哪一个形参参数注入,执行形参的名字value属性:给形参注入的值ref属性:给属性注入的是引用的值58www.zhonghui.vip59案例实现步骤案例实现步骤【课程案例】:【课程案例】:03020302:SpringSpring基于基于xmlxml的的BeanBean装配装配settersetter注入案例注入案例1.1.导入案例所需坐标导入案例所需坐标2.2.创建创建UserUser类类3.3.创建创建UserDaoUserDao
32、接口和接口和UserDaoImplUserDaoImpl实现类,并且提供实现类,并且提供save(User user)save(User user)方法方法4.4.创建创建UserServiceUserService接口和接口和UserServiceImplUserServiceImpl实现类,并且提供实现类,并且提供save(User user)save(User user)方法方法5.5.创建创建SpringSpring核心配置文件核心配置文件applicationContext.xmlapplicationContext.xml,进行配置,进行配置6.6.创建创建UserControll
33、erUserController测试类,进行测试测试类,进行测试59www.zhonghui.vip60案例步骤详解案例步骤详解1.导入案例所需坐标导入案例所需坐标60Spring核心坐标www.zhonghui.vip61案例步骤详解案例步骤详解2.创建创建UserUser类类61www.zhonghui.vip62案例步骤详解案例步骤详解3.创建创建UserDaoUserDao接口和接口和UserDaoImplUserDaoImpl实现类,并且提供实现类,并且提供save(User user)save(User user)方法方法62www.zhonghui.vip63案例步骤详解案例步骤
34、详解4.创建创建UserServiceUserService接口和接口和UserServiceImplUserServiceImpl实现类,并且提供实现类,并且提供save(User user)save(User user)方法方法63www.zhonghui.vip64案例步骤详解案例步骤详解5.创建创建SpringSpring核心配置文件核心配置文件applicationContext.xmlapplicationContext.xml,进行配置,进行配置64www.zhonghui.vip65案例步骤详解案例步骤详解6.创建创建UserControllerUserController测试
35、类,进行测试测试类,进行测试65www.zhonghui.vip66案例实现步骤案例实现步骤【课程案例】:【课程案例】:03020302:SpringSpring基于基于xmlxml的的BeanBean装配构造器注入案例装配构造器注入案例1.1.导入案例所需坐标导入案例所需坐标2.2.创建创建UserUser类类3.3.创建创建UserDaoUserDao接口和接口和UserDaoImplUserDaoImpl实现类,并且提供实现类,并且提供save(User user)save(User user)方法方法4.4.创建创建UserServiceUserService接口和接口和UserSer
36、viceImplUserServiceImpl实现类,并且提供实现类,并且提供save(User user)save(User user)方法方法5.5.创建创建SpringSpring核心配置文件核心配置文件applicationContext.xmlapplicationContext.xml,进行配置,进行配置6.6.创建创建UserControllerUserController测试类,进行测试测试类,进行测试66www.zhonghui.vip67案例步骤详解案例步骤详解1.导入案例所需坐标导入案例所需坐标67www.zhonghui.vip68案例步骤详解案例步骤详解2.创建创建U
37、serUser类类68www.zhonghui.vip69案例步骤详解案例步骤详解3.创建创建UserDaoUserDao接口和接口和UserDaoImplUserDaoImpl实现类,并且提供实现类,并且提供save(User user)save(User user)方法方法69www.zhonghui.vip70案例步骤详解案例步骤详解4.创建创建UserServiceUserService接口和接口和UserServiceImplUserServiceImpl实现类,并且提供实现类,并且提供save(User user)save(User user)方法方法70提供的是有参构造方法www
38、.zhonghui.vip71案例步骤详解案例步骤详解5.创建创建SpringSpring核心配置文件核心配置文件applicationContext.xmlapplicationContext.xml,进行配置,进行配置71www.zhonghui.vip72案例步骤详解案例步骤详解6.创建创建UserControllerUserController测试类,进行测试测试类,进行测试72www.zhonghui.vip73ComponentComponent注解注解Component:用于替换xml配置文件方式中的bean标签。例子:package com.dao;Componentclass
39、 UserDao 等同于:注意:注意:idid属性值等于类名首字母小写,其余不变。属性值等于类名首字母小写,其余不变。classsclasss属性值等于全路径类名属性值等于全路径类名(包名包名+类名类名)。73www.zhonghui.vip74RepositoryRepository、ServiceService、ControllerControllerRepositoryRepository:和Component功能一模一样,用于替换xml配置文件方式中的bean标签。注意:该注解可以用在任意一个类上面,只不过为了见名知意,我们只用在数据访问层。数据访问层。ServiceService:和
40、Component功能一模一样,用于替换xml配置文件方式中的bean标签。注意:该注解可以用在任意一个类上面,只不过为了见名知意,我们只用在业务逻辑层。业务逻辑层。ControllerController:和Component功能一模一样,用于替换xml配置文件方式中的bean标签。注意:该注解可以用在任意一个类上面,只不过见名知意,我们只用在表现层。表现层。74www.zhonghui.vip75AutowriedAutowried、ValueValueAutowriedAutowried:用于替换property标签,标注在引用数据类型的属性上,专门给属性进行注入的。注意:class U
41、serServiceImpl Autowriedprivate UserDao userDaoValueValue:用于替换property标签,标签在基本数据类型和String类型包装类上,专门给属性进行注入的。注意:class UserServiceImpl Value(“张三”)private String name;75www.zhonghui.vip76案例实现步骤案例实现步骤1.1.导入案例所需坐标导入案例所需坐标2.2.创建创建UserUser类类3.3.创建创建UserDaoUserDao接口和接口和UserDaoImplUserDaoImpl实现类,并且提供实现类,并且提供s
42、ave(User user)save(User user)方法方法4.4.创建创建UserServiceUserService接口和接口和UserServiceImplUserServiceImpl实现类,并且提供实现类,并且提供save(User user)save(User user)方法方法5.5.创建创建SpringSpring核心配置文件核心配置文件applicationContext.xmlapplicationContext.xml,进行配置,进行配置6.6.创建创建UserControllerUserController测试类,进行测试测试类,进行测试76www.zhonghu
43、i.vip77案例步骤详解案例步骤详解1.导入案例所需坐标导入案例所需坐标77www.zhonghui.vip78案例步骤详解案例步骤详解2.创建创建UserUser类类78www.zhonghui.vip79案例步骤详解案例步骤详解3.创建创建UserDaoUserDao接口和接口和UserDaoImplUserDaoImpl实现类,并且提供实现类,并且提供save(User user)save(User user)方法方法79www.zhonghui.vip80案例步骤详解案例步骤详解4.创建创建UserServiceUserService接口和接口和UserServiceImplUser
44、ServiceImpl实现类,并且提供实现类,并且提供save(User user)save(User user)方法方法80www.zhonghui.vip81案例步骤详解案例步骤详解5.创建创建SpringSpring核心配置文件核心配置文件applicationContext.xmlapplicationContext.xml,进行配置,进行配置81用于指定所要扫描的包范围www.zhonghui.vip82案例步骤详解案例步骤详解6.创建创建UserControllerUserController测试类,进行测试测试类,进行测试82THANK YOU下节课见 JavaEE企业级应用开发
45、(SSM)第1节 Spring JdbcTemplagte概述第4章 Spring数据库编程目 录CONTENTSu1.1 JdbcTemplate的概述u1.2传统JDBC对数据库的操作u2.1 JdbcTemplate的入门案例u2.2 Spring框架JdbcTemplate案例u3.1 JdbcTemplate的多条件查询u3.2NamedParameterJdbcTemplate介绍86什么是什么是JdbcTemplateJdbcTemplate JdbcTemplateJdbcTemplate:JdbcTemplate(JDBCJdbcTemplate(JDBC模板模板)是Spri
46、ng框架的子框架,是对传统JDBC的封装,解决了传统JDBC操作数据库繁琐的问题,并且能够很好的将查询到的数据封装到我们所需要的对象中,非常的便捷。要使用JdbcTemplate,需要导入此坐标。87操作实现步骤操作实现步骤【课程案例】:0301:传统JDBC对数据库的操作案例1.1.导入案例所需坐标导入案例所需坐标2.2.创建测试类进行测试创建测试类进行测试a.a.注册驱动注册驱动b.b.获取数据库连接对象获取数据库连接对象c.c.获取执行获取执行sqlsql语句的对象语句的对象d.d.执行执行sqlsql语句,获取结果集对象语句,获取结果集对象e.e.解析结果集解析结果集f.f.释放资源释
47、放资源88需要导入数据库驱动坐标步骤详解步骤详解1.导入案例所需坐标导入案例所需坐标89步骤详解步骤详解2.创建测试类进行测试创建测试类进行测试单元测试中的注解,在执行Test方法之前执行该方法90步骤详解步骤详解2.创建测试类进行测试创建测试类进行测试添加操作修改操作c.获取执行sql语句的对象c.获取执行sql语句的对象d.执行sql语句d.执行sql语句预编译,所以需要给?号赋值预编译,所以需要给?号赋值91步骤详解步骤详解2.创建测试类进行测试创建测试类进行测试单元测试中的注解,在Test方法执行之后执行该方法f.释放资源92传统传统JDBCJDBC操作数据库的问题分析操作数据库的问题
48、分析 问题分析:如果使用传统JDBC方式操作数据库,对于我们程序员最直观的感受就是,会造成代码的冗余,写起来很麻烦,总是重复的写相同的代码,比如说,我们在执行增删改查任意一条sql语句的时候,我们都需要注册驱动,获取数据库连接对象,等等。这些重复的代码是需要我们来写的,很麻烦,再比如说,我们想要将查询到的结果从结果集中解析出来之后,封装到Bean对象中,或者集合容器中等等,这些都是需要我们自己写代码操作的,一点不简便。所以避免这些问题的存在,为了简化我们的代码,提高我们的开发效率,我们才学习,那我们就要学习一种新的技术,就是JdbcTemplate,它能够很好的帮助我们解决以上的问题。具体怎么
49、觉呢?咱们下回再讲解。9293JdbcTemplateJdbcTemplate的使用方式的使用方式JdbcTemplate的两种使用方式:方式一:使用Java传统代码方式来使用JdbcTemplate,这种方式完全没有使用Spring框架,就可以实现使用JdbcTemplate来操作数据库。方式二:使用Spring框架方式来使用JdbcTemplate,这种方式需要将JdbcTemplate配置到Spring容器中,然后通过注入,来实现对数据库的操作。接下来,咱们一起来看看这两种方式的例子。94案例实现步骤案例实现步骤【课程案例】【课程案例】04020402:JdbcTemplateJdbcT
50、emplate入门案例入门案例实现步骤:实现步骤:1.1.导入案例所需要的坐标导入案例所需要的坐标2.2.创建创建UserUser类类3.3.创建测试类,进行测试创建测试类,进行测试a.a.创建数据库连接池对象。创建数据库连接池对象。b.b.给数据库连接池属性进行配置。给数据库连接池属性进行配置。c.c.创建创建JdbcTemplateJdbcTemplate对象,将数据库连接池对象作为参数传入。对象,将数据库连接池对象作为参数传入。d.d.调用方法,操作数据库。调用方法,操作数据库。95步骤详解步骤详解1.导入案例所需坐标导入案例所需坐标需要导入数据库驱动坐标需要导入JdbcTemplate