首页
统计
邻居
留言
关于
Search
1
挑战答题 题库
8,294 阅读
2
彩虹商城系统开发API文档
2,605 阅读
3
IntelliJ IDEA 报错TextMate bundle load error: Bundle kotlin can't be registered
2,359 阅读
4
关于vue告警:More than 1 blank line not allowed
1,119 阅读
5
谷歌浏览器 Google Chrome 69.0.3497.100 正式稳定版、测试版及开发版本大全
1,041 阅读
精选推荐
源码分享
软件下载
影视资源
经验教程
模板插件
Emlogo
Wordpress
浮夸小生。
情感杂文
趣味生活
影视后期
Java学习笔记
登录
Search
标签搜索
个人分享
浮夸小生。
Wordpress
Wordpress教程
Java
PHP
Wordpress优化
网络技巧
Java笔记
网站
教程
CDN
Windows
又拍云
浏览器
IntelliJ IDEA
html
VPS
建站教程
情感杂文
浮夸小生。
累计撰写
80
篇文章
累计收到
196
条评论
首页
栏目
精选推荐
源码分享
软件下载
影视资源
经验教程
模板插件
Emlogo
Wordpress
浮夸小生。
情感杂文
趣味生活
影视后期
Java学习笔记
页面
统计
邻居
留言
关于
搜索到
15
篇与
Java学习笔记
的结果
2022-12-20
java知识点收录
{card-describe title="学习网址"}https://leetcode-cn.com/problemset/all/http://www.cyc2018.xyzhttps://www.nowcoder.com/ta/coding-interviewsJava 全栈知识体系https://www.pdai.tech/{/card-describe}永无止境深拷贝https://zhuanlan.zhihu.com/p/260117694https://github.com/lvminghui/Java-NotesHashmap https://zhuanlan.zhihu.com/p/21673805SpringBoot自动装配原理https://blog.csdn.net/qq_36986015/article/details/107488437b树和b+树的区别https://blog.csdn.net/login_sonata/article/details/75268075二叉树的四种遍历方式https://www.cnblogs.com/du001011/p/11229170.htmlMysql ACID https://www.jianshu.com/p/fc8a654f2205Mysql MVVC https://www.cnblogs.com/hirampeng/p/9944200.htmlMysql 覆盖索引 https://zhuanlan.zhihu.com/p/107125866JVM和JMM https://zhuanlan.zhihu.com/p/136623445,https://www.bilibili.com/video/BV12t411u726JDK1.7和JDK1.8的内存模型比较https://blog.csdn.net/Hollake/article/details/92762180Java中的常量池https://blog.csdn.net/zm13007310400/article/details/77534349接口和抽象类https://cloud.tencent.com/developer/article/1677833Spring实例化Bean三种方法https://www.cnblogs.com/liushiqiang123/p/11502986.htmlBean注入https://www.cnblogs.com/tuyang1129/p/12873492.html设计模式7大原则https://zhuanlan.zhihu.com/p/24614363OAuth2.0认证流程https://www.cnblogs.com/wudimanong/p/10821215.html线程池https://blog.csdn.net/ming1215919/article/details/114799184Listhttps://www.cnblogs.com/xiaobug/p/11606362.html解决--spring.profiles.active=prod设置的变量属性不起作用https://blog.csdn.net/shaojianjun521/article/details/102803303httputil https://www.cnblogs.com/i-tao/p/13638904.htmlConcurrentHashMaphttps://my.oschina.net/liboware/blog/5117011https://blog.csdn.net/qq_18300037/article/details/123795776nohup java -jar rjdataservice-1.0.0-SNAPSHOT.jar >logs.txt & --spring.profiles.active=test
2022年12月20日
16 阅读
0 评论
0 点赞
2022-05-02
java 随机生成验证码 思路
通过ASCII表生成大小写验证码 public static void main(String[] args) { System.out.println( createCode(6)); } public static String createCode(int n){ //int n 表示随机生成几位 Random r = new Random(); String code = ""; for (int i = 0; i < n; i++) { int type = r.nextInt(3); switch (type){ case 0: //大写字母 ASCII码 char ch = (char)(r.nextInt(25)+65); code += ch; break; case 1: //小写字母 ASCII码 char ch1 = (char)(r.nextInt(25)+97); code += ch1; break; case 2: //数字 code += r.nextInt(10); break; } } return code ; } }
2022年05月02日
179 阅读
3 评论
0 点赞
2022-04-10
tomcat 报错: A child container failed during start 解决方法
错误详情涓ラ��: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) ... 7 more Caused by: java.lang.LinkageError: loader constraint violation: loader org.apache.catalina.loader.WebappClassLoader @53e582eb (instance of org.apache.catalina.loader.WebappClassLoader, child of org.codehaus.plexus.classworlds.realm.ClassRealm @257e0827 org.codehaus.plexus.classworlds.realm.ClassRealm) wants to load interface javax.servlet.ServletContext. A different interface with the same name was previously loaded by org.codehaus.plexus.classworlds.realm.ClassRealm @257e0827 (instance of org.codehaus.plexus.classworlds.realm.ClassRealm, child of 'bootstrap'). at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1191) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1669) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:165) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5423) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 7 more 12�� 19, 2019 3:20:08 涓��� org.apache.catalina.core.ContainerBase startInternal 涓ラ��: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]] at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.startup.Tomcat.start(Tomcat.java:341) at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238) at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:955) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290) at org.apache.maven.cli.MavenCli.main(MavenCli.java:194) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) at org.codehaus.classworlds.Launcher.main(Launcher.java:47) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: org.apache.catalina.LifecycleException: A child container failed during start at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 7 more 解决方法pom.xml文件中servlet-api和jsp-api的坐标中缺少scope,加载<scrop>就可以 <!--servlet和jsp--> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency>
2022年04月10日
162 阅读
0 评论
0 点赞
2022-01-10
Java Cookie-设置/获取 判断用户是否为第一次访问 且记录访问时间 小Demo
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取cookies response.setContentType("text/html;charset=utf-8"); Cookie[] cookies = request.getCookies(); boolean flag = false; //返回数组遍历数组 寻找 lastTime参数 if (cookies != null && cookies.length >0){ //遍历 for (Cookie cookie : cookies) { //获取 cookie 键 寻找 lastTime String name = cookie.getName(); if ("lastTime".equals(name)){ flag = true; //如果有 就不是第一次登录 Date date = new Date(); //设置时间戳格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss"); //返回日期 String src_date = sdf.format(date); //设置 cookie cookie.setValue(src_date); //设置cookie 存活时间 cookie.setMaxAge( 60 * 60 * 24 * 30 ); //添加cookie response.addCookie(cookie); //获取 cookie String value = cookie.getValue(); //打印信息 response.getWriter().write("<h1>欢迎回来,您上次的访问时间为"+ value + "</h1>"); } } } if (cookies == null || cookies.length == 0 || flag == false) { Date date = new Date(); //设置时间戳格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss"); //返回日期 String src_date = sdf.format(date); //设置 cookie Cookie cookie = new Cookie("lastTime",src_date); //设置cookie 存活时间 cookie.setMaxAge( 60 * 60 * 24 * 30 ); //获取 cookie response.addCookie(cookie); response.getWriter().write("欢迎用户,您是第一次访问登录!"); } }
2022年01月10日
184 阅读
0 评论
1 点赞
2021-12-04
IDEA中使用单元测试@Test等,提示没有 Junit.jar包
Junit 单元测试类 出现问题如下@Test 找不到包,没有提示导包并报错解决方法如下File-->Project Structure-->Modules-->右侧Dependencies-->+号-->JARs or directories...2.在弹出窗口中找到IDEA的安装目录-->点击lib展开-->选择所需的两个包(hamcrest-core-1.3.jar与junit-4.12.jar)-->点击ok3.勾选新加入的这两个包-->Apply-->OK {message type="success" content=" 然后就能愉快的使用@Test注解了"/}
2021年12月04日
373 阅读
0 评论
1 点赞
2021-11-22
Java反射学习 基础案例--小记
package cc.bltang.demo01; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.Properties; public class ReflectDemo02 { public static void main(String[] args) throws Exception { //反射 案例 Properties pro = new Properties(); //加载配置文件,转换为一个集合 //获取Class目录下的配置文件 ClassLoader classLoader = ReflectDemo02.class.getClassLoader(); InputStream is = classLoader.getResourceAsStream("pro.properties"); pro.load(is); //获取配置文件中定义的数据 String className = pro.getProperty("className"); String methodName = pro.getProperty("methodName"); //加载类进内存 Class<?> aClass = Class.forName(className); //创建对象 // Constructor<?> c = aClass.getConstructor(); // Object obj = c.newInstance(); Object obj = aClass.newInstance(); //获取方法对象 Method method = aClass.getMethod(methodName); //执行方法 method.invoke(obj); } }
2021年11月22日
180 阅读
0 评论
0 点赞
2021-10-29
JAVA_集合到文件数据排序
案例*需求:键盘录入5个学生信息(姓名,语文成绩,数学成绩英语成绩)。要求按照成绩总分从高到低写入文本文件 格式:姓名,语文成绩,数学成绩英语成绩 举例:林青霞98,99,100import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet; public class Demo05Scanner { public static void main(String[] args) throws IOException { TreeSet<Student> ts = new TreeSet<>(new Comparator<Student>() { @Override public int compare(Student st1, Student st2) { //成绩从高到底 int num = st2.getSum() - st1.getSum(); //次要条件 //语文成绩相同 int num2 = num ==0? st1.getChinese() -st2.getChinese() : num; //数学成绩相同 int num3 = num2 ==0 ? st1.getMath() - st2.getMath() : num2; int num4 = num3 == 0 ? st1.getName().compareTo(st2.getName()) : num3; return num4; } }); BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\java\\成绩.txt")); Scanner sc = new Scanner(System.in); for (int i = 0; i < 5; i++) { Student stu = new Student(); System.out.println("请第"+(i + 1)+"次输入姓名:"); String name = sc.next(); stu.setName(name); System.out.println("请"+(i + 1)+"次输入语文成绩:"); int chinese = sc.nextInt(); stu.setChinese(chinese); System.out.println("请"+(i + 1)+"次输入数学成绩:"); int match = sc.nextInt(); stu.setMath(match); System.out.println("请"+(i + 1)+"次输入英语成绩:"); int english = sc.nextInt(); stu.setEnglish(english); ts.add(stu); } for (Student t : ts) { //格式:姓名,语文成绩,数学成绩,英语成绩 StringBuilder sb = new StringBuilder(); sb.append(t.getName()).append(",").append(t.getChinese()).append(",").append(t.getMath()).append(",").append(t.getEnglish()); bw.write(sb.toString()); bw.newLine(); bw.flush(); } bw.close(); // 释放资源 }
2021年10月29日
109 阅读
0 评论
0 点赞
2021-10-28
Java 字符输出流及拷贝视频无法播放问题 --注意
注意java流分为两种流:字节流:可以用于读写二进制文件及任何文件 byte字符流:可以用于读写文本文件,不能操作二进制文件{message type="error" content="因此拷贝视频文件必须用字节流操作。"/}以下为错误示范public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader("D:\\1\\10.27\\10.27-lly-6.mp4")); BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\工作\\10.27-lly-6.mp4")); char[] chars = new char[1024]; int len =0; while ((len =br.read(chars))!=-1){ bw.write(chars,0,len); } bw.close(); br.close(); }
2021年10月28日
279 阅读
0 评论
0 点赞
2021-10-07
Mysql数据库基础操作-笔记
CRUDDDL(操作数据库)R(Retrieve):查询查询所有数据库的名称:show databases;查看某个数据库的字符集(数据库编码如:gbk等):show create database //数据库名称; 返回信息 例如: CREATE DATABASE `student` /*!40100 DEFAULT CHARACTER SET utf8 */创建数据库:create database //数据库名称; create database if not exists 数据库名称; //创建数据库前判断一下该数据库是否存在,没有则创建 create database 数据库名称 character set //编码名称; 创建数据库,并且指定编码格式汇总:create database if not exists 数据库名称 character set 编码名称; //创建数据库前判断一下该数据库是否存在,没有则创建并且指定编码格式创建数据库U(Update):修改修改数据库的字符集: alter database 数据库名称 character set 编码名称;删除数据库:drop database 数据库名称; drop database if exists 数据库名称; 判断数据库是否存在,存在则删除;使用数据库: 查询当前正在使用的数据库名称:select database(); 使用数据库:use 数据库名称;DBL(操作表)1.C(create):创建create table 表名( 列名1 数据类型1, 列名2 数据类型2, ... 列名n 数据类型n ); //注意:最后一列,不需要加逗号(,) create table 表名2 like 表名1; //复制一份表1 到表2;数据类型:1.int:整数类型age int;3.double:小数类型;score double(5,2) //小数最多有五位,小数点后保留2位小数。3.date:日期,只包含年月日, yyyy-MM-dd;4.datatime:日期,包含年月日时分秒,yyyy-MM-dd HH:mm:ss5.timestamp:时间戳类型 包含年月日时分秒,yyyy-MM-dd HH:mm:ss *如果将来不给这个字段赋值,或赋值为Null,则默认使用系统时间,来自动赋值。6.varchar:字符串name varchar(20):姓名最大20个字符 zhangsan 8个字符 张三 2个字符创建表create table student( id int, name varchar(32), age int, score double(4,1), birthday date, insert_time timestamp );2.R(Retrieve):查询show tables; //查询某个数据库中所有的表的名称 desc 表名称; //查询表结构3.U(Update):修改 1.表名alter table 表名 rename to 新表名; 2.修改表的字符集alter table 表名 character set 编码名; //修改字符集 show create table 表名; //查看表的字符集 3.添加一列 alter table 表名 add 列名 数据类型;4.修改列名称 类型 alter table 表名 change 要修改的列名 新的列名 数据类型; 只修改类型: alter table 表名 modify 要修改的列名 数据类型;5.删除列 alter table 表名 drop 要删除的列名;4.D(De lete)drop table 表名; drop table if exists 表名;DML:增删改表中数据 1.添加数据: *语法: insert into 表名(列名1,列名2,....,列名n) values(值1,值2...值3){message type="error" content="*注意: 1.列名和值要一一对应。 2.如果表名后,不定义列名,则默认给所有的列添加值, insert into 表名 values(值1,值2...值n); 3.除了数字类型,其他类型需要引号(单双)引起来 "/} 2.删除数据 *语法:*delete from 表名 where 条件;{message type="error" content="*注意: 如果不加条件,则删除表中所有的记录"/}truncate table 表名; //删除表,然后在创建一个一模一样的空表 3.修改数据 *语法:update 表名 set 表名 列名1 =值1,列名2 = 值2,...[where 条件]{message type="error" content="* 注意: * 如果不加条件,会将表中所有的记录都将修改"/} DQL:查询表中的数据:select * from 表名; 1.语法:select(查询) 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页限定 2.基础查询: 1.多个字段的查询 2.去除重复select distinct 字段名 from 表名; 3.计算列SELECT 字段名,字段名,字段名,字段名+字段名 FROM student; SELECT 字段名,字段名,字段名,字段名 + IFNULL(字段名,0) FROM student; 4.起别名SELECT 字段名,字段名 别名,字段名 别名,字段名 + IFNULL(字段名,0) AS 别名 FROM student; 3.条件查询: 1.where子句后跟条件 2.运算符 *>、<、<=、>=、=、<> *BETWEEN...AND *IN(集合) *LIKE:模糊查询 *——:单个任意字符 *%:多个任意字符 *IS NULL *and 或 && *or 或 || *not 或 !SELECT*FROM student WHERE age > 20; SELECT*FROM student WHERE age < 20;等 SELECT * FROM student WHERE age >= 20 && age <= 30; // 年龄在 20-30之间 SELECT * FROM student WHERE age >= 20 AND age<= 30; // 年龄在 20-30之间 简化写法: SELECT * FROM student WHERE age BETWEEN 20 AND 30; // 年龄在 20-30之间 //查询年龄22岁,18岁,25岁 SELECT * FROM student where age=22 or age=18 or age=25; 简化写法: SELECT * FROM student WHERE age IN (22,18,25); 查询成绩为NULL的 SELECT * FROM student WHERE english IS NULL; 查询成绩不为NULL的 SELECT * FROM student WHERE english IS NOT NULL; *LIKE:模糊查询 SELECT * FROM student WHERE english IS NULL; -- 查询姓马的 SELECT * FROM student WHERE NAME LIKE "马%"; -- 查询第二个字是化的 SELECT * FROM student WHERE NAME LIKE "___腾%"; -- 查询名字是三位数的 SELECT * FROM student WHERE NAME LIKE "___"; -- 查询名字中包含马的 SELECT * FROM student WHERE NAME LIKE "%马%";{message type="info" content=" 1.DQL:查询语句 1.排序查询 2.聚合函数 3.分组查询 4.分页查询 2.约束 3.多表之间的关系 4.范式 5.数据库的备份和还原"/}DQL:查询语句 1. 排序查询 语法: roder by 子句 order by 排序字段 排序方式1,排序字段2 排序方式2.. 排序方式 : ASC : 升序,默认的。 SELECT * FROM student ORDER BY math ASC DESC : 降序 SELECT * FROM student ORDER BY math DESC {message type="error" content="注意:如果有多个排序条件,则当前的条件值一样时,才会判断第二个条件SELECT * FROM student ORDER BY math ASC, english ASC"/} 2. 聚合函数:将一列数据作为一个整体,进行纵向的计算。 1. count:计算个数 1. 一般选择非空的列:主键 2. count(*) *SELECT COUNT(IFNULL(english,0)) FROM student; 2. max:计算最大值 3. min:计算最小值 4. sum:计算和 5. avg:计算平均值 * 注意:聚合函数的计算,排除null值 解决方法: 1. 选择不包含非空的列进行计算 2. IFNULL函数 3.分组查询: 1. 语法:group by 分组字段 2. 注意: 1. 分组之后查询的字段:分组字段,聚合函数 2. where 和 having 的区别? 1. where 在分组之前进行限定,如果不满足条件,则不参与分组,having在分组之后进行限定,如果不满足结果,则不会被查询出来 2. where 后不可以跟聚合函数,having可以进行聚合函数的判断; *SELECT sex,AVG(math),COUNT(id) FROM student GROUP BY sex; *SELECT sex,AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex HAVING COUNT(id)>2; 4.分页查询 1. 语法:limit 开始的索引,每页查询的条数; 2. 公式:开始的索引 = (当前的页码 -1)* 每页的条数 3. 分页操作是一个"方言"约束 * 概念: 对表中的数据进行限定,保证数据的正确性、有效性和完整性。 * 分类: 1. 主键约束:primarykey 2. 非空约束:not null 3. 唯一约束:unique 4. 外键约束:foregin key * 非空约束:not null 1. 创建表时添加约束 CREATE TABLE stu( id INT, NAME VARCHAR(20) NOT NULL ); 2. -- 删除 name的约束 ALTER TABLE stu MODIFY NAME VARCHAR(20) 3. -- 创建表后添加约束 ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL * 唯一约束:unique 1. 创建表时添加唯一约束 1. CREATE TABLE stu( id INT, phone_number VARCHAR(20) UNIQUE ); 2. 删除唯一约束 ALTER TABLE stu DROP INDEX phone_number; 3. 创建表后,添加唯一约束 ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE * 主键约束:primarykey 1. 创建表时添加主键 CREATE TABLE stu( id INT PRIMARY KEY , NAME VARCHAR(20) ); 2. 删除主键 ALTER TABLE stu DROP PRIMARY KEY; 3. 创建完成之后添加主键 ALTER TABLE stu MODIFY id INT PRIMARY KEY; 4. 自动增长: * 概念:如果某一列时数值类型的,使用 auto_increment 可以完成值的自动增长 * 创建表添加自动增长 CREATE TABLE stu( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); * -- 删除自动增长 ALTER TABLE stu MODIFY id INT * -- 添加自动增长 ALTER TABLE stu MODIFY id INT AUTO_INCREMENT * 外键约束:foreign key 1. 在创建表时,可以添加外键 * 语法: creat table 表名( ... 外键列 constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称) ) 2. 删除外键 * ALTER TABLE employee DROP FOREIGN KEY emp_dept_fk; 3. 创建表之后,添加外键 * ALTER TABLE employee ADD CONSTRAINT emp_dept_fk FOREIGN KEY (dep_id) REFERENCES department(id) 4. 级联操作 *ALTER TABLE employee ADD CONSTRAINT emp_dept_fk FOREIGN KEY (dep_id) REFERENCES department(id) ON UPDATE CASCADE DELETE CASCADE 1. 级联更新:ON UPDATE CASCADE 2. 级联删除:ON DELETE CASCADE
2021年10月07日
246 阅读
0 评论
1 点赞
2021-09-26
Java IO字节缓冲流实现复制文件。 -小记
package demo16; import java.io.*; public class Demo03CopyFor { public static void main(String[] args) throws IOException { long e = System.currentTimeMillis(); FileInputStream fis = new FileInputStream("D:\\C0103.MP4"); BufferedInputStream bis = new BufferedInputStream(fis); FileOutputStream fos = new FileOutputStream("E:\\C0103.MP4"); BufferedOutputStream bos = new BufferedOutputStream(fos); byte[] bytes = new byte[10240]; int len = 0; while ((len = bis.read(bytes))!= -1){ bos.write(bytes); } bis.close(); bos.close(); long s = System.currentTimeMillis(); System.out.println("系统总耗时:"+(s-e)+"毫秒~"); } } 系统总耗时:40毫秒~
2021年09月26日
165 阅读
0 评论
0 点赞
1
2