- 博客(35)
- 收藏
- 关注
原创 MySql中的left join on 的条件问题
MySql中的left join 就是将两表进行左连接,左表是主表,右表是从表,on后面是连接条件。但是,如果除了连接条件外,还想对从表进行额外的条件限制,那么也必须放在on的后面使用and 将这些条件链接起来。举个例子:SELECT * FROM A表 LEFT JOIN B表 ON A.id=B.a_id and B.某个字段=某个值;SELECT * FROM A表 LEFT JOIN B表 ON A.id=B.a_id WHERE B.某个字段=某个值;这两条SQL的返回值就完全不一样了,
2020-12-17 09:14:55
1451
1
原创 MyBatis中的SQL支持同一个标签中写多条sql语句
MyBatis中的SQL支持同一个标签中写多条sql语句最近在开发中遇到了需要同时更新多个表的操作,考虑到性能问题肯定不可能去多次链接数据库。那么此时就可以用到Mybatis的这种一个标签中写多条sql语句的特性了,并且只会链接一次数据库。举例:<update> update A表 set xx=xx where xx=#{xx}; update B表 set xx=xx where xx=#{xx};</update>sql语句正常写就好,每句sql之间用分号做间隔
2020-12-10 14:38:58
1443
1
原创 双list封装成二级树状结构的算法(简单优化)
双list封装成二级树状结构的算法的简单优化本人在近期的工作过程中遇到了需要将两个list中的数据封装到一个树状的list中的业务。由于数据量较大,肯定是无法使用for循环嵌套来实现的,所以在这里记录一下。(下面是伪代码,主要是记录思路) //中间量map Map<Integer, List<Object>> map = new HashMap<>(); //父集合 List<Object> father
2020-12-08 11:46:51
408
1
原创 关于实体类中使用BigDecimal的坑
最近本人在开发工作中,遇到需要在实体类中使用BigDecimal类的情况,遇到了一些问题记录在这里:BigDecimal的equals方法:该方法在比较时不仅仅是比较值而是
2020-11-19 17:35:47
1331
原创 关于mybatis插入操作返回主键id
关于mybatis的插入操作返回主键id问题如何返回主键id使用实体类使用useGeneratedKeys 和 keyProperty来实现<insert id="你自己的插入方法" parameterType="自己的实体类" useGeneratedKeys="true" keyProperty="id"></insert>再在service方法里面使用你插入的对象直接getId() 就可以拿到id了使用map跟实体类使用方式相同。在service中通过
2020-11-10 12:36:57
89
原创 千峰JAVA逆战班Day57
Day57*JSON 它是一种数据格式,形式简单,易读 json数据格式:可以将对象的属性名 和属性值 以键值对的形式进行存储。Person p = new Person(10,"张三");//将person转换为json写法:{"age":10,"name":"张三"}*javaScript I. 第一个JS程序<script type="text/javascri...
2020-04-22 15:13:31
107
原创 idea的debug的基本使用方式
IDEA的debug的基本使用方式*例子完整代码public class Test{ public static void main(String[] args) { Map<String ,String> map = new HashMap<>(); map.put("a", getStr("a")); map....
2020-04-15 23:48:50
204
原创 千峰JAVA逆战班Day53
Day53*过滤器filter 单个过滤器的流程图 多个过滤器的流程图:顺序是根据过滤器的全类名的字典顺序来的//urlPatterns表示需要过滤的资源,/*表示所有资源(jsp,css,png,servlet)@WebFilter(filterName = "firstFilter", urlPatterns = "/*")public class FirstFilter ...
2020-04-15 19:46:56
132
原创 千峰JAVA逆战班Day52
Day52*EL表达式:目的是尽量消除JSP页面中的java代码 I. 基本用法 ${} 3+4=${3 + 4}<br> 3*4=${3 * 4}<br> II. 获取request、session、application的setAttribute中的值(name、password是key值)${requestScope.name}<br>...
2020-04-14 19:59:20
101
原创 jstl中使用EL表达式时,空引用调用方法,没有抛出空指针异常
在JSTL中使用EL表达式时,明明有一个引用是null,但是用这个引用调用了equals方法 ,却没有抛出空指针异常代码如下:<%request.setAttribute("name",null);%><c:if test="${requestScope.name.equals('')}"> 1111</c:if><br>...
2020-04-14 18:56:14
231
原创 千峰JAVA逆战班Day51
Day51*重定向:<body> <a href="redirect?name=query">查询</a><br> <a href="redirect?name=insert">删除</a> </body> String name = req.getParameter("...
2020-04-13 20:41:11
97
原创 千峰JAVA逆战班Day50
Day50*JSP的注释: <!-- 这里是可以在前端看到的注释 --> <%-- 这里是不可以在前端看到的注释,如果注释中包含了java代码,就必须要是用这种注释 --%>*编译指令:<!-- 表示将当前页面和file路径的页面进行拼接 --><!-- 好处:实现other.jsp页面的复用 --><%@ incl...
2020-04-12 00:26:33
116
原创 千峰JAVA逆战班Day49
Day49*下载文件案例:就是使用IO传输数据 private String resourceLocation = "D:\\Users\\t\\nginx-1.17.2\\html\\a.png"; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throw...
2020-04-10 09:33:49
92
原创 千峰JAVA逆战班Day48
Day48*在昨天的注册案例上加一个功能:用户注册之后,给用户返回一个html页面,告知用户注册成功,且有用户的所有信息(必须是中文) I. 如果需要有中文,那么中文乱码问题肯定是要考虑的;所以,这里将请求时的数据和响应时的数据编码统一改为utf-8//这个放在所有请求的逻辑代码的前面req.setCharacterEncoding("utf-8");//这个放在所有响应的逻辑代码的前...
2020-04-08 21:53:21
328
原创 千峰JAVA逆战班Day47
Day47*服务器的请求流程:*请求的方式:get 和 post,请求分为请求头和请求体 I. get 请求的信息会直接显示在网页的地址栏。 II. post 请求的信息不会直接显示在网页的地址栏,而是在请求体中。*项目的部署: 不是开发过程中,而是开发完成,准备上线的时候,将web项目打包成war包,并放置到服务器上 I. 首先在file下选择 project struc...
2020-04-08 09:56:01
143
原创 fontawesome图标库以及使用方法
fontawesome图标库以及使用方法fontawesome图标库链接fontawesome图标库里面有各种各样的小图标,可以很好的美化前端页面。如何使用?首先肯定要先下载font-awesome 压缩包。解压好了之后,将css和fonts文件夹赋值到你自己的项目中复制好了之后,在html文件的头部分加上这句,href后面是你自己的font-awesome.min.css的路径(在c...
2020-04-02 21:34:52
1472
原创 CSS:解决高度塌陷的三种方式
CSS:解决高度塌陷的三种方什么是高度塌陷: 父盒子自动适应子盒子,子盒子float之后,父盒子的高度变为0。解决高度塌陷的三种方式:w3c组织推荐的方式:多加一个子盒子(只是用来解决高度塌陷,并不会破坏布局),class=clearfix .clearfix{ clear: both; }给父盒子的样式加上:overflow: hidden;...
2020-04-02 21:17:36
495
原创 学习CSS中盒子模型遇到的一些小坑
最近在学习中遇到了盒子模型的两个坑,所以在这里做个总结第一个: 上下两个盒子的间隙问题: .box1{ height: 200px; width: 200px; background-color: #51b7ec; margin-bottom: 30px; } .box2{...
2020-04-02 20:55:38
605
原创 千峰JAVA逆战班Day45
Day45*CSS部分(三) I. 浮动:(什么是标椎文档流:就是行内元素在行内从左到右有序排列,块级元素都会独占一行,从上到下有序排列。) .box{ height: 500px; width: 500px; background-color: #e3e3e3; } .b...
2020-04-02 20:22:33
101
原创 Day44
Day44*CSS部分(二) I. 块级元素和行内元素 块级元素可以指定宽高,行内元素的宽高是根据内容而定的,指定宽高无效 1)特殊的p标签: p标签中可以放行内元素,但是不能放任何块级元素(包括他自己) 2)特殊的img标签 img标签是一个行内元素,但是可以设置宽高,业界有时会说img是行内块级元素 3)显示模式的转换 display:inlin...
2020-04-02 00:35:08
80
原创 千峰JAVA逆战班Day43
Day43*CSS部分(一): I. 字体样式:font siize 字体大小 font weight 字体粗细 color字体颜色<style type="text/css"> .abc{ font-size: 30px; font-weight: 800; color: aqua;...
2020-04-02 00:33:30
108
原创 千峰JAVA逆战班Day42
Day42*HTML 部分: I. 主要结构: 1) document type 文档类型,表示这是一个html文件<!DOCTYPE html> 2)整个html文件的开始到结束,所有的内容都在这中间写<html></html> 3)头部分,可以设置文件编码,标题等<head></head>...
2020-03-30 20:47:23
300
原创 千峰JAVA逆战班Day41
Day41*数据库连接池 I. 概念:数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个 II. 主流的连接池:druid 连接池,是阿里的一个开源项目,功能全面,监控,日志分析做的非常好;hikaricp 性能强劲,稳定性也很好,springboot的默认连接池就是它。 III. java中的DataSource接口:所有...
2020-03-28 21:55:23
122
原创 千峰JAVA逆战班Day40
Day40*对执行DQL的方法进行封装 I. 连接,设置参数等方式跟封装DML是一样的,但是DQL返回的是一个结果集,所以需要对这个结果集进行处理。那么怎么处理呢?自然是封装到一个集合当中进行返回。首先,我们肯定是需要自定义一个实体类来保存这些信息(实体类的属性名必须保证和sql语句的字段别名一致),那么我就等于是知道了这个集合的类型,如果要将类型告知给方法,那么自然是要使用Class对象作...
2020-03-27 20:13:21
116
原创 千峰JAVA逆战班Day39
Day39*java制定了一套统一的接口来连接不同的数据库,各大数据库厂商按照这个接口实现了连接各自数据库的方案(如下图):*使用JDBC执行DQL语句,并将结果保存在一个集合里面public class TestJDBCtoList { public static void main(String[] args) { Connection con = null; Prepar...
2020-03-26 19:42:54
127
原创 千峰JAVA逆战班Day38
Day38*连接查询:必须是两个或以上表之间且一定有主外键关系,才能进行连接查询 I. 内连接:inner join onSELECT bid,bname,bprice,book.`tid`,tname FROM book INNER JOIN booktype ON book.`tid`=booktype.`tid`; II. 外连接:主表的内容一定会显示,从表的内容只有主表...
2020-03-25 22:50:03
104
原创 千峰JAVA逆战班Day37
Day37*DQL语句(数据库查询语句)I. 关系型数据库:表与表之间可以建立关系;称之为主外键。 主键:在一个表中可以唯一标识一条记录,不能重复,不可为空。 外键:当前表中的外键指的是另外一个表的主键,外键可以重复,可以为空。II. 表之间的关系 1)一对一的关系:两种方式 ①方法1:主键关联:要求两个表的主键必须完全一致,通过两个表的主键建立关联关系。 ...
2020-03-24 21:35:13
118
原创 千峰JAVA逆战班Day36
Day36*二阶段介绍:通过前端网页,将我们后台写的逻辑代码和数据,去供别人使用[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7rTum0Il-1585023326920)(D:\BaiduNetdiskDownload\assets\1584929470219.png)]*数据库(有服务端和客户端 ): I. 可以用txt等文件存储,为什么还需要数据...
2020-03-24 12:22:15
131
原创 Exception in thread "main" java.util.NoSuchElementException: No line found
这种异常一般是因为关闭了控制台输入流造成的。Scanner scan = new Scanner(System.in);scan.close();Scanner scan1 = new Scanner(System.in);String scan1 = scan1.nextLine();当scan调用close方法时,会关闭这个System.in流,且无法再次打开;后面即使使用Scan...
2020-03-22 16:50:26
6513
2
原创 千峰JAVA逆战班Day35
Day35*注解:就是给代码中的方法,属性,参数等贴上了一个标签注解的定义:@interface 注解名字public @interface MyAnno{}用法:在你想要贴上注解的地方的前面加上 @注解名字public class Animals { @MyAnno String name; @MyAnno public void eat() { ...
2020-03-20 21:15:21
124
原创 千峰JAVA逆战班Day34
*UDP编程:发送者和接受者,两者直接不会产生连接。(不安全的,在信息传输过程中可能会发生数据包的丢失)package com.qianfeng.am.demo1;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;/** * @author ...
2020-03-19 21:01:31
135
原创 千峰JAVA逆战班Day33
Day33*用Socket传输对象。package com.qianfeng.am.demo;import java.io.Serializable;public class Goods implements Serializable{ String id; String name; public Goods() { } public Goods(String id, ...
2020-03-19 19:10:13
156
原创 千峰JAVA逆战班Day32
Day32*计算机网络:为实现资源共享和信息的传递,通过信息线路连接起来的若干主机(Host) 互联网:点与点相连 万维网:端与端相连 物联网:物与物相连 网络编程:让计算机与计算机之间建立连接、进行通信*TCP/IP模型: 一:网络接口层,负责建立电脑与电脑直接物理设备的连接(例如,网线,路由器,网卡等) 二:网络层,物理连接实现之后,需要对每...
2020-03-18 09:17:38
113
原创 千峰java逆战班Day31
Day31*File.separator : 分隔符(\)*通过byte数组进行读取和写入public static void m2(File file) throws IOException{ InputStream is = new FileInputStream(file); byte[] b = new byte[4]; int count = -...
2020-03-16 21:15:43
117
原创 HashMap中putval()方法详解
final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { //声明了一个局部变量 tab,局部变量 Node 类型的数据 p,int 类型 n,i Node<K,V>[] tab; Node<K,V> p...
2020-03-10 22:00:36
3436
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人