- 博客(189)
- 资源 (1)
- 收藏
- 关注
原创 横竖相加
select 学校 , id,age, sum(id+age) over(partition by time ) as 总成绩 from user123union allselect ‘总计’ as 学校,sum(id),sum(age),sum(总成绩) from(select id , age, sum(id+age) over(partition by time ) as 总成绩 from user123)select id , age, sum(id+age) over(parti.
2021-03-04 23:37:46 277 1
原创 oracle
第二行的id,age数据相同,会把数据相同的行数据变一行,第三列求和select id,age,sum(age) from user123 group by id,age结果:
2021-03-04 22:14:48 165 1
原创 mapper.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.itcast.mapper.UserMapper" > <resultMap id="BaseResultMap" t
2020-11-13 21:20:18 181
原创 关于静态资源引入报错
无论引入js、还是前端框架资源路径,都是以当前目录(当前路径)开始 <!-- 引入本地js文件 --> <script src="js/jquery-3.4.1.min.js" type="text/javascript"></script> <!-- 引入前端框架js和css --> <link rel="stylesheet" href="layui/css/layui.css" media="all"> &.
2020-11-13 17:12:33 604
原创 请求转发和重定向
请求转发;浏览器地址栏不变,数据不丢失request.getRequestDispatcher(“success.html”).forward(request,response);重定向:浏览器地址栏改变,数据丢失response.sendRedirect(“success.html”);
2020-11-08 19:09:55 91
原创 存用户3种方式
方法1 HttpSession session = req.getSession(); session.setAttribute("user", u); 方法2 req.getSession().setAttribute("user",u); 方法3 model.addAttribute("user",u);
2020-11-08 18:51:25 130
原创 热部署快速启动
pom依赖 <!-- 热部署 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <version>2.1.4.RELEASE</version> <!-- 启用 .
2020-10-30 16:11:44 193
原创 快速搭建springboot项目
创建project结构图application.yml#配置数据源spring: datasource: url: jdbc:mysql://localhost:3306/ssm?serverTimeZone=Shanghai?useUnicode=true&characterEncoding=utf-8 driver-class-name: com.mysql.jdbc.Driver username: root password: 123456
2020-10-30 15:58:27 94
原创 二分法查询元素下标
public class ArrayUtil {public static void main(String[] args) {//这是int类型数组的对象int[] arr = {9, 8, 10, 7, 6, 87, 11};//找出arr这个数组中87所在下标//调用方法int index = binarySearch(arr, 87);System.out.println(index == -1 ? “该元素不存在” : “该元素的下标” + index);}/** * 从数.
2020-10-26 18:57:11 219
原创 数组元素的查找
import java.util.Arrays;/** *数组元素的查找 * s数组元素查找有2种方式 * 1、一个一个挨着找,直至找到为止 * 2、二分法查找(算法),这个效率高 */public class test { public static void main(String[] args) { //这是int类型数组的对象 int[] arr = {9, 8, 10, 7, 6, 87, 11}; //需求:找出87的下标,
2020-10-26 18:46:04 918
原创 选择排序
选择排序:每一次从这堆“参与比较的数据中”找出最小值拿着这个最小值和“参与比较的这堆最前面的元素”交换位置选择排序比冒泡排序好在:每一次的交换位置都是有意义的选择排序要比冒泡排序的效率高import java.util.Arrays;/** * 冒泡排序算法 * 原始数据:3,2,7,6,8 * 第一次循环:2,3,7,6,8(2和3比较,大的放右边) * 第二:2,3,6,7,8(3和6比较,大的放右边) * 第三次:2,3,6,7,8(6和7比较,大的放右边) * 第四次:2
2020-10-26 18:22:16 87
原创 冒泡排序
import java.util.Arrays;/** *冒泡排序算法 * 原始数据:3,2,7,6,8 * 第一次循环:2,3,7,6,8(2和3比较,大的放右边) * 第二:2,3,6,7,8(3和6比较,大的放右边) * 第三次:2,3,6,7,8(6和7比较,大的放右边) * 第四次:2,3,6,7,8(7和8比较,大的放右边) * * */public class test { public static void main(String[] args) { .
2020-10-26 17:59:00 106
原创 Arrays类
java.utils.Arrays是一个工具类其中有一个sort()方法。可以排序。静态方法,直接使用类名调用import java.util.Arrays;public class test { public static void main(String[] args) { int [] a={1,23,54,76,21,13}; //Arrays类中方法大部分是静态的 Arrays.sort(a); //遍历
2020-10-26 17:58:13 71
原创 application.yml
#数据库spring: datasource: url: jdbc:mysql///ssm?serverTimeZone=Shanghai?useUnicode=true&characterEncoding=utf-8 driverClassName: com.mysql.jdbc.Driver username: root password: 123456 thymeleaf: prefix: classpath: /templates
2020-10-26 16:48:04 126
原创 application.properties
#portserver.port=8080#datasourcesspring.datasource.url=jdbc:mysql://localhost:3306/ssm?serverTimeZone=Shanghai?useUnicode=true&characterEncoding=utf-8spring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-
2020-10-26 16:12:18 73
原创 springmvc代码
返回页面 @RequestMapping("/test") public String test() { //跳转页面 return "test"; }显示页面内容(json字符串数据) @RequestMapping("/test") @ResponseBody public String run() { return "HelloWOrld"; } @RequestMapping("/find")
2020-10-26 15:01:44 101
原创 Thymeleaf教程
1.Thymeleaf是一个Java模板引擎,支持html、xml、text、javascript、css、raw这几种模型。使用Thymeleaf首先需要引入命名空间<html xmlns:th="http://www.thymeleaf.org">基本使用方法引用web静态资源Thymeleaf通过”@{}”来引用web静态资源,例如:<script th:src="@{bootstrap/js/boostrap.min.js}"></script>
2020-10-26 14:42:53 197
原创 获取Class3种方法
获取Class3种方法 1、Class c=Class.forName(“完整类名带包名”);2、Class c=对象.getClass();3、Class c=任何类型.class;import java.util.Date;/** * 要操作一个类的字节码,首先获取这个类的字节码,怎么获取java.lang.Class实例? * 3种方式 */import java.util.Date;/** * 要操作一个类的字节码,首先获取这个类的字节码,怎么获取java.lang.Cl
2020-10-26 00:19:20 445
原创 添加webapp怎么配置
第一步手动添加在main下创建webapp,webapp下创建WEB-INF,WEB-INF下创建web.xml第二步有web可以不需要点击添加web
2020-10-25 22:11:33 982
原创 对jsp、html的支持
springboot对引擎模板html的支持:ymlspring: thymeleaf: prefix: classpath: /templates # 访问template下的html文件需要配置模板,映射 cache: false # 开发时关闭缓存,不然没法看到实时页面pom依赖 <!-- 引入thymeleaf的依赖包 --> <dependency> <groupId&
2020-10-25 21:32:13 95
原创 反射机制
反射机制作用:1、通过java语言中的反射机制可以操作字节码文件。优点:类似于黑客(可以读和修改字节码文件)通过反射机制可以操作代码片段(class文件)2、反射机制的相关类的在哪个包下?java.lang.reflect.*3、反射机制相关的类有哪些?java.lang.Class:代表字节码文件------>代表整个类java.lang.reflect.Method:代表字节码中的方法字节码------->代表类中的方法java.lang.reflect.Construc
2020-10-24 22:27:59 69
原创 wait和notify概念
wait和notify是Object自带的,不是线程中的方法wait()作用Object o=new Object();o.wait();让该对象上的线程进入等待的状态notify()作用Object o=new Object();o.notify();唤醒该对象上的等待的所有线程
2020-10-24 17:30:09 137
原创 定时器作用
定时器Timer作用间隔特定时候,执行特定的程序。每周要进行银行的账户的总帐操作。每天要进行数据的备份操作。在实际的开发中,每隔多久就执行一段特定的程序。这种需求很常见,那么在java中其实可以采用多种的方式实现:1.可以采用睡眠,sleep(),比较low2.在java类库中已经写好了定时器,java.util.Timer.可以拿来用,用的少,很多高级框架都是支持定时任务的。如:spring框架中提供了SpringTask框架/** * 使用定时器Timer指定定时任务 */publ
2020-10-24 17:00:56 1177
原创 守护线程
java语言中,线程分为:用户线程和守护线程(后台线程)具有代表性是:垃圾回收线程(守护线程)守护线程特点:一般守护线程是一个死循环,所有的用户线程只要结束,守护线程自动结束注意:主线程main方法是一个用户线程守护线程用在什么地方?每天0点系统数据自动备份。这个时候需要定时器,并且我们可以将定时器设置为守护线程。/** * 守护线程 */public class test { public static void main(String[] args) { T
2020-10-24 16:40:38 73
原创 开发中怎么解决线程安全问题
是一上来就选择线程同步机制吗?syncharonized不是,syncharonied会让程序执行效率低,用户体验不好。系统的用户吞吐量降低。用户的体验差,在不得已情况,再选择线程同步机制。第一种方案:尽量使用局部变量,代替实例变量和静态变量。第二种方案:如果必须是实例变量,那么可以考虑创建多个对象,这样实例变量的内存就不共享了(一个线程对应一个对象,100个对象对应100个对象,对象不共享,就没有数据安全问题了)第三种方案:如果不使用局部变量。对象也不能创建多个。这个时候,就只能选择synchar
2020-10-24 16:17:57 198
原创 死锁
/** * 死锁代码一定会写 */public class test { public static void main(String[] args) { Object o1 = new Object(); Object o2 = new Object(); //t1和t22个线程共享o1,o2 Thread t1 = new MyThread1(o1, o2); Thread t2 = new MyThread2
2020-10-24 16:08:41 70
原创 maven项目移植问题
1、Tomcat启动不了发现的原因的是resouces文件夹图标掉了2、maven的jar爆红了maven的路径idea路径不一样
2020-10-23 22:53:38 121
原创 curd
删除接口 int deleteById(int id);xml <!--按条件删除--> <delete id="deleteById" parameterType="Integer" > delete from user where id =#{id} </delete> @RequestMapping("/del") @ResponseBody public int del(Integer id){
2020-10-23 20:04:07 55
原创 ssh详解
SSH框架:1、是Struts2,Spring和Hibernate框架的整合2、Struts2 做控制器(controller),spring 管理各层的组件,hibernate 负责持久化层。hibernate:是一个全自动orm框架,对jdbc访问数据库代码进行封装。
2020-10-23 17:04:36 101
原创 ssm详解
ssm:实体类bean:java对象表现层:controller对应的是springmvc:实现页面跳转业务层:service:写业务逻辑持久层:dao对应的是mybatis:对数据库的操作curd
2020-10-23 16:49:44 204
原创 xml配置文件
xml配置文件resultType:返回类型:基本数据类型或者实体类parameterType:参数类型resultMap:返回是对象parameterMap:入参类型是map。多个参数#{}:预编译处理,防止sql注入
2020-10-23 15:47:09 108
原创 synchronized面试题
1、doSome方法执行需要等待dother方法执行吗不需要package com;class test { public static void main(String[] args) thorows InterruptedExcption { //创建对象 MyClass mc = new MyClass(); //创建线程对象 MyThread m = new MyThread(mc); MyThread
2020-10-23 13:08:38 345
原创 synchronized3种写法
方法1 //取款的方法 public synchronized void withdraw(double money) { //这几行代码线程排队,不能并发 //取款之前的余额 /** *缺点:效率低,只能是this,不能是其他对象。不灵活 优点:代码少,节俭 */ //这里共享对象是Account------>this double before = this.getBal
2020-10-23 12:27:47 398
原创 哪些变量存在安全问题
哪些变量存在安全问题java3大变量:1、实例变量:堆内存 2、静态变量:在方法区3、局部变量:在栈内存以上3大变量中:局部变量永远都不会存在线程安全问题因为局部变量不共享。(一个线程一个栈)局部变量在栈中。所以局部变量永远都不会共享实例变量在堆中,堆只有一个静态变量在方法区,方法区只有一个堆和方法区都是线程共享的,所以可能存在线程的安全问题。...
2020-10-23 11:58:19 230
原创 常用注解@含义
@ResponseBody:java对象转为json格式的数据。@RequestBody:注解实现接收http请求的json数据,将json数据转换为java对象@RestController:@Controller和@ResponseBody的组合,Restful风格@Param:1、xml里面sql使用了if标签test要加@Param2、在方法里给参数起别名@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作
2020-10-22 22:16:35 358
原创 模拟取款
编写程序模拟2个线程同时对同一个账户进行取款操作package com;/** * 银行账户 * 不使用线程同步机制,多线程对同一个账户进行取款,出现线程安全的问题。 */class Account { //账户 private String actno; //余额 private double balance; public String getActno() { return actno; } public voi
2020-10-22 14:50:40 265
原创 线程安全是重点
线程安全是重点为什么是重点?以后开发中,我们项目是运行在服务器中,而服务器已经将线程的定义,线程的创建,线程启动等,dd偶已经实现了,我们不需要编写。我们关注的是在多线程并发的环境下,是否安全的(重点)多线程并发对同一个账户进行取款...
2020-10-22 11:11:47 166
javascript.html实现表单验证
2020-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人