- 博客(36)
- 收藏
- 关注
原创 SpringMVC11-CRUD
7.1查询功能step1 . 编写一个Controller功能,实现查询图书列表通过注解定义使其成为一个控制器,类请求路径为 /book,内置了一个 BookService 对象以执行业务,这个对象通过自动装配的方式注入!@Controller@RequestMapping("/book")public class BooksController { /* service层持有Dao层 *Controller层持有Service层 * */ // 自动装配
2022-01-28 22:34:32 1350
原创 SpringMVC10-整合
简略步骤:数据库创建表,导入maven依赖dao层:Mybatis连通数据库,并且纳入Spring管理:实体类(类与数据库字段要一致)和mapper.xml的创建mybaits-config.xml:只设置别名和Mapper注册即可;db.properties:数据库的驱动,路径,账户密码,若是使用c3p0得是user不能是username编写Service接口和实现类;spring-dao.xml:关联数据库配置+数据源sqlSessionBeanFactory,整合sqlSess
2022-01-28 18:25:46 992
原创 已解决—org.apache.catalina.core.StandardContext.filterStart 启动过滤器异常
刚刚配置web应用时候tomcat还能启动,完成web.xml的配置后就不能启动了,出现以下错误: Error during artifact deployment. See server log for details.org.apache.catalina.core.StandardContext.filterStart 启动过滤器异常 java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodi
2022-01-27 18:52:52 6314 1
原创 Caused by: java.sql.SQLException: Access denied for user ‘Administrator‘@‘localhost‘ (using password
版本信息: <!--mysql数据库驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependenc
2022-01-27 18:27:26 1539
原创 SpringMVC09-Json
springmvc的Json处理8.1 什么是JsonJSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、
2022-01-26 23:33:27 107
原创 SpringMVC08-乱码问题
首先我们尝试构造一个乱码第1步 我们可以在首页编写一个提交的表单,在web目录下创建form.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body><form action="${pageContext.request.co
2022-01-26 21:49:40 147
原创 SpringMVC07-处理数据
7.1 处理前端请求数据原来httpservlet获取前端请求数据的方式request.getParamete(“username”)springmvc 处理提交数据1、提交的域中参数名城和处理的参数名称一致提交数据为http://localhost:8080/test11_war_exploded/test1111?name=baifu处理方法: @RequestMapping("/test1") public String test(String username){
2022-01-26 21:48:48 1079
原创 SpringMVC06-结果跳转ModelAndView
结果跳转ModelAndViewModelAndView, 根据view的名称,和视图解析器调到指定的页面页面= {视图解析器前缀}+viewName+{视图解析器后缀}一个视图解析器 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <property name="prefix"
2022-01-26 18:44:37 369
原创 SpringMVC05- RestFul风格
RestFul风格1. REST介绍RestFul就是一个资源定位和资源操作的风格,不是标准也不是协议,是一种风格,基于这个风格设计的软件可以更加简洁、更有层次、更易于实现缓存的机制.EST 即 Representational State Transfer,意为表示层状态传递,是一种软件架构风格,可以降低开发的复杂性,提高系统的可伸缩性。REST 是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是 RESTful。功能首先,互联网上的信息都可以被抽象为资源,用户可以发起请求对这
2022-01-26 18:10:10 188
原创 SpringMVC04-Controller控制器配置
Controller控制器配置总结控制器 Controller,复杂提供访问应用程序的行为,通常通过接口定义或者注解定义两种方式实现控制器Controller : 负责解析用户的请求并将其转换为一个模型在spring mvc中一个控制器可以包含多个方法在spring mvc中,对于controller的配置方式有很多种,下面讲述下具体的配置方式1 方式一:实现Controller接口第1步,新建一个maven子项目,并添加web能力支持,配置项目的lib包内容第2步,编写web.xml,配置D
2022-01-26 16:50:03 1263
原创 SpringMVC03-注解
使用注解开发SpringMVC第1步:创建一个空的maven项目,并加入web支持,此处需要记住,web.xml必须使用4.0及以上版本,不然会出现代码无法运行第2步: 配置项目的依赖,需要关注project structure,里面需要在项目里面加入lib包pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x
2022-01-25 23:42:50 128
原创 SpringMVC02-原理
Spring MVC是Spring Framework的一部分,是基于Java实现的MVC的轻量级Web框架!为什么学习Spring MVC呢1、轻量级,简单易学2、高效,基于请求响应的MVC构架3、与spring兼容性好,无缝结合4、约定优于配置5、功能强大RESTFul,数据验证,格式化,本地化,主题等6、简洁灵活1.springmvc 概述Spring:大杂烩,我们可以将SpringMVC中所有需要的bean注册到Spring中Spring的web框架围绕DispatcherSer
2022-01-25 22:38:36 180
原创 SpringMVC01-相关知识回顾
1. 回顾MVC1.1 什么是MVC?MVC 即模型( Model )、视图( View )、控制器( Controller )的简写,是一种软件设计规范!MVC 不是一种设计模式,而是一种架构模式,主要作用是降低了视图与业务逻辑间的双向耦合。Model(模型):数据模型,提供要展示的数据,因此包含数据和行为。一般分为数据层( Dao 层) 和 服务层( Service 层)。总而言之,模型负责数据查询和数据的状态更新等功能。**View(视图):**负责进行模型的展示,也是用户与之进行交互的界
2022-01-25 22:34:13 116
原创 Spring08-声明式事务
回顾事务事务的概念:在关系数据库中,一个事务可以是一条 SQL 语句,一组 SQL 语句或整个程序。要么都成功,要么都失败十分重要,涉及到数据一致性确保完整性和一致性事务的 ACID 特性原子性( Atomicity ):事务中包括的操作要么都做,要么都不做。一致性( Consistency ):事务必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性( Isolation ):一个事务的执行不能被其他事务干扰。持久性( Durability ):一个事务一旦提交
2022-01-24 23:48:40 83
原创 Spring07-整合Mybatis
回顾MyBatis1.在 Maven 中导入 MyBatis 需要的依赖<dependencies> <!--Mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</vers
2022-01-24 21:31:09 106
原创 Spring06-AOP
AOP简介在不影响目标对象的情况下,对目标对象的方法进行增强,例如,添加打印日志。动态代理的典型应用.什么是AOPAOP 即 Aspect Oriented Programming,意为面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP 是 OOP 的延续,是软件开发中的一个热点,也是 Spring 框架中的一个重要内容,是函数式编程的一种衍生范型。利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了
2022-01-23 23:37:53 148
原创 Spring05-代理模式
Spring 的两个关键点就是 IoC(控制反转) 和 AOP(面向切面编程),IoC 已经研究过了,接下里就到 AOP 了。不过在学习 Spring AOP 前,必须要了解一下代理模式,因为代理模式是 AOP 的核心。代理模式可以分为静态代理和动态代理代理模式类图代理模式( Proxy Pattern )是一个使用率非常高的模式,其定义如下:Provide a surrogate or placeholder for another object to control access to it.(
2022-01-23 20:31:47 102
原创 Spring05-Java配置
使用java方式配置spring在 Spring 中,也可以不用 XML 文件,转而使用 Java 代码的方式配置。官方文档的例子@Configurationpublic class AppConfig { @Bean public MyService myService() { return new MyServiceImpl(); }}The preceding AppConfig class is equivalent to the follow
2022-01-22 22:56:46 87
原创 Spring05-注解开发
使用注解开发在spring4之后,要使用注解必须导入 spring-aop 的包。不过之前一直使用的 spring-webmvc 依赖已经包含了 aop 的包,就非常方便了.<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.9</version&g
2022-01-22 21:22:55 105
原创 Spring04-Bean的自动装配
自动装配是Spring是满足bean依赖的一种方式,之前都要手动给 bean 注入依赖,否则属性就为空自动装配:Spring会在上下文自动寻找,并自动给bean装配属性在Spring中有三种装配的方式在xml中显示配置在java中显示配置隐式的自动装配bean 【重要】环境搭建:创建 Person 类、Cat 类、Dog 类,类之间的关系为一个人有两个宠物猫和狗(为了方便就不创建包了,直接在 main/java 下建类),一个人有两个宠物@Data@AllArgsC.
2022-01-22 20:43:18 101
原创 Spring03-Bean的作用域
SpringBean的作用域和正常创建对象一样,在 Spring 中用 bean 配置的对象也有对应的作用域,可以在 bean 标签中通过 scope 属性进行设置Singleton单例模式(默认)<bean id="user" class="com.baifu.pojo.User" p:name="baifu" p:age="15" scope="singleton"/> 若一个 bean 的作用域设置为 singleton,则在程序运行过程中一个类只有一个对象,任何对该对象
2022-01-22 17:56:58 52
原创 Spring02-DI依赖注入
DI依赖注入构造器注入set方式注入(重点)依赖注入:依赖即某个类中的属性,注入即由 Spring 进行属性的设置。依赖:bean对象的创建依赖于容器注入:bean对象中的所有属性,由容器来注入【环境搭建】建立 Address 类和 Student 类作为测试对象,其中 Student 类中有基本类型、其他类的对象、数组、List、Map、Set、空值、Properties 的属性,使用 Lombok 为其添加 get/set 方法package com.pojo;import
2022-01-22 17:38:48 67
原创 Spring01-简介
1. 简介spring理念:是现有的技术更加容易使用,本身是一个大杂烩。SSH:Struct2 + Spring + HibernateSSM: SpringMVC + Spring + Mybatis官网: https://spring.io/projects/spring-framework#overview官方下载: https://repo.spring.io/release/org/springframework/spring/GitHub: https://github.com/
2022-01-21 18:18:30 211
原创 Mybatis12-缓存
简介查询 : 连接数据库 ,耗资源! 一次查询的结果,给他暂存在一个可以直接取到的地方!--> 内存 : 缓存 我们再次查询相同数据的时候,直接走缓存,就不用走数据库了什么是缓存 [ Cache ]?存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率。什么样的数据能使
2022-01-20 18:41:07 728
原创 Mybatis11-动态 SQL
动态 SQL什么是动态SQL:动态SQL就是指根据不同的条件生成不同的SQL语句你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。搭建环境在数据库中创建 blog 表,后面再插入数据CREATE TABLE `blog`(`id` VARCHAR(50) NOT NULL COMMENT '博客id',`title` VARCHA
2022-01-20 16:54:09 599
转载 Mybatis10-一对多
一个老师拥有多个学生!对于老师而言,就是一对多的关系!学生实体类中老师的属性为tid,老师实体类中包含学生对象;public class Teacher { private int id; private String name; // 一个老师对应多个学生 private List<Student> students;}public class Student { private int id; private String name;
2022-01-19 21:03:28 106
转载 Mybatis09-多对一
背景要解决的问题:实体类中老师是学生的属性,是一个对象,但是数据库中对应的学生表格中老师的属性为tid是一个int型,将数据库中老师信息于学生表格中老师的信息对应起来.(多个学生一个老师)按照查询嵌套处理先查询所有学生,然后根据学生的tid查询对应的老师, 子查询。接口中的方法不用改变,要改变的是 StudentMapper.xml 中怎么用 SQL<!-- 思路: 1.查询所有的学生信息 2.根据查询出来的学生的tid,寻找对应的老师!
2022-01-19 18:15:34 85
原创 MyBatis08-Lombok
简介:Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging varia
2022-01-19 16:01:14 181
原创 Mybatis-07使用注解开发
7.1、面向接口编程- 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程- 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好- 在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;- 而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模
2022-01-18 20:16:06 71
原创 MyBatis07-分页
思考:为什么要分页?减少数据的处理量7.1、使用Limit分页语法:SELECT * from user limit startIndex,pageSize;SELECT * from user limit 3; #[0,n]使用Mybatis实现分页,核心SQL接口//分页List<User> getUserByLimit(Map<String,Integer> map);Mapper.xml<!--//分页--><sel
2022-01-18 18:15:06 62
原创 MyBatis06-日志
6.1、日志工厂如果一个数据库操作,出现了异常,我们需要排错。日志就是最好的助手!曾经:sout 、debug现在:日志工厂!SLF4JLOG4J【掌握】LOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGING 【掌握】NO_LOGGING在Mybatis中具体使用那个一日志实现,在设置中设定!STDOUT_LOGGING标准日志输出在mybatis核心配置文件中,配置我们的日志! <setti
2022-01-18 17:42:26 53
原创 Mybatis05-实体类属性名和SQL字段名不一致
数据库中的字段实体类属性public class User { private int id; private String name; private String password;}解决方法:起别名,将pwd as为password<select id="getUserById" resultType="com.kuang.pojo.User"> select id,name,pwd as password
2022-01-18 17:38:31 65
原创 Mybatis04-配置解析
1、核心配置文件mybatis-config.xmlMyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器)d
2022-01-17 20:10:29 565
原创 Mybatis-02-CRUD & Map & 模糊查询注意
增加SQL语句只要修改Mapper下的dao、mapper文件和xml文件即可1、namespacenamespace中的包名要和 Dao/mapper 接口的包名一致!注意点:增删改需要提交事务才能生效!( sqlSession.commit();)2、select查询语句;id : 就是对应的namespace中的方法名;resultType:Sql语句执行的返回值!parameterType : 参数类型!编写接口//根据ID查询用户User getUserById
2022-01-17 17:16:39 423
原创 初识Mybatis-01
初识Mybatis1.2、持久化1.3、持久层1.4 为什么需要Mybatis?2、第一个Mybatis程序2.1、搭建环境2.2、创建一个模块2.3、编写代码MyBatis 是一款优秀的持久层框架它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中
2022-01-16 22:50:55 86
原创 块存储、文件存储、对象存储区别
这里写自定义目录标题块存储、文件存储、对象存储区别1、预备知识:2、块存储3、文件存储4、对象存储5、总结块存储、文件存储、对象存储区别当被人问到块存储、文件存储、对象存储有啥区别时,我也一脸懵逼,经过一番搜索后,找到了一个自认为比较通俗易懂的解释,跟大家分享一下,作为一个存储打工人小白,有不对的地方欢迎大神指教。1、预备知识:存储的目的就是提供空间;硬盘为存储的载体——把数据存放在硬盘上的;块存储、文件存储、对象存储为使用硬盘存储数据手段或方法;怎样将主机(服务器、主机、虚机)上的数据存到硬
2020-11-14 23:52:28 860
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人