- 博客(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
2401
6
原创 serializers.PrimaryKeyRelatedField()是Django REST Framework(DRF)提供的一个序列化字段类
1.serializers.PrimaryKeyRelatedField()是Django REST Framework(DRF)提供的一个序列化字段类,用于在序列化和反序列化过程中处理其他模型之间的关联关系。该字段类接受一个参数,即关联模型的主键。它将根据这个主键自动序列化和反序列化关联对象。在view.py中使用上面的序列化对象。
2023-07-21 11:37:44
722
原创 django中批量添加对象SupplierNature.objects.bulk_create(SupplierNature对象)
【代码】django中批量添加对象SupplierNature.objects.bulk_create(SupplierNature对象)
2023-07-18 17:00:08
1168
原创 django中的model的一些笔记
model中外键关联中的related_name属性,可以在外键表中作为筛选条件,也就是反过来在外键表中使用。例如下面的使用WarehouseStockRecord就是外键表。在查询时,可以将Q对象作为参数传递给filter()方法,以实现复杂的查询条件。2.django中的Q()对象用于构建复杂查询条件的工具。
2023-07-18 15:16:34
1990
原创 如何提升分页的性能假设有300w条数据
2.我的解决方法是利用数据库(mysql)的特性,给这种要分页查询的数据前面加一个ID属性这个ID是从小到大(123456789)依次递增的,这样的话就可以在查寻的时候通过ID进行范围查询例如1<id<10。1.如果按传统的方式获取前端提供的index=1,pages=10这种的话,会越翻越慢,因为传统的分页会进行逐条扫描,也就是说如果要翻到第200w条数据的话,它会扫描前199w条数据。
2023-07-10 17:25:41
173
原创 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
586
原创 谈谈synchronized与ReentrantLock的区别?
1. 底层实现上来说:**synchronized: [synchronized 是JVM层面的锁,是Java关键字.通过monitorenter来加锁,monitorexit来解锁。wait/notify方法使用在synchronized所修饰的代码块中,synchronized 的实现涉及到锁的升级,具体为无锁–》偏向锁–》轻量级锁(CAS)–》向OS(操作系统)申请重量级锁]ReentrantLock:【实现则是通过利用CAS自旋机制保证线程操作的原子性和volatile保证数据可见性以实现锁的功
2022-05-15 15:10:03
195
原创 spring面式题1
1.谈谈Spring IOC的理解,原理与实现?控制反转:理论思想,原来的对象是由使用者来进行控制,有了spring之后,可以把整个对象交给spring来帮我们进行管理 DI:依赖注入,把对应的属性的值注入到具体的对象中,@Autowired,populateBean完成属性值的注入容器:存储对象,使用map结构来存储,在spring中一般存在三级缓存,singletonObjects存放完整的bean对象, 整个bean的生命周期,从创建到使用到销毁的过程全部都是由容器来管理(bea
2022-05-06 15:20:56
585
原创 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
96
原创 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
435
原创 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
830
原创 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
508
原创 springboot开发者工具包可以自动监听内容改变,自动更新重启
在做springboot项目的时候,我们更改东西后,还要手动重启,我们可以使用这个插件,实现让他自己监听我们的代码改变,自己自动重启项目<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional><
2022-03-16 11:10:14
358
原创 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
310
原创 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
262
原创 文件读取工具类
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
264
原创 为什么需要 WebSocket协议
答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起,HTTP 协议做不到服务器主动向客户端推送信息。1.WebSocket协议本协议有两部分:握手和数据传输握手是基于HTTP协议在Handshake时就已经升级为WebSocket1.2客户端(浏览器)实现var ws = new WebSocket(url)WebSocket的相关事件事件处理事件的方法描述openonopen建立连接时触发此事件messageonmessage客户端接收
2021-05-07 12:37:32
222
原创 mybatis-plus逻辑删除
在数据库中没有被删除,而是用其他值来表示。逻辑删除实际执行的SQL语句是update1 设定逻辑删除规则在配置文件中配置逻辑删除和逻辑未删除的值,本文配置未删除的值为0,已删除的值为1;在pojo类中在逻辑删除的字段加注解@TableLogic,当这个字段值为0时,说明数据未被删除,提供给用户正常使用,当这个字段值为1是,说明数据已被删除,用户无法正常查到这条数据;配置及注解内容如下图。 mybatis-plus: global-config: db-config: lo
2021-04-13 21:03:19
566
原创 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
89
原创 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
626
1
原创 shiro的学习笔记
public class SimpleAccountRealm extends AuthorizingRealm {//进行用户名的认证 protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { UsernamePasswordToken upToken = (UsernamePasswordToken)token
2021-03-26 15:45:47
136
原创 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
137
原创 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
125
原创 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
135
原创 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
188
原创 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
150
原创 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
234
原创 mybatis三种查询
// 获取XML对象,得到配置资源 InputStream iStream = null; try { iStream = Resources.getResourceAsStream("mybatis.xml"); } catch (IOException e) { e.printStackTrace(); } // 使用工厂设计模式 SqlSessionFac...
2020-05-05 11:52:28
421
原创 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
233
原创 Filter
一.过滤器Filter1.filter的简介filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理作用:代码的抽取(可以对request设置编码,这样所有走过的servlet的编码都是统一的,没必要每一个都写)权限管理(在filter内部取出当前登录用户的角色,再看访问的资源,如果匹配则放行,不匹配则不放行)filter生命周期及其...
2020-03-02 19:55:58
144
原创 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
111
原创 mysql中的事务问题
事务的概念事务是用来保证一个业务操作的完整性,要么成功、要么失败、不允许部分成功、部分失败。事务的四大特性ACIDAtomicity:原子性原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。Consistency:一致性一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是...
2019-11-11 20:59:55
237
原创 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
154
原创 mysql基础1
1.起别名目的:1.便于理解。2.当查询的字段有重名的情况时,使用别名可以用来做区分。方式:1.使用as关键字例:select name as 姓 from student;2.使用空格。注:别名最好用双引号包裹起来。========================================================================2.去重使用关键...
2019-10-30 18:29:41
123
原创 自定义类加载器
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
92
原创 mysql的优缺点
优点1. 通常存储过程 标题有助于提高应用程序的性能。因为当你创建他的时候就已经编译了,只不过是按需编译的。2.存储过程有助于减少应用程序和数据库服务器之间的流量,因为应用程序不必发送多个冗长的SQL语句,而只能发送存储过程的名称和参数。3.存储过程将数据库接口暴露给所有应用程序,以便开发人员不必开发存储过程中已支持的功能,而我们只能使用他程序授予的适当的权限而不能赋予他权限,而这 也保证了...
2019-06-09 15:30:38
14773
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
174
原创 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
271
原创 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
1871
Java jdk 1.8 API
2018-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人