自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhang1996922的博客

一颗小草

  • 博客(79)
  • 资源 (2)
  • 收藏
  • 关注

原创 spring boot集成mybatisplus如何映射MySQL中geometry字段

在上述代码中,我们使用JTS库的WKTReader来解析MySQL中的geometry字段,并将其转换为Java实体类中的Geometry对象。这样,您就可以在Spring Boot中集成MyBatis Plus并映射MySQL中的geometry字段了。创建一个自定义的MyBatis Plus类型处理器(TypeHandler),用于将MySQL的geometry类型与Java实体类中的Geometry字段进行映射。4.在MyBatis Plus的配置文件中注册自定义的类型处理器。

2023-08-08 18:33:52 1227 4

原创 serializers.PrimaryKeyRelatedField()是Django REST Framework(DRF)提供的一个序列化字段类

1.serializers.PrimaryKeyRelatedField()是Django REST Framework(DRF)提供的一个序列化字段类,用于在序列化和反序列化过程中处理其他模型之间的关联关系。该字段类接受一个参数,即关联模型的主键。它将根据这个主键自动序列化和反序列化关联对象。在view.py中使用上面的序列化对象。

2023-07-21 11:37:44 504

原创 django中批量添加对象SupplierNature.objects.bulk_create(SupplierNature对象)

【代码】django中批量添加对象SupplierNature.objects.bulk_create(SupplierNature对象)

2023-07-18 17:00:08 1115

原创 django中的model的一些笔记

model中外键关联中的related_name属性,可以在外键表中作为筛选条件,也就是反过来在外键表中使用。例如下面的使用WarehouseStockRecord就是外键表。在查询时,可以将Q对象作为参数传递给filter()方法,以实现复杂的查询条件。2.django中的Q()对象用于构建复杂查询条件的工具。

2023-07-18 15:16:34 1937

原创 如何提升分页的性能假设有300w条数据

2.我的解决方法是利用数据库(mysql)的特性,给这种要分页查询的数据前面加一个ID属性这个ID是从小到大(123456789)依次递增的,这样的话就可以在查寻的时候通过ID进行范围查询例如1<id<10。1.如果按传统的方式获取前端提供的index=1,pages=10这种的话,会越翻越慢,因为传统的分页会进行逐条扫描,也就是说如果要翻到第200w条数据的话,它会扫描前199w条数据。

2023-07-10 17:25:41 102

原创 serializers.ListSerializer在更新时的使用

DRF

2023-05-31 09:42:09 129

原创 HashMap与concurrenthashmap面试题

1.介绍下 HashMap 的底层数据结构吧在 JDK 1.8,底层是由“数组+链表+红黑树”组成,如下图,而在 JDK 1.8 之前是由“数组+链表”组成。下图是在知乎上下载的:1.底层数组 何时会扩容?当数组中的元素个数达到数组长度的0.75就会扩容,扩容大小为2的N次方。1.8时HashMap在调用put方法时才会初始化数组长度,默认为16.2.那在什么时候用链表?什么时候用红黑树?对于插入,默认情况下是使用链表节点。当同一个索引位置的节点在新增后达到9个(阈值8):如果此时数组长度大于

2022-05-15 17:01:32 518

原创 谈谈synchronized与ReentrantLock的区别?

1. 底层实现上来说:**synchronized: [synchronized 是JVM层面的锁,是Java关键字.通过monitorenter来加锁,monitorexit来解锁。wait/notify方法使用在synchronized所修饰的代码块中,synchronized 的实现涉及到锁的升级,具体为无锁–》偏向锁–》轻量级锁(CAS)–》向OS(操作系统)申请重量级锁]ReentrantLock:【实现则是通过利用CAS自旋机制保证线程操作的原子性和volatile保证数据可见性以实现锁的功

2022-05-15 15:10:03 158

原创 spring面式题1

