- 博客(47)
- 收藏
- 关注
原创 SpringBoot之yaml基本语法
赋值# k=v# 普通k-vname: zhaoyuhang# 对象:student: name: zhaoyuhang age: 3#行内写法student1: {name: zyh,age: 3}#数组pets: - cat - dog - pigpets1: [cat,dog,pig]yaml可以直接给实体类赋值通过@Value赋值package com.zhao.springboot02config.pojo;import org.
2020-09-16 13:19:32 313
原创 Vue学习(9)自定义事件
前端绑定vue前端绑定组件通过组件调用vue中的事件<!DOCTYPE html><html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml"><head> <meta charset="UTF-8"> <title>Title</title></head&g.
2020-09-12 22:32:07 112
原创 Vue学习(8)插槽slot
demo代码,不是很理解,先放着<!DOCTYPE html><html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml"><head> <meta charset="UTF-8"> <title>Title</title></head><body>
2020-09-12 21:59:00 24310
原创 Vue学习(7)计算属性
计算属性是一个能够将计算结果缓存起来的属性(将行为转化为了静态的属性,类似于缓存)currentTime1为方法currentTime2为计算属性<!DOCTYPE html><html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml"><head> <meta charset="UTF-8">
2020-09-12 21:22:50 154
原创 Vue学习(6)Axios异步通信
data.json中放json数据通过钩子函数去读取数据data.json{ "name":"狂神说java", "url": "http://baidu.com", "page": "1", "isNonProfit":"true", "address": { "street": "含光门", "city":"陕西西安", "country": "中国" }, "links": [ { "name": "B站", .
2020-09-12 21:07:38 133
原创 Vue学习(5)Vue组件
1.v-for遍历数据2.v-bind绑定数据3.props接收参数4.输出<!DOCTYPE html><html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml"><head> <meta charset="UTF-8"> <title>Title</title>
2020-09-12 19:43:52 82
原创 Vue学习(4)数据双向绑定
通过v-model实现数据双向绑定<!DOCTYPE html><html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml"><head> <meta charset="UTF-8"> <title>Title</title></head><body&g
2020-09-12 18:42:47 100
原创 Vue 学习(3)Vue绑定事件
方法必须定义在methods对象中,通过v-on绑定<!DOCTYPE html><html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml"><head> <meta charset="UTF-8"> <title>Title</title></head>&
2020-09-12 18:24:34 689
原创 Vue学习(2)Vue基本语法
绑定元素<!--view层,模板--><div id="app"> <span v-bind:title="message"> 显示信息 </span></div><script> var vm = new Vue({ el: "#app", //Model:数据 data:{ message:"hello,vu
2020-09-09 15:24:54 112
原创 Vue学习(1)第一个Vue程序
1.idea中安装Vue插件2.导入cdn<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>demo1.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title>&
2020-09-09 14:41:09 82
原创 Spring学习(10)整合Mybatis
整合Mybatis步骤:导入相关jar包1.junit2.mybatis3.mysql数据库4.aop5.mybatis-spring <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <versio
2020-09-03 23:09:34 83
原创 Spring学习(9)AOP实现
使用AOP需要导入一个包 <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.6</version> </dependency>applicationContext.x
2020-09-03 17:50:42 121
原创 Spring学习(8)静态代理和动态代理模式
为什么要学习代理模式,因为这就是SpringAOP的底层!【SpringAOP和SpringMVC】代理模式的分类:静态代理动态代理静态代理角色分析抽象角色:一般会使用接口或者抽象类来解决真实角色:被代理的角色代理角色:代理真实角色,一般会做一些附属操作客户:访问代理对象的人代码步骤1.接口public interface Rent { public void rent();}2.真实角色//房东public class Host implements
2020-09-03 15:59:59 110
原创 Spring学习(7)使用JavaConfig实现配置
使用Java的方式配置Spring现在完全不使用Spring的xml配置,全权交给Java来做!JavaConfig是Spring的一个子项目,在Spring4之后,它成为了一个核心功能!建一个配置类MyConfig.javapackage com.zhao.config;import com.zhao.pojo.User;import org.springframework.context.annotation.Bean;import org.springframework.context
2020-09-02 22:42:46 179
原创 Spring学习(6)Spring注解开发
使用注解开发在Spring4之后,要是用注解开发,必须保证aop的包导入了使用注解需要导入context约束,增加注解的支持<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="
2020-09-02 22:08:02 101
原创 Spring学习(5)Bean的自动装配
Bean的自动装配自动装配是Spring满足bean依赖的一种方式Spring会在上下文中自动寻找,并自动给bean装配属性在Spring中有三种装配的方式1.在xml文件中显示的配置2.在java中显示的配置3.隐式的自动装配bean(重要)测试环境搭建一个人有两个宠物实体类Cat.javapackage com.zhao.pojo;public class Cat { public void shout(){ System.out.println(
2020-09-02 19:31:22 145
原创 Spring学习(4)DI依赖注入
Set方式注入依赖:bean对象的创建依赖于容器注入:bean对象中的所有属性,由容器注入复杂类型public class Address { private String address; public String getAddress() { return address; } public void setAddress(String address) { this.address = address; }}
2020-09-02 15:15:17 198
原创 Spring学习(3)Spring简单配置
1.别名<alias name="User" alias="xxx"></alias>2.Bean的配置 <!-- id:bean的唯一标识符,也就相当于对象名 class:bean对象对应的全限定名:包名+类型 name:也是别名,而且name可以同是取多个别名 --> <bean id="User" class="com.zhao.pojo.User" name="user2 u2,u
2020-09-02 00:19:04 103
原创 Spring学习(2)IoC(控制反转)的使用
Hello.javapackage com.zhao.pojo;public class Hello { private String str; public String getStr() { return str; } public void setStr(String str) { this.str = str; } @Override public String toString() {
2020-09-01 23:23:41 121
原创 Spring学习(1)IOC理论推导
IOC理论推导1.UserDao接口2.UserDaoImpl实现类3.UserService业务接口4.UserService业务实现类在之前的业务中,用户的需求可能会影响我们原来的代码,我们需要根据用户的需求去修改源代码!如果程序代码量十分大,修改一次的成本代价十分高昂!我们用一个set接口实现 private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao =
2020-09-01 21:42:41 208
原创 Mybatis学习(12)Mybatis缓存
一级缓存一级缓存是默认开启的,只在一次SqlSession中有效,也就是拿到连接到关闭连接这个区间段一级缓存相当于一个Map缓存失效的情况:1.查询不同的东西2.增删改操作可能会改变原来的数据,所以必然会刷新缓存!【全部缓存!】3.查询不同的Mapper.xml4.手动清理缓存!二级缓存二级缓存也叫全局缓存,一级缓存的作用域太低了,所以诞生了二级缓存基于namespace级别的缓存,一个名称空间,对应一个二级缓存工作机制:1.一个会话查询一条数据,这个数据会被放在当前会话的一级缓存中
2020-09-01 04:09:11 153
原创 Mybatis学习(11)动态SQL
动态SQL什么是动态SQL:动态SQL就是根据不同的条件生成不同的SQL语句搭建环境CREATE TABLE `blog`(`id` VARCHAR(50) NOT NULL COMMENT '博客id',`title` VARCHAR(100) NOT NULL COMMENT '博客标题',`author` VARCHAR(30) NOT NULL COMMENT '博客作者',`create_time` DATETIME NOT NULL COMMENT '创建时间',`views`
2020-09-01 02:32:17 188
原创 Mybatis学习(10)数据库复杂查询
测试环境搭建1.导入lombok2.新建实体类Teacher,Sudent3.建立Mapper接口4.建立Mapper.xml文件5.在核心配置文件中绑定注册我们的Mapper几口或文件【方式很多,随便选】复杂的属性,我们需要单独处理对象:association集合:collectionSQL建表语句CREATE TABLE `teacher` (`id` INT(10) NOT NULL,`name` VARCHAR(30) DEFAULT NULL,PRIMARY KEY (`
2020-08-31 20:29:16 134
原创 Mybatis学习(9)Lombok的使用
Lombok是什么Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。常用注解:@Setter :注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。@Getter :使用方法同上,区别在于生成的是getter方法。@ToString :注解在类,添加toString方法。@E
2020-08-31 16:39:30 107
原创 Mybatis学习(8)使用注解开发
使用注解开发1.注解在接口上实现 @Select("select * from user") List<User> getUsers();2.需要在核心配置文件中绑定接口! <mappers> <mapper class="com.zhao.dao.UserMapper"></mapper> </mappers>3.测试@Test public void test(){
2020-08-31 15:55:02 119
原创 Mybatis学习(7)分页查询
使用Limit分页语法:select * from user limit startIndex, pageSize使用Mybatis实现分页1.接口 //分页 List<User> getUserByLimit(Map<String,Integer> map);2.Mapper.xml <select id="getUserByLimit" parameterType="map" resultType="user"> s
2020-08-31 11:50:00 87
原创 Mybatis学习(6)日志
日志工厂如果一个数据库操作,出现了异常,我们需要排错。日和字就是最好的助手!曾经:sout,debug现在:日志工厂!Mybatis 通过使用内置的日志工厂提供日志功能。内置日志工厂将会把日志工作委托给下面的实现之一:SLF4JApache Commons LoggingLog4j 2Log4jJDK loggingMyBatis 内置日志工厂会基于运行时检测信息选择日志委托实现。它会(按上面罗列的顺序)使用第一个查找到的实现。当没有找到这些实现时,将会禁用日志功能。<confi
2020-08-30 22:05:20 64
原创 Mybatis学习(5)ResultMap结果集映射
解决属性名和字段名不一样的问题1.起别名select id,name,pwd as password from mybatis.user2.resultMap<resultMap id="UserMap" type="User"> <!--column数据库中的字段, property实体类中的属性--> <!--<result column="id" property="id"></result>--> <!
2020-08-30 20:42:25 78
原创 Mybatis学习(4)配置优化
1.配置官网截图1.configuration(配置)2.properties(属性)3.settings(设置)4.typeAliases(类型别名)5.typeHandlers(类型处理器)6.objectFactory(对象工厂)7.plugins(插件)8.environments(环境配置)9.environment(环境变量)10.transactionManager(事务管理器)11.dataSource(数据源)12.databaseIdProvider(数据库厂
2020-08-30 20:14:02 74
原创 Mybatis学习(3)Map和模糊查询
万能的Map:若我们的实体类,或数据库中的表,字段或参数过多,我们应当考虑使用Map传参!int addUser2(Map<String, Object> map);<insert id="addUser2" parameterType="map"> insert into mybatis.user (id, name, pwd) values (#{userid},#{username},#{userpwd});</insert>@Testpubli
2020-08-30 13:36:49 94
原创 Mybatis学习(2)增删查改
增删查改由于昨天已经实现了第一个mybatis查询功能,那剩下的增删查改就是照葫芦花飘了一共就3步1.编写接口2.编写对应的mapper中的sql语句3.测试代码如下:接口:package com.zhao.dao;import com.zhao.pojo.User;import java.util.List;public interface UserMapper { //查询全部用户 List<User> getUserList(); //
2020-08-30 12:49:15 71
原创 Mybatis学习(1)第一个mybatis程序
我的第一个mybatis程序1.首先在ideal上建一个普通的maven项目再建一个maven模块目录结构如下pom文件中导入3个jar包<!--导入依赖--> <dependencies> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>my
2020-08-29 17:43:37 132
原创 第一届全国高校绿色计算大赛 预赛第一阶段(C++)第三关:最长凹谷
挑战任务有一维数组X = [8,5,1,6,7,7,3,5],我们把它画到坐标系中,其中凹下去的部分我们称为X数组的凹谷数组Y,其中凹陷的长度即为凹谷数组的长度(Y的长度大于3),其中持平的部分不计入凹谷数组的长度。如下所示,X有两个凹谷数组Y1 = [8,5,1,6,7]和Y2 = [7,3,5],长度分别为5和3。我们则需要返回这个数组中的最长凹谷数组的长度,即5,如果数组中不含凹谷,则返回0。本关任务就是判断系统输入的随机一维数组,返回其最长凹谷数组的长度。编程要求请在右侧编辑器中填充代码,
2020-07-23 16:35:05 215
原创 第一届全国高校绿色计算大赛 预赛第一阶段(C++)第二关:病毒区域的个数
挑战任务某地区爆发病毒,给定一个矩阵,x代表隔离墙,o代表病毒,病毒区域是由它水平方向或垂直方向上相邻的病毒连接而成,斜角连接不会构成病毒区域。你要计算出矩阵中有几个病毒区域(假设矩阵周边是被隔离墙包围的)。编程要求请在右侧编辑器中填充代码,补全virusArea(int n,int m,vector<vector >& area)函数,对输入的矩阵进行计算,返回“病毒区域”的个数,函数参数说明如下:n:矩阵的行m:矩阵的列area:待计算的矩阵测试说明样例1:输入:
2020-07-23 12:50:02 281
原创 第一届全国高校绿色计算大赛 预赛第一阶段(C++)第一关:数组排序
挑战任务本关挑战任务是对一个数组进行排序,排序需要遵守一些规则:先对数组从左到右,相邻元素进行比较,如果第一个比第二个大,就交换它们,进行一个升序排序;再对数组从右到左,相邻元素进行比较,如果第一个比第二个小,就交换它们,进行一个降序排序;以此类推,持续的、依次的改变排序的方向,并不断缩小没有排序的数组范围;按照这种规则依次给整个数组排序,并将排序过程打印到控制台。比如给出一组数据4,1,3,5,2,排序过程如下:最后得到结果:1 2 3 4 5。编程要求请在右侧编辑器中填充代码,补全s
2020-07-23 12:43:06 417
原创 树形DP
经典例题:二叉苹果树 洛谷P2015 https://www.luogu.com.cn/problem/P2015题目描述:有一棵苹果树,如果树枝有分叉,一定是分2叉。这棵树共有n个结点,编号为1~n,树根编号是1。用一根树枝两端连接的结点的编号来描述一根树枝的位置,下面是一棵有4个树枝的树:2 5\ /3 4\ /1这棵树的枝条太多了,需要剪枝。但是一些树枝上长有苹果,最好别剪。给定需要保留的树枝数量,求出最多能留住多少苹果。输入格式:第1行2个数,n和q(1 ≤ Q ≤N, 1
2020-07-16 20:53:52 156
原创 状态压缩DP
经典例题:最短Hamilton路径 https://www.acwing.com/problem/content/description/93/时间限制:3s。题目描述:给定一个有权无向图,包括n个点,标记为0 ~ n-1,以及连接n个点的边,求从起点0到终点n-1的最短路径。要求必须经过所有点,而且只经过一次。1 ≤ n ≤ 20。输入格式:第一行输入整数n。接下来n行每行n个整数,其中第i行第j个整数表示点i到j的距离(记为a[i, j])。0 ≤ a[i, j] ≤ 10^7对于任意的x
2020-07-16 12:54:07 99
原创 区间DP
模板代码:for(int i=1; i<=n; i++) dp[i][i] = 0;for(int len=2; len<=n; len++) //len:区间[i,j]的长度,从小区间扩展到大区间 for(int i=1; i<=n-len+1; i++){ // 区间起点i int j = i + len - 1; // 区间终点j,i<j<=n dp[i][j] = INF; for(int
2020-07-16 10:45:39 83
原创 DP的二进制拆分优化
经典例题:多重背包洛谷 P1776 宝物筛选 https://www.luogu.com.cn/problem/P1776输入:第一行是整数 n 和 W,分别表示物品种数和背包的最大容量。接下来 n 行,每行三个整数 vi、wi、mi,分别表示第i个物品的价值、体积、数量。输出:输出一个整数,表示背包不超载的情况下装入物品的最大价值。题解:例如第i种物品有mi=25个,这25个物品放进背包的组合,有0~25的26种情况。不过要组合成26种情况,其实并不需要25个物品。根据二进制的计算原
2020-07-16 02:16:02 393
原创 DP初步
经典0/1背包例题hdu 2602 Bone Collector http://acm.hdu.edu.cn/showproblem.php?pid=2602问题描述:“骨头收集者”带着体积C的背包去捡骨头,已知每个骨头的体积和价值,求能装进背包的最大价值。N <= 1000,C<= 1000。输入:第1行是测试数量;后面每3行是1个测试,其中第1行是骨头数量N和背包体积C,第2行是每个骨头的价值,第3行是每个骨头的体积。输出:最大价值。样例输入:15 101 2 3 4 5
2020-07-16 01:26:49 244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人