
SSM
文章平均质量分 87
SSM
饭团煲
学习记录
展开
-
八、动态SQL
以入门案例中的更新操作为例,使用元素对映射文件中更新客户信息的SQL 语句进行修改的代码如下所示。动态SQL中的元素1、动态SQL有什么作用?2、动态SQL主要元素二、元素三、元素四、、元素五、元素六、元素七、元素原创 2023-07-07 18:21:10 · 287 阅读 · 1 评论 -
七、MyBatis的核心配置
SqlSession是 MyBatis框架中另一个重要的对象,它是应用程序与持久层之间执行交互操作的一个单线程对象,其主要作用是执行持久化操作。SqlSession对象包含了数据库中所有执行SQL操作的方法,由于其底层封装了JDBC 连接,所以可以直接使用其实例来执行已映射的SQL语句。每一个线程都应该有一个自己的 SqlSession实例,并且该实例是不能被共享的。原创 2023-07-07 15:04:17 · 823 阅读 · 1 评论 -
四、Spring的数据库开发
(4 )在src目录下,创建一个com.itheima.jdbc包,在该包中创建测试类JdbcTemplateTest.在该类的main()方法中通过Spring 容器获取在配置文件中定义的JdbcTemplate实例,然后使用该实例的execute(String sql)方法执行创建数据表的SQL语句。( 1 )在 chapter04项目的com.itheima.jdbc包中,创建Account类,在该类中定义id.username 和 balance属性,以及其对应的getter/setter方法。原创 2023-07-05 11:28:44 · 448 阅读 · 0 评论 -
二、Spring中的Bean
Qualifier:与@Autowired注解配合使用,会将默认的按Bean类型装配修改为按Bean的实例名称装配,Bean的实例名称山@Qualifier注解的参数指定。@Autowired:用于对Bean的属性变量、属性的setter方法及构造方法进行标注,配合对应的注解处理器完成Bean的自动配置工作。Bean的本质就是Java中的类,而Spring中的Bean其实就是对实体类的引用,来生产Java类对象,从而实现生产和管理 Bean。Spring容器支持多种形式的Bean的装配方式,如。原创 2023-07-01 17:21:58 · 106 阅读 · 0 评论 -
SSM——Spring的入门程序
/*** 为什么起名为UserDao,代表什么含义* Dao含义是对数据库表的操作* UserDao对数据库表User的操作,所有的对User表的操作-->增删改查* Say()*///接口的方法默认是publicvoid say();原创 2023-06-29 11:12:21 · 315 阅读 · 1 评论 -
SSM——spring框架
1、Spring是分层的轻量级开源框架,以IoC( Inverse of Control控制反转)和AOP ( Aspect Oriented Programming 面向切面编程)为内核,使用基本的JavaBean来完成以前只可能由EJB完成的工作,取代了EJB的腕臃肿、低效的开发模式。2、在实际开发中,通常服务器端在采用三层体系架构,分别为表示层(Web)业务逻辑层(Service)持久层(Dao),Spring对每一层都提供了技术支持。原创 2023-06-27 16:17:35 · 225 阅读 · 0 评论 -
五、Spring的事务管理
一、Spring事务管理概述1、什么是Spring的事务管理?2、事务管理的核心接口(1)PlatformTransactionNanager(2)TransactionDefinition(3)TransactionStatus二、声明式事务管理1、基于XML方式的声明式事务2、基于Annotation方式的声明式事务原创 2023-07-05 15:48:09 · 525 阅读 · 0 评论 -
引入他人项目,string报错
2、在Libraries下,发现JRE错误,移除。4、JRE不报错之后,引用并关闭。原创 2023-06-28 11:06:08 · 408 阅读 · 1 评论 -
三、Spring AOP (2)
一、基于代理类的AOP实现。原创 2023-07-03 16:02:16 · 230 阅读 · 1 评论 -
六、初识 MyBatis
在第4步时,由于可能查询出的是多条数据,所以调用的是SqlSession 的selectList()方法来查询返回结果的集合对象,并使用for 循环输出结果集对象。(2)在 Eclipse中,创建一个名为chapter06 的 Web项目,将MyBatis 的核心JAR包、lib目录中的依赖JAR包,以及 MySQL 数据库的驱动JAR包一同添加到项目的lib目录下,并发布到类路径中。其中,SQL语句中的“${}”用来表示拼接SQL的字符串,即不加解释的原样输出。此操作所执行的SQL语句如下所示。原创 2023-07-06 10:09:42 · 563 阅读 · 1 评论 -
三、Spring AOP (1)
将代理模式变成动态的),在java中采用的是JDK动态代理模式,但是JDK动态代理只适合代理接口而不适合代理类(这是因为对象分为代理对象和被代理对象嘛。在该类中的main()方法中创建代理对象和目标对象,然后从代理对象中获得对目标对象userDao增强后的对象,最后调用该对象中的添加和删除方法。( 4 )在src目录下,创建一个com.itheima.aspect包,并在该包下创建切面类MyAspect,在该类中定义一个模拟权限检查的方法和一个模拟记录日志的方法,这两个方法就表示切面中的通知。原创 2023-07-03 10:41:49 · 232 阅读 · 1 评论 -
Eclipse使用习惯配置
————>1. 2.1. 2. 3. 1. 2. 3.1.2. 输入.abcdefghijklmnopqrstuvwxyz@原创 2023-06-27 18:21:39 · 207 阅读 · 0 评论 -
十六、文件上传和下载
在 Eclipse 的 WebContent目录下,创建一个页面文件 download.jsp,将上述第(1)步的页面代码编写到 download.jsp 中,然后将第(2)步的 fileDownload()方法编写在FileUploadController类中。在后台使用Spring MVC提供的ResponseEntity类型对象完成文件下载,使用它可以很方便的定义返回的HttpHeaders对象和HttpStatus对象,通过对这两个对象的设置,即可完成下载文件时所需的配置信息。原创 2023-07-19 15:03:57 · 341 阅读 · 0 评论 -
九、MyBatis的关联映射 --- 一对多
(4)将映射文件 UserMapper.xml,OrdersMapper.xml的路径配置到核心配置文件 mybatis-config.xml 中,其代码如下所示。(1)在 mybatis 数据库中,创建两个数据表,分别为tb_user和 tb_orders,同时在表中预先插入几条数据,执行的SQL语句如下所示。( 3 )在 com.itheima.mapper包中,创建用户实体映射文件 UserMapper.xml,并在文件中编写一对多关联映射查询的配置。--一对多:查看某一用户及其关联的订单信息。原创 2023-07-11 16:45:00 · 1268 阅读 · 0 评论 -
十二、Spring MVC的核心类和注解
一、DispatcherServlet在Spring 2.5之前,只能使用实现 Controller接口的方式来开发一个控制器,上一章的入门案例就是使用的此种方式。在Spring 2.5之后,新增加了基于注解的控制器以及其他一些常用注解,这些注解的使用极大地减少了程序员的开发工作。接下来,本章将对Spring MVC中的常用核心类及其常用注解进行详细的讲解。一、DispatcherServlet的全名是,它在程序中充当着前端控制器的角色。原创 2023-07-15 17:09:25 · 289 阅读 · 0 评论 -
十四、RESTful支持
从上述两个请求中可以看出,RESTful风格中的URL将请求参数id=1变成了请求路径的一部分,并且URL中的queryltems 也变成了items ( RESTful风格中的URL 不存在动词形式的路径,如 queryltems表示查询订单,是一个动词,而 items表示订单,为名词)。方法中的@PathVariable("id")注解则用于接收并绑定请求参数,它可以将请求URL中的变量映射到方法的形参上,如果请求路径为“/user/{id}”,即。//模拟连接数据库,根据id查询用户数据。原创 2023-07-18 15:56:02 · 200 阅读 · 0 评论 -
十三、数据绑定(1)
注意:在使用POJO类型数据绑定时,前端请求的参数名(本例中指form表单内各元素的name属性值)必须与要绑定的Pojo类中的属性名一样,这样才会自动将请求数据绑定到POJO对象中,否则后台接收的参数值为null。如果查询条件参数是包装类中PoJo的子属性,则参数名必须为【对象.属性】,其中【对象】要和包装POJO中的对象属性名称一致,【属性】要和包装POJo中的对象子属性一致,如上述代码中的user.username。在上图中,填写对应的用户名和密码,然后单击“注册”按钮即可完成模拟注册功能。原创 2023-07-16 16:39:35 · 812 阅读 · 0 评论 -
九、MyBatis的关联映射 --- 多对多
除了在商品持久化类中需要添加订单的集合属性外,还需要在订单持久化类(Orders.java )中增加商品集合的属性及其对应的 getter/setter方法,同时为了方便查看输出结果,需要重写toString()方法,Orders类中添加的代码如下所示。( 3)在com.itheima.mapper包中,创建订单实体映射文件OrdersMapper.xml和商品实体映射文件ProductMapper.xml,对两个映射文件进行编辑(映射文件中不用写中间表的)--多对多关联映射:collection -->原创 2023-07-13 11:40:23 · 765 阅读 · 1 评论 -
十五、拦截器
在实际项目中,拦截器的使用是非常普遍的,例如在购物网站中通过拦截器可以拦截未登录的用户,禁止其购买商品,或者使用它来验证已登录用户是否有相应的操作权限等。(1)在Eclipse 中,创建一个名为chapter15的 Web项目,将Spring MVC程序运行所需JAR包复制到项目的lib目录中,并发布到类路径下。在上述拦截器的配置代码中,第一个拦截器会作用于所有路径下的请求,而第二个拦截器会作用于以“/hello”结尾的请求。如果在项目中只定义了一个拦截器,那么该拦截器在程序中的执行流程如图所示。原创 2023-07-18 17:12:47 · 472 阅读 · 0 评论 -
十四、JSON数据交互
JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。它是基于JavaScript的一个子集,使用了C、C++、C#、Java、JavaScript、Perl、Python等其他语言的约定,采用完全独立于编程语言的文本格式来存储和表示数据。JSON有什么特点?JSON与XML非常相似,都是用来存储数据的,并且都是基于纯文本的数据格式。与XML相比,JSON解析速度更快,占用空间更小,且易于阅读和编写,同时也易于机器解析和生成。原创 2023-07-18 11:39:16 · 642 阅读 · 0 评论 -
十三、数据绑定(2)
将图中的用户名tome改为 tom,jack改为jacks,并勾选两个数据前面的复选框,然后单击“修改"按钮后,浏览器会跳转到success.jsp页面中.此时控制台的打印信息如图所示。(2)在控制器类UserController中,编写接收批量删除用户的方法(同时为了方便向用户列表页面跳转,还需增加一个向user.jsp页面跳转的方法),其代码如下所示。( 2)在控制器类UserController中,编写接收批量修改用户的方法,以及向用户修改页面跳转的方法,其代码如下所示。原创 2023-07-18 09:33:33 · 257 阅读 · 0 评论 -
十一、Spring MVC入门
Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。它与Struts2框架一样,都属于MVC框架,但其使用和性能等方面比Struts2更加优异。Spring MVC具有以下特点是Spring框架的一部分,可以方便地利用Spring 所提供的其他功能。灵活性强,易于与其他框架集成。提供了一个前端控制器DispatcherServlet,使开发人员无须额外开发控制器对象。可自动绑定用户输入,并能正确的转换数据类型。内置了常见的校验器,可以校验用户输入。原创 2023-07-15 15:18:54 · 215 阅读 · 0 评论 -
十、 MyBatis与Spring的整合(1)
一、整合环境搭建一、整合环境搭建1、准备所需JAR包要实现MyBatis与Spring的整合,很明显需要这两个框架的JAR包,但是只使用这两个框架中所提供的JAR包是不够的,还需要其他的JAR包来配合使用,。原创 2023-07-13 14:48:36 · 277 阅读 · 1 评论 -
十五、通过拦截器来完成一个用户登录权限验证的案例
在用户登录方法中,先通过User类型的参数获取了用户名和密码,然后通过if语句来模拟从数据库中获取到用户名和密码后的判断。( 6)在 WEB-INF目录下的jsp文件夹中,创建一个登录页面login.jsp,在页面中编写一个用于实现登录操作的 form表单。从图可以看出,当用户未登录而直接访问主页面时,访问请求会被登录拦截器拦截,从而跳转到登录页面,并提示用户未登录信息。如果在用户名输入框中输入“jack",密码框中输入“123456”,当单击“登录”按钮后,浏览器的显示结果如图所示。原创 2023-07-18 18:12:15 · 269 阅读 · 0 评论 -
十、 MyBatis与Spring的整合(2)
如果添加了事务管理,并且事务管理的配置正确,那么在执行上述操作时,所添加的数据将不能够插入到数据表中。(3)在src目录下,创建一个com.itheima.service.impl包,并在包中创建CustomerService接口的实现类CustomerServicelmpl,来实现接口中的方法。在文件中,首先获取了CustomerService 的实例,然后创建了Customer对象,并向对象中添加属性值,最后调用了实例的addCustomer()方法执行添加客户操作。方法执行后,会发现显示结果一致。原创 2023-07-13 16:06:33 · 368 阅读 · 1 评论 -
十七、SSM框架整合
由于,所以Spring MVC 与Spring之间不存在整合的问题,只要引入相应JAR包就可以直接使用。因此 SSM框架的整合就只涉及,以及,如图所示。在第10章讲解同样,要实现SSM框架的整合,首先要准备,以及其他。在第10章讲解Spring 与MyBatis框架整合时,已经介绍了Spring 与MyBatis整合所需要的JAR包,这里只需要再加入 Spring MVC的相关JAR包即可,具体如下。因此,SSM整合时所需的全部JAR包如图所示。原创 2023-07-19 17:37:44 · 209 阅读 · 0 评论 -
九、MyBatis的关联映射(1)
一、关联关系概述一、关联关系概述实际的开发中,对数据库的操作常常会涉及到多张表,这在面向对象中就涉及到了对象与对象之间的关联关系。针对,通过关联映射就可以很好的处理对象与对象之间的关联关系。,多表之间存在着三种关联关系,分别为一对一、一对多和多对多,如下图所示:这三种关联关系的具体说明如下。:在任意一方引入对方主键作为外键。:在“多”的一方,添加“—”的一方的主键作为外键。:产生中间关系表,引入两张表的主键作为外键,两个主键成为联合主键或使用的字段作为主键。原创 2023-07-08 10:48:30 · 383 阅读 · 0 评论