如何使用JPA 建模


很多同学在使用JPA的时候,每次要对实体建模的时候都分不清JPA的注解用哪一个、注解参数填什么。这主要是由于对两个实体之间的关系的理解不到位,以及不清楚JPA如何描述两个实体之间的关联关系。 本文的目的是为了帮助大家重新梳理一遍JPA中的关联映射,用理解代替死记硬背。我会给出两种版本。一种是【精简版

《Sonny's python》第一部分 基础语法


sonny's python是我2021年学习python时候的笔记。学习的内容主要来自runoob.com 以及 Python教程 - 廖雪峰的官方网站 。笔记主要记录了在学习过程中我觉得重要且值得探索的特性,所以该笔记无法作为一份入门教程而存在,希望以后可以通过它唤醒我们的脑海中关于python

《Sonny's python》之 协程


学习了生成器以后(额…如果你还没学习,请速速去学😝),我们就可以开始学习什么是协程了。要分清二者的联系去差别😯 —— 松言松෾

《Sonny's python》第二部分 私有方法


认为python的私有方法是一种“伪私有”,因为它并不是在语言层面提供支持。而是采用了一种巧妙的方式让不该被看见的“隐藏”起来,但实际上我们是可以通过特殊手段突破其限制。 私有方法 在Java中,表示私有一般有 private/protected/public来表示方法或者变量的可见范围。 pyth

《Sonny's python》之 生成器


你还在为数据生成逻辑和数据的消费逻辑难以分离而苦恼嘛?你还在为生成大量数据而担心内存不足嘛?来用python吧 —— 松言松语 生成器 从迭代器(Iterator)中循环遍历取出元素来处理,叫做迭代。在python中,定义了__next__方法的类,就是一个迭代器。 生成器,是数据的生产者。先说下使

《Sonny's python》之 装饰器


我没有学过太多语言,所以python的装饰器是我见过的最灵活的。—— 松言松语 装饰器 装饰器的前提 顾名思义,装饰类就是用一个装饰函数a来修饰另外一个函数b,使得函数b的功能得到增强。 在java(编译型语言)中,增强一个函数可以通过AOP实现,有两种方式: 1. 编译期,是通过修改字节码实现,如

《Sonny's python》之 *args和**kwargs


args和*kwargs 首先,*args和 **kwargs 的命名是可以任意的,也可以随便叫\*vars 或者 \*kws。 *args 就是可变参数罢了,它以一个数组的形式对外呈现。 定义函数的时候,如果不想指定参数的数量,就可以用\*args来替代。 def print_numbers(*a

Mysql 5.7.28 安装手册


版本 这里安装的是Mysql5.7.28,不同版本的Mysql安装方式可能略有不同。 创建相关文件夹 mkdir -p /usr/local/mysql/data 其中, /usr/local/mysql 用作mysql的安装主文件夹,就mysql的基本工具、类库都在这里面 /usr/local/

关于Redis不得不说的那些事


概述 什么是缓存 源头:磁盘IO,超慢! 内存分配、寻址、持久化,都影响到了响应时间,进而响应吞吐量 系统性能要求,用户体验要求 吞吐量、响应时间等。 CPU怎么做 划分出一块高速缓存,用于存储即将、可能用到的数据,用于数据的高速交换。 重点 缓存是数据的冗余 空间换时间 追求速度和吞吐量 缓存的分

Mysql索引的原理,我就会这么多!


1 查询过程 查询可以分为逻辑查询和物理查询。 逻辑查询 sql不像其他语言,sql执行不一定是按照顺序执行的。 对于一条查询语句而言,每一个关键字都有自己的逻辑执行顺序。 如下面的sql语句: <7> select <8> d