1.谈谈Spring IOC的理解,原理与实现?控制反转:理论思想,原来的对象是由使用者来进行控制,有了spring之后,可以把整个对象交给spring来帮我们进行管理​ DI:依赖注入,把对应的属性的值注入到具体的对象中,@Autowired,populateBean完成属性值的注入容器:存储对象,使用map结构来存储,在spring中一般存在三级缓存,singletonObjects存放完整的bean对象,​ 整个bean的生命周期,从创建到使用到销毁的过程全部都是由容器来管理(bea

2022-05-06 15:20:56 532

原创 Redis事务

redis 的事务是非原子性的Redis事务相关命令:MULTI :开启事务,redis会将后续的命令逐个放入队列中,然后使用EXEC命令来原子化执行这个命令系列。EXEC:执行事务中的所有操作命令。 DISCARD:取消事务,放弃执行事务块中的所有命令。WATCH:监视一个或多个key,如果事务在执行前,这个key(或多个key)被其他命令修改,则事务被中断,不会执行事务中的任何命令。UNWATCH:取消WATCH对所有key的监视。DISCARD取消事务:127.0.0.1:6379&

2022-03-31 15:03:18 65

原创 springboot文件上传与下载

1.创建一个控制层 FileControllerpackage com.rainy.controller;import org.apache.catalina.servlet4preview.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotatio

2022-03-17 14:10:12 405

原创 springboot的bean管理

Spring Boot 由于没有XML文件,所以所有的Bean管理都放入在一个配置类中实现。配置类就是类上具有@Configuration的类。这个类就相当于之前的applicationContext.xml1.创建同类型Bean的实现方式1.1.新建配置类位置:在com.yrp.config下新建MyConfig, 放入到config文件夹中是规范添加注解:在类上贴@Configuration在方法中贴@Bean@Configurationpublic class MyConfig {

2022-03-16 16:36:46 770

原创 springboot整合Pagehelper分页插件

2.在pom文件中引入Pagehelper分页插件<!-- 分页插件 --><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version></dependency>

2022-03-16 14:11:40 480

原创 springboot开发者工具包可以自动监听内容改变,自动更新重启

在做springboot项目的时候,我们更改东西后,还要手动重启,我们可以使用这个插件,实现让他自己监听我们的代码改变,自己自动重启项目<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional><

2022-03-16 11:10:14 311

原创 spring boot异常处理方法,类

1.基于@ControllerAdvice注解的Controller层的全局异常统一处理可以在异常类上使用@ControllerAdvice。一般使用异常类都是进行容错降级,但是有可能导致忽视某个重要的异常而导致程序问题。这个还得看你公司的技术leader怎么要求。import org.springframework.ui.Model;import org.springframework.web.bind.WebDataBinder;import org.springframework.web.

2022-03-16 10:53:40 268

原创 spingboot整合logbacK

它要比log4j的速度要快。但最主要的原因是它能在控制台打印SQL语句。而spring boot已经将它整合,只需在resourse下新建一个logback即可。<?xml version="1.0" encoding="UTF-8"?><configuration> <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--输出

2022-03-16 09:04:18 198

原创 文件读取工具类

import org.springframework.stereotype.Component;import java.io.*;@Componentpublic class ReadFileUtil { /** * 一次性读取文件 * //fileName =C:/temp/newTemp.txt */ public static String readToString(String fileName,String encoding) {

2021-05-20 21:07:16 228

原创 为什么需要 WebSocket协议

答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起,HTTP 协议做不到服务器主动向客户端推送信息。1.WebSocket协议本协议有两部分:握手和数据传输握手是基于HTTP协议在Handshake时就已经升级为WebSocket1.2客户端(浏览器)实现var ws = new WebSocket(url)WebSocket的相关事件事件处理事件的方法描述openonopen建立连接时触发此事件messageonmessage客户端接收

2021-05-07 12:37:32 147

原创 mybatis-plus逻辑删除

在数据库中没有被删除,而是用其他值来表示。逻辑删除实际执行的SQL语句是update1 设定逻辑删除规则在配置文件中配置逻辑删除和逻辑未删除的值,本文配置未删除的值为0,已删除的值为1;在pojo类中在逻辑删除的字段加注解@TableLogic,当这个字段值为0时,说明数据未被删除,提供给用户正常使用,当这个字段值为1是,说明数据已被删除,用户无法正常查到这条数据;配置及注解内容如下图。 mybatis-plus: global-config: db-config: lo

2021-04-13 21:03:19 479

原创 mybatis-plus乐观锁

乐观锁实现方式:1.取出记录时,获取当前version2.更新时,带上这个version3.执行更新时, set version = newVersion where version = oldVersion4.如果version不对,就更新失败这让我想起了Java中的一个关键字volatile使用方法第一步字段上加上@Version注解@Versionprivate Integer version;支持的数据类型只有:int,Integer,long,Long,Dat

2021-04-13 15:41:24 59

原创 Mybatis有二级缓存为啥还要用Redis?

1.mybatis的一级缓存的作用域是session,再session commit之后缓存就失效了。2.mybatis的二级缓存的作用域是sessionfactory,该缓存是以namespace为单位,不同的namespace下的操作互不影响。3.所有对数据表的改变操作都会刷新缓存。但不要使用二级缓存,因为当两个xxxMapper.xml对同一个表单操作时,可能会导致在两个命名空间下的数据会不一致。例如在mapper1.xml中刷新了缓存,而mapper2.xml的缓存还有效。则在查询时会出现脏读。

2021-03-29 14:17:34 557 1

原创 shiro的学习笔记

public class SimpleAccountRealm extends AuthorizingRealm {//进行用户名的认证 protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { UsernamePasswordToken upToken = (UsernamePasswordToken)token

2021-03-26 15:45:47 97

原创 springboot整合listener

public class FirstListen implements ServletContextListener{ @Override public void contextDestroyed(ServletContextEvent sce) { } @Override public void contextInitialized(ServletContextEvent sce) { }}@SpringBootApplicationpublic class Demo

2020-10-17 21:10:47 104

原创 springbooot整合Filter

public class FirstServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("successful"); }}//监听器public class FilterDemo implements Fi

2020-10-17 20:17:27 100

原创 springboot整合servlet

public class FirstServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("successful"); }}//通过方法引用servlet@SpringBootApplicationpubl

2020-10-17 19:50:32 102

原创 springboot的pom.xml文件

//spring的<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.3.RELEASE</version></parent> //JDK版本 <properties> <java.vers

2020-10-17 19:46:43 112

原创 mybatis动态SQL

1.where1.如果<where>中有类容则生成where子句,如果没有类容则什么也不做。2.如果<where>子句中有and则删除第一个and。<select id="selAll" resultType="Loge"> select *from loge <where> <if test="accin != null and accin != ''"> and accin=#{accin} </if&g

2020-05-30 18:56:24 115

原创 mybatis关于别名-------提高开发效率

1.系统内置别名:例如int---------就是把类型全小写2.给某个类起别名<typeAliases> <typeAlias type="com.bjx.mapper.People" alias="别名" /></typeAliases>3.直接给某个包下的所有类起别名,别名就是类名,区分大小写<typeAliases> <package name="com.bjx.mapper" /></typeAliases&g

2020-05-13 21:30:36 190

原创 mybatis三种查询

// 获取XML对象,得到配置资源 InputStream iStream = null; try { iStream = Resources.getResourceAsStream("mybatis.xml"); } catch (IOException e) { e.printStackTrace(); } // 使用工厂设计模式 SqlSessionFac...

2020-05-05 11:52:28 330

原创 DOM操作

1.attr()------设置或获取元素的属性值。2.返回值:removeAttr(name)----删除属性3.prop(name|properties|key,value|fn)------设置或获取元素的属性值。4.返回值removeProp(name)----删除属性attr()与prop()的区别:如果操作的是元素的故有属性则建议prop否则用attr()1.对class的属...

2020-03-28 19:48:07 173

原创 Filter

一.过滤器Filter1.filter的简介filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理作用:代码的抽取(可以对request设置编码,这样所有走过的servlet的编码都是统一的,没必要每一个都写)权限管理(在filter内部取出当前登录用户的角色,再看访问的资源,如果匹配则放行,不匹配则不放行)filter生命周期及其...

2020-03-02 19:55:58 109

原创 String ,StringBuffer和StringBuilder的区别

Stringstring 被声明为final类,内部变量亦被final修饰。string a = "ajfldjfsl"; System.out.println( a); a = "sjfkljsjf"; System.out.println( a);对于上述的过程可以有如图表示图片: 图片: 图片:(1)string是不可变的,带来的好处主要有两点,第一是线程安全,可以在多个...

2019-11-14 19:46:46 76

原创 mysql中的事务问题

事务的概念事务是用来保证一个业务操作的完整性,要么成功、要么失败、不允许部分成功、部分失败。事务的四大特性ACIDAtomicity:原子性原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。Consistency:一致性一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是...

2019-11-11 20:59:55 201

原创 mysql分组函数

1.作用:用作统计使用的,又称为聚合函数。sum求和 ,avg求平均值 ,max最大值 ,min最小值 ,count计算个数#简单使用select sum(salary) from employees;select avg(salsry) from employees;select max(salsry) from employees;select min(salsry) from ...

2019-10-30 18:31:48 117

原创 mysql基础1

1.起别名目的:1.便于理解。2.当查询的字段有重名的情况时,使用别名可以用来做区分。方式:1.使用as关键字例:select name as 姓 from student;2.使用空格。注:别名最好用双引号包裹起来。========================================================================2.去重使用关键...

2019-10-30 18:29:41 97

原创 自定义类加载器

package classloder;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import org.apache.commons.io.IOUtils;//文件系统类加载器public class F...

2019-10-05 20:10:36 64

原创 mysql的优缺点

优点1. 通常存储过程 标题有助于提高应用程序的性能。因为当你创建他的时候就已经编译了,只不过是按需编译的。2.存储过程有助于减少应用程序和数据库服务器之间的流量,因为应用程序不必发送多个冗长的SQL语句,而只能发送存储过程的名称和参数。3.存储过程将数据库接口暴露给所有应用程序,以便开发人员不必开发存储过程中已支持的功能,而我们只能使用他程序授予的适当的权限而不能赋予他权限,而这 也保证了...

2019-06-09 15:30:38 14478 1

原创 Java--hibernate树状映射

1.假设此对象为(组织结构)package hibernate002test.copy;import java.util.HashSet;import java.util.Set;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.FetchType;...

2018-09-20 20:23:10 144

原创 java关联关系crud

假设有User和groubs两个对象(表),当修改其中一个则另外一个也跟着改变。package hibernate002test.copy;import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import java...

2018-09-12 18:11:17 232

原创 java多对多双向关联

package hibernate002test.copy;import java.util.HashSet; import java.util.Set; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToMany;public c...

2018-09-10 17:28:27 1814

python3.3.zip

python3.3.zip的文件。you can insert it on your computer.

2018-08-22

Java jdk 1.8 API

java API分享,用于查看Java方法类等有关属性,最近在学习java 并发相关的知识, 调试中进入到并发包中的源码,发现不能查看到局部变量表相关的信息. 在网上查询了下资料, 据说是oracle 对外发布jdk 安装包中lib 库做了一些处理(编译这些jar 加了一些参数,导致在调试时看不到局部变量表信息) .

2018-04-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除