- 博客(38)
- 资源 (3)
- 收藏
- 关注
原创 spring-13.web项目
1.实现步骤:1.创建maven,web项目2.加入依赖3.创建一个jsp发起请求,有参数id,name,email,age4.创建servlet,接收请求参数,调用service,调用dao完成注册5.创建一个jsp作为显示结果页面2.实现添加依赖 <!-- servlet依赖--> <dependency> <groupId>javax.servlet</groupId> <artifactId&g
2020-09-17 15:10:24
220
原创 spring-12.事务
1.处理事务,需要怎么做,做什么spring处理事务的模型,使用的步骤都是固定的,把事务使用的信息提供给spring就可以了1.事务内部提交,回滚事务,使用的事务管理器对象,代替你完成commit,rollback。事务管理器是一个接口和他的众多实现类。接口:PlatformTransactionManager,定义了事务重要方法commit,rollback实现类:spring把每一种数据库访问技术对应的事务处理类都创建好了mybatis访问数据库—spring创建的是DataSourceTr
2020-09-15 15:12:22
229
原创 spring-11.整合mybatis
1.步骤1.新建maven项目2.加入maven依赖1)spring依赖2)mybatis依赖3)mysql驱动4)spring的事务的依赖5)mybatis和spring集成的依赖:mybatis官方体用的,用来在spring项目中创建mybatis的SQLSessionFactory,dao对象3.创建实体类4.创建dao接口和mapper文件5.创建mybatis主配置文件6.创建Service接口和实现类,属性是dao7.创建spring的配置文件:声明mybatis的对象
2020-09-15 10:20:00
153
原创 spring-10.切入点表达式
1.execution切入点表达式execution(访问权限 方法返回值 方法申明(参数) 异常类型)参数各部分用空格分隔开来,其中访问权限和异常类型可以省略切入点表达式要匹配的对象为目标方法的方法名 * 表示0至多个任意字符 .. 用在方法参数中,表示任意多个参数,用在包名后,表示当前包及其子包路径 + 用在类名后,表示当前类及其子类,用在接口后表示当前接口及其实现类2.使用aspectj实现aop的基本步骤1.新建maven项目2.加入依赖1)spring依赖2)aspec
2020-09-11 16:01:59
368
原创 spring-09.AOP
1.AOP(Aspect Orient Programming)面向切面编程Aspect:切面,给你的目标类增加的功能就是切面,如日志、事务都是切面,切面的特点,一般都是非业务方法,独立使用的Orient:面向,对着Programming:编程2.怎么理解面向切面编程:需要在分析项目功能时,找出切面合理的安排切面的执行时间(在目标方法前,还是在目标方法后)合理的安全切面执行的位置,在哪个类,哪个方法增加增强功能3.术语Aspect:切面,表示增强的功能,就是一堆代码,完成某个功能,非业务
2020-09-10 11:54:55
134
原创 spring-08.动态代理实例
动态代理:可以在程序的执行过程中,创建代理对象通过代理对象执行方法,给目标类的方法增加额外的功能jdk动态代理实现步骤:1.创建目标类,SomeServiceImpl目标类,给它的doSome,doOther增加输出时间、事务2.创建InvocationHandler接口的实现类,在这个类实现给目标方法增加功能。3.使用jdk中类Proxy,创建代理对象,实现创建对象的能力创建接口,创建目标类实现接口public interface SomeService { public voi
2020-09-09 19:02:45
245
原创 spring-07.动态代理
1.使用代理模式的作用功能增强:在你原有的功能上,增加了额外的功能,新增的功能,叫做功能增强控制访问:代理类不让你访问目标,例如商家不让用户访问厂家2.静态代理模拟一个用户购买U盘的行为用户是客户端类商家:代理,代理某个品牌的u盘厂家:目标类三者的关系:用户(客户端)–商家(代理)–厂家(目标)实现步骤:创建一个接口,定义卖U盘的方法,表示你的厂家和商家做的事情创建厂家类,实现1步骤的接口创建商家,就是代理,也需要实现1步骤的接口创建客户端类,调用商家的方法买U盘具体实现
2020-09-09 17:04:49
629
原创 spring-06.注解
基于注解的di:通过注解完成java对象创建,属性赋值使用注解的步骤:1.加入maven的依赖,spring-context,在加入spring-context的同时,间接加入spring-aop的依赖使用注解必须使用spring-aop依赖2.在类中加入spring的注解(多个)3.在spring的配置文件中,加入一个组件扫描器的标签,说明注解在你项目中的位置要学习的注解@Component@Respotory@Service@Controller@Value@Autowored@
2020-09-08 18:01:30
236
原创 spring-05.配置文件
1.多个配置文件优势每个文件的大小比一个文件要小很多,效率高避免多人竞争带来的冲突如果项目中有多个模块(相关功能在一起),一个模块一个配置文件2.多文件的分配方式:按功能模块,一个模块一个配置文件按类的功能,数据库相关的配置一个配置文件,做事务的功能一个配置文件,做servlet功能的一个配置文件等3.实现步骤新建student的配置文件,spring-student.xml <bean id="myStudent" class="com.chongqing.ba06.S
2020-09-08 11:45:56
140
原创 spring-04.自动注入
1.byname(按名称注入):java类中引用类型的属性名和spring容器中(配置文件)的id名称一样,且数据类型是一致的,这样的容器中的bean,spring能够赋值给引用类型。 <bean id="myStudent" class="com.chongqing.ba04.Student" autowire="byName"> <property name="name" value="张三"/> <property name="age" va
2020-09-08 11:09:38
155
原创 spring-03.di注入实现
1.di:依赖注入,表示创建对象,给属性赋值2.di的实现有两种:在spring的配置文件中,使用标签和属性完成,叫做基于xml的di实现使用spring中的注解,完成属性赋值,叫做基于注解的di实现3.di的语法分类:set注入(设置注入):spring调用类的set方法,在set方法可以实现属性的赋值,80%左右使用的set注入构造注入,spring调用类的有参数构造方法,创建对象,在构造方法中完成赋值4.set基本类型赋值创建Student类public class S
2020-09-07 16:42:42
180
原创 spring-02.创建对象
实现步骤:创建maven项目加入maven的依赖;spring的依赖,Junit依赖spring依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.5.RELEASE</version> </dependen
2020-09-07 14:35:32
160
原创 spring-01.ioc的技术实现di
1.容器:是一个服务器软件,一个框架(spring)2.为什么要使用ioc:目的是减少对代码的改动,也能实现不同的功能,实现解耦合3.java创建对象有哪些方式:构造方法反射序列化克隆ioc,容器创建对象动态代理4.ioc的体现以servlet为例创建类继承HttpServlet在web.xml注册servlet<servlet-name>helloServlet</servlet-name><servlet-cl
2020-09-07 10:32:47
158
原创 servlet-02.B/S架构访问过程
1.程序执行,等待用户的访问2.tomact读取web.xml文件3.通过key读取value4.通过反射机制创建对象,对象的类型不确定,都转为servlet5.所有的实现类都继承servlet接口,调用其方法即可
2020-09-07 10:04:28
187
原创 servlet-01.系统架构分析
1.系统架构分类:C/SB/S2.什么是C/S:Client/Server3.什么是B/S:Brower/Server,B/S本质上还是C/S,只是比较特殊,客户端是浏览器4.B/S的优缺点:优点:1.不需要安装特定的客户端软件,只要有浏览器就行2.升级只需要升级服务器端,升级方便缺点:1.所有数据全部集中在服务器端,一旦发生不可抗力,数据丢失严重,相对来说不安全2.速度慢,用户体验度差什么样的系统使用B/S?更注重数据5.C/S的优缺点:优点:1.速度快,大部分数据都已
2020-09-04 16:32:32
133
原创 mybatis基础(1)-入门
配置文件建立一个lib文件夹,在里面放入log4j.jar、mybatis-3.4.1.jar、mysql-connector-java-8.0.11.jar建立一个conf文件夹 ,在里面放入log4j.xml建立一个简单的Demo建立一个java类package com.atguigu.mybatis.bean;public class Employee { priva...
2019-11-04 23:42:44
120
原创 es--01-简介
特点:弹性, 高可用可预见, 可用分布式, 不需要其他组建, 实时分发各个节点对等的网络结构, 某个节点故障其他节点自动替补完全支持lucene的实时搜索基本操作查询:GET更新:POST/PUT/UPDATE删除:DELETE添加:PUT/POST和传统型数据库的对比索引:Index相当于Database类型:Type相当于table主键:Id相...
2019-10-09 10:25:01
382
原创 java基础(12)-多线程
基本概念并发:指两个或者多个事件在同一时间段内发生并行:指两个或者多个事件在同一时刻发生进程:进入到内存的程序线程:开启一条应用程序到cpu的执行路径,叫做一个线程,一个进程可以有多个线程,线程是进程的一个执行单元调度方式:线程调度、分时调度、抢占式调度Thread实现方法:创建Thread类的子类实现步骤:创建一个Thread类的子类,也就是继承Thread方法在Th...
2019-10-08 23:03:27
111
原创 java基础(11)-异常
Throwablejava.lang.Throwable类是java语言中所有错误或异常的超类,Exception:编译期异常,进行编译(写代码)java程序出现的问题,Error:错误,必须修改源代码,程序才能继续运行。Exception举例使用getElement方法访问数组中的3索引,而数组是没有3索引的,这时候jvm就会检测出程序出现异常,jvm会做两件事情:JVM会根据异常产...
2019-10-08 18:30:14
163
原创 java基础(10)-泛型
泛型变量当不确定使用什么类型的数据时,可以使用泛型,泛型可以接受任意的数据类型public class Demo01<E> { private E name; public E getName() { return name; } public void setName(E name) { this.name = name; }}public class D...
2019-10-08 15:14:14
136
原创 Java基础(9)-集合
集合和数组的比较数组能存放基本数据类型和对象,而集合类存放的是对象的引用,而非对象本身,同一个数组的元素可以是基本类型的值,也可以是对象,而集合只能存放同一类型的对象数组容易固定无法动态改变,集合类容易动态改变数组无法判断其中实际存有多少个元素,length只告诉了数组的容量,而集合的size()可以确切知道元素的个数集合有多种实现方式和不同适用场合,不像数组仅采用顺序表方式集合以类的...
2019-10-05 23:08:26
119
原创 java基础(8)-Integer类
简介装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)拆箱:在包装类中取出基本类型的数据(包装类->基本类型的数据)自动装箱与自动拆箱:基本类型的数据和包装类之间可以相互转换Integer in5=1;//自动装箱in5=in5+2;//自动拆箱后自动装箱构造方法Integer(int value)构造一个新分配的Integer对象,它表示指定的int...
2019-10-03 22:46:41
377
原创 java基础(7)-String、StringBuffer、StringBuilder
String类String的值在创建之后不能更改,其底层是一个被final修饰的数组,为字符串常量,不能改变,private final byte[] value;每次对String的操作都会产生新得String对象,这样不仅效率低下,而且大量浪费有限的内存空间。StringBuilder类、StringBuffer类对字符串进行修改时,需要使用StringBuffer和String Bui...
2019-10-03 21:03:04
111
原创 java基础(6)-Date、Calendar
Date类 1. Date类的空参数构造方法,获取当前系统的日期和时间import java.util.Date;public class TestDate { public static void main(String[] args) { Date d1 = new Date(); System.out.println(d1);...
2019-10-03 18:26:04
175
原创 java基础(5)-equals和==的区别
==若==两边的变量是基本类型,则只要它们数值相等,则就判断这两个变量相等,返回truepublic static void test(){ int a=10; int b=10; System.out.println(a==b);}输出结果:true若==两边的变量是引用变量,则其比较的是这两个变量的内存地址,只有它们指向同一个对象时,才会返回truepublic...
2019-10-02 20:47:12
313
原创 java基础(4)-成员变量和局部变量
成员变量定义:成员变量存在于堆内存中,和类一起创建,成员变量有两种类型:实例变量或非静态变量(不以static修饰)、类变量或静态变量(以static修饰)。类作为成员变量时,只需创建好这个类的对象,赋值就可以了接口作为成员变量时,只需在主方法中创建好符合该接口的对象,可以通过实现类创建对象,可以通过匿名内部类的方式创建对象,也可以创建匿名对象。实例://Weapon类p...
2019-10-02 18:21:04
173
原创 java基础(3)-内部类
成员内部类定义格式:修饰符 class外部类名称{修饰符 class 内部类名称{}}调用方式:通过外部类的方法来创建内部类对象内部类对象进行调用自己的方法,然后通过创建外部类对象来实现对内部类的方法的调用。class Outer{ class Inner{ public void show_inner(){ System.out.println(a); ...
2019-09-30 15:12:08
265
原创 java基础(2)-杂谈
方法调用同一个类中:如果被调用的方法是静态的,其他的静态方法或者非静态方法都可以对其进行直接调用如果被调用的方法是非静态的,其他的非静态方法是可以直接调用它的,但是其他的静态方法只能通过对象来调用它,静态方法不能被非静态方法覆盖不同类之间:如果被调用的方法是静态的,其他的静态方法或者非静态方法都可以通过类名或者对象调用如果被调用的方法是非静态的,则只能通过对象才可以调用代码块...
2019-09-29 16:41:01
96
原创 java基础(1)-接口
各JDK版本中的接口可以包含的内容JDK7中接口可以包含的内容:常量、抽象方法JDK8中接口可以包含的内容:常量、抽象方法、默认方法、静态方法JDK8中接口可以包含的内容:常量、抽象方法、默认方法、静态方法、私有方法接口中的抽象方法定义接口当中的抽象方法,修饰符必须是两个固定的关键字:public abstract这两个关键字修饰符可以选择性地省略接口的使用步骤:接口不能...
2019-09-26 14:25:16
178
原创 mysql基础(9)-DCL
DCL:管理用户、授权管理用户1)添加用户* 语法:CREATE USER ‘用户名’@‘主机名’ IDENTIFIED BY ‘密码’;2)删除用户* 语法:DROP USER ‘用户名’@‘主机名’;3)修改用户密码* 语法:UPDATE USER SET PASSWORD = PASSWORD(‘新密码’) WHERE USER = ‘用户名’;* mysql中忘记了roo...
2019-09-25 19:37:52
160
1
原创 mysql基础(8)-多表查询
内连接查询1)隐式内连接:使用where条件消除无用数据实例:SELECT * FROM emp,dept WHERE emp.dept_id= dept.id;2) 显示内连接* 语法:select 字段列表 from 表名1 [inner] join 表名2 on 条件* 实例:SELECT * FROM emp INNER JOIN dept ON emp.dept_id = d...
2019-09-25 18:58:53
170
原创 mysql基础(7)-范式
概念 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。分类 1.第一范式(1NF):每一列都是不可分割的原子数据项 ...
2019-09-25 17:09:21
167
原创 mysql基础(6)-约束
约束概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性分类:1)主键约束:primary key2)非空约束:not null3)唯一约束:unique4)外键约束:foreign key非空约束...
2019-09-25 16:42:32
103
原创 mysql基础(5)-DQL
DQL查询语句排序查询1)语法:order byorder by 排序字段1 排序方式1 , 排序字段2 排序方式2…2)排序方式* ASC:升序,默认的* DESC:降序聚合函数1)count:计算个数2)max:计算最大值3)min:计算最小值4)sum:计算和5)avg:计算平均值分组查询1)语法:group by 分组字段2)注意:* 分组之后查询的字段...
2019-09-24 20:59:54
224
原创 mysql基础(4)-DQL
DQL查询表中的记录语法 select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页限定基础查询1)多个字段的查询select 字段名1,字段名2… from 表名;2)去除重复distinctselec...
2019-09-24 19:56:15
134
原创 mysql基础(3)-DML
DML添加数据1)语法:insert into 表名(列名1,列名2,…列名n) values(值1,值2,…值n);2)注意事项:*列名和值要一一对应。*
2019-09-24 18:53:30
102
原创 mysql基础(2)-DDL
操作数据库创键1)创建数据库:create database 数据库名称;2)如果数据库不存在,再创建数据库:create database if not exists 数据库名称;3) 判断数据库是否存在,并指定字符集,常用为utf-8create database if not exists 数据库名称 character set 字符集名;查询1)查询所有的数据库名称s...
2019-09-24 18:20:28
176
原创 mysql基础(1)
SQL什么是SQL?Structured Query Language:结构化查询语言MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写3 种注释:单行注释:–注释内容#注释内容多行注释:/* 注释 */SQL分类:1)DDL,数据定义语言,用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等2)DML,数据操作语言,用来对数据...
2019-09-24 16:37:41
81
酒店评价语料库
2016-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