10 2020 档案

摘要:Redisson、Jedis、lettuce 等等,官方推荐使用 Redisson。 阅读全文
posted @ 2020-10-30 19:34 咔啡 阅读(341) 评论(0) 推荐(0)
摘要:HQL功能很强大,适合各种情况,但是动态条件查询构造起来很不方便; Criteria 最适合动态查询,但不太适合统计查询,QBE还不够强大.只适合简单的查询; Native-SQL可以实现特定的数据库的SQL,但是可移植性并不好。 如大部分查询都是动态条件查询,首先criteria,甚至使用Hibe 阅读全文
posted @ 2020-10-30 19:02 咔啡 阅读(121) 评论(0) 推荐(0)
摘要:大体上,对于HIBERNATE性能调优的主要考虑点如下: l 数据库设计调整 l HQL优化 l API的正确使用(如根据不同的业务类型选用不同的集合及查询API) l 主配置参数(日志,查询缓存,fetch_size, batch_size等) l 映射文件优化(ID生成策略,二级缓存,延迟加载, 阅读全文
posted @ 2020-10-30 18:43 咔啡 阅读(312) 评论(0) 推荐(0)
摘要:工作原理:JAVA EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空 阅读全文
posted @ 2020-10-30 18:40 咔啡 阅读(170) 评论(0) 推荐(0)
摘要:ORM的全称是Object-Relational Mapping,即对象关系映射。ORM思想的提出来源于对象与关系之间相悖的特性。我们很难通过对象的继承与聚合关系来描述数据表中一对一、一对多以及多对多的关系。而面向对象思想中有关抽象与多态的原理,也无法通过关系数据库的SQL语句得以彰显。因此,我们需 阅读全文
posted @ 2020-10-30 18:37 咔啡 阅读(721) 评论(0) 推荐(0)
摘要:SQL 标准定义的四个隔离级别为: 1、read uncommited :读到未提交数据 2、read committed:脏读,不可重复读 3、repeatable read:可重读 4、serializable :串行事物 阅读全文
posted @ 2020-10-30 18:19 咔啡 阅读(178) 评论(0) 推荐(0)
摘要:1)、Redis Sentinal 着眼于高可用,在 master 宕机时会自动将 slave 提升为 master,继续提供服务。 2)、Redis Cluster 着眼于扩展性,在单个 redis 内存不足时,使用 Cluster 进行 分片存储。 阅读全文
posted @ 2020-10-30 18:15 咔啡 阅读(105) 评论(0) 推荐(0)
摘要:MySQL 服务器通过权限表来控制用户对数据库的访问,权限表存放在 MySQL 数 据库里,由 MySQL_install_db 脚本初始化。这些权限表分别 user,db,table_priv,columns_priv 和 host。 阅读全文
posted @ 2020-10-30 18:13 咔啡 阅读(311) 评论(0) 推荐(0)
摘要:每个 MyISAM 表格以三种格式存储在磁盘上: ·“.frm”文件存储表定义 ·数据文件具有“.MYD”(MYData)扩展名 索引文件具有“.MYI”(MYIndex)扩展名 阅读全文
posted @ 2020-10-30 18:12 咔啡 阅读(249) 评论(0) 推荐(0)
摘要:Spring是一个轻量级的容器,非侵入性的框架.最重要的核心概念是IOC,并提供AOP概念的实现方式,提供对持久层,事务的支持,对当前流行的一些框架(Struts,Hibernate,MVC),Sping也提供了与它们的相整合的方案.使用Spring,我们能够减少类之间的依赖性和程序之间的耦合度,最 阅读全文
posted @ 2020-10-29 19:14 咔啡 阅读(124) 评论(0) 推荐(0)
摘要:面试官:想了解你对基础概念的认知。 解答:通俗解释一下就可以。 传统的我们的检索是通过文章,逐个遍历找到对应关键词的位置。 而倒排索引,是通过分词策略,形成了词和文章的映射关系表,这种词典+映射表 即为倒排索引。 有了倒排索引,就能实现 o(1)时间复杂度的效率检索文章了,极大的提高了 检索效率。 阅读全文
posted @ 2020-10-29 19:08 咔啡 阅读(169) 评论(0) 推荐(0)
摘要:表格的每一行都由主键唯一标识,一个表只有一个主键。 主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键 引用。 阅读全文
posted @ 2020-10-29 17:11 咔啡 阅读(861) 评论(0) 推荐(0)
摘要:在缺省模式下,MySQL 是 autocommit 模式的,所有的数据库更新操作都会即时 提交,所以在缺省情况下,MySQL 是不支持事务的。 但是如果你的 MySQL 表类型是使用 InnoDB Tables 或 BDB tables 的话,你的 MySQL 就可以使用事务处理,使用 SET AU 阅读全文
posted @ 2020-10-29 14:42 咔啡 阅读(182) 评论(0) 推荐(0)
摘要:任何标准表最多可以创建 16 个索引列。 阅读全文
posted @ 2020-10-29 14:24 咔啡 阅读(135) 评论(0) 推荐(0)
摘要:%对应于 0 个或更多字符,_只是 LIKE 语句中的一个字符。 如何在 Unix 和 MySQL 时间戳之间进行转换? UNIX_TIMESTAMP 是从 MySQL 时间戳转换为 Unix 时间戳的命令 FROM_UNIXTIME 是从 Unix 时间戳转换为 MySQL 时间戳的命令 阅读全文
posted @ 2020-10-29 14:18 咔啡 阅读(704) 评论(0) 推荐(0)
摘要:1、CONCAT(A, B) – 连接两个字符串值以创建单个字符串输出。通常用于将两个 或多个字段合并为一个字段。 2、FORMAT(X, D)- 格式化数字 X 到 D 有效数字。 3、CURRDATE(), CURRTIME()- 返回当前日期或时间。 4、NOW() – 将当前日期和时间作为一 阅读全文
posted @ 2020-10-29 14:15 咔啡 阅读(78) 评论(0) 推荐(0)
摘要:共有 5 种类型的表格: 1、MyISAM 2、Heap 3、Merge 4、INNODB 5、ISAM 阅读全文
posted @ 2020-10-29 14:02 咔啡 阅读(432) 评论(0) 推荐(0)
摘要:如果大量的 key 过期时间设置的过于集中,到过期的那个时间点,redis 可能 会出现短暂的卡顿现象。一般需要在时间上加一个随机值,使得过期时间分散一 些。 阅读全文
posted @ 2020-10-29 13:53 咔啡 阅读(246) 评论(0) 推荐(0)
摘要:Redis 可以使用主从同步,从从同步。第一次同步时,主节点做一次 bgsave, 并同时将后续修改操作记录到内存 buffer,待完成后将 rdb 文件全量同步到复制 节点,复制节点接受完成后将 rdb 镜像加载到内存。加载完成后,再通知主节点 将期间修改的操作记录同步到复制节点进行重放就完成了同 阅读全文
posted @ 2020-10-29 13:47 咔啡 阅读(591) 评论(0) 推荐(0)
摘要:B+树,经过优化的 B+树 主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此 InnoDB 建 议为大部分表使用默认自增的主键作为主索引。 阅读全文
posted @ 2020-10-29 13:02 咔啡 阅读(152) 评论(0) 推荐(0)
摘要:阻塞式方法是指程序会一直等待该方法完成期间不做其他事情,ServerSocket 的 accept()方法就是一直等待客户端连接。这里的阻塞是指调用结果返回之前,当前 线程会被挂起,直到得到结果之后才会返回。此外,还有异步和非阻塞式方法在 任务完成前就返回。 阅读全文
posted @ 2020-10-29 12:40 咔啡 阅读(207) 评论(0) 推荐(0)
摘要:索引是一种特殊的文件(InnoDB 数据表上的索引是表空间的一个组成部分),它们 包含着对数据表里所有记录的引用指针。 普通索引(由关键字 KEY 或 INDEX 定义的索引)的唯一任务是加快对数据的访问速 度。 普通索引允许被索引的数据列包含重复的值。如果能确定某个数据列将只包含彼 此各不相同的值 阅读全文
posted @ 2020-10-29 11:15 咔啡 阅读(298) 评论(0) 推荐(0)
摘要:在 java.lang.Thread 中有一个方法叫 holdsLock(),它返回 true 如果当且仅当当 前线程拥有某个具体对象的锁。 阅读全文
posted @ 2020-10-29 10:13 咔啡 阅读(179) 评论(0) 推荐(0)
摘要:每当行被更改时,时间戳字段将获取当前时间戳。 列设置为 AUTO INCREMENT 时,如果在表中达到最大值,会发生什么情况? 它会停止递增,任何进一步的插入都将产生错误,因为密钥已被使用。 怎样才能找出最后一次插入时分配了哪个自动增量? LAST_INSERT_ID 将返回由 Auto_incr 阅读全文
posted @ 2020-10-29 10:12 咔啡 阅读(237) 评论(0) 推荐(0)
摘要:XML DTD(功能有限) XML Schema (功能强大) Schema本身是XML的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的),Schema支持命名空间,Schema支持数据类型,并且支持自定义数据类型,功能更完善,更强大,提供了无限的可扩展性。而且Schema是W 阅读全文
posted @ 2020-10-28 19:40 咔啡 阅读(202) 评论(0) 推荐(0)
摘要:处于等待状态的线程可能会收到错误警报和伪唤醒,如果不在循环中检查等待条件,程序就会在没有满足结束条件的情况下退出。 阅读全文
posted @ 2020-10-28 19:38 咔啡 阅读(89) 评论(0) 推荐(0)
摘要:先说什么是交叉连接: 交叉连接又叫笛卡尔积,它是指不使用任何条件,直接将一 个表的所有记录和另一个表中的所有记录一一匹配。 内连接 则是只有条件的交叉连接,根据某个条件筛选出符合条件的记录,不符合 条件的记录不会出现在结果集中,即内连接只连接匹配的行。 外连接 其结果集中不仅包含符合连接条件的行,而 阅读全文
posted @ 2020-10-28 19:37 咔啡 阅读(1308) 评论(0) 推荐(0)
摘要:同步集合与并发集合都为多线程和并发提供了合适的线程安全的集合,不过并发集合的可扩展性更高。在 Java1.5 之前程序员们只有同步集合来用且在多线程并发的时候会导致争用,阻碍了系统的扩展性。Java5 介绍了并发集合像ConcurrentHashMap,不仅提供线程安全还用锁分离和内部分区等现代技术 阅读全文
posted @ 2020-10-27 10:45 咔啡 阅读(245) 评论(0) 推荐(0)
摘要:线程安全是编程中的术语,指某个函数、函数库在多线程环境中被调用时,能够 正确地处理多个线程之间的共享变量,使程序功能正确完成。 Servlet 不是线程安全的,servlet 是单实例多线程的,当多个线程同时访问同一个 方法,是不能保证共享变量的线程安全性的。 Struts2 的 action 是多 阅读全文
posted @ 2020-10-27 10:43 咔啡 阅读(140) 评论(0) 推荐(0)
摘要:面试官:想了解 ES 集群的底层原理,不再只关注业务层面了。 前置前提: 1、只有候选主节点(master:true)的节点才能成为主节点。 2、最小主节点数(min_master_nodes)的目的是防止脑裂。 这个我看了各种网上分析的版本和源码分析的书籍,云里雾里。 核对了一下代码,核心入口为  阅读全文
posted @ 2020-10-21 14:08 咔啡 阅读(418) 评论(0) 推荐(0)
摘要:SQL 注入产生的原因:程序开发过程中不注意规范书写 sql 语句和对特殊字符进 行过滤,导致客户端可以通过全局变量 POST 和 GET 提交一些 sql 语句正常执行。 防止 SQL 注入的方式: 开启配置文件中的 magic_quotes_gpc 和 magic_quotes_runtime 阅读全文
posted @ 2020-10-21 13:52 咔啡 阅读(199) 评论(0) 推荐(0)
摘要:最好是按照以下顺序优化: 1、SQL 语句及索引的优化 2、数据库表结构的优化 3、系统配置的优化 4、硬件的优化 详细可以查看 阿里 P8 架构师谈:MySQL 慢查询优化、索引优化、以及表等优化 阅读全文
posted @ 2020-10-14 12:56 咔啡 阅读(107) 评论(0) 推荐(0)
摘要:构造器依赖注入: 构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖。 Setter方法注入: Setter方法注入是容器通过调用无参构造器或无参static工厂 方法实例化bean之后,调用该bean的setter方法,即实现了基于setter的依赖 阅读全文
posted @ 2020-10-14 12:52 咔啡 阅读(327) 评论(0) 推荐(0)
摘要:1、调用 getData()/getChildren()/exist()三个 API,传入 Watcher 对象 2、标记请求 request,封装 Watcher 到 WatchRegistration 3、封装成 Packet 对象,发服务端发送 request 4、收到服务端响应后,将 Wat 阅读全文
posted @ 2020-10-13 20:05 咔啡 阅读(120) 评论(0) 推荐(0)
摘要:1、文件系统 2、通知机制 阅读全文
posted @ 2020-10-13 18:51 咔啡 阅读(98) 评论(0) 推荐(0)
摘要:在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他的机 器可以共享这个结果,这样可以大大减少重复计算,提高性能,于是就需要进行 leader 选举。 阅读全文
posted @ 2020-10-13 17:49 咔啡 阅读(166) 评论(0) 推荐(0)
摘要:采用时间片轮转的方式。可以设置线程的优先级,会映射到下层的系统上面的优 先级上,如非特别需要,尽量不要用,防止线程饥饿。 阅读全文
posted @ 2020-10-13 17:29 咔啡 阅读(122) 评论(0) 推荐(0)
摘要:Executors 工具类的不同方法按照我们的需求创建了不同的线程池,来满足业务 的需求。 Executor 接口对象能执行我们的线程任务。 ExecutorService 接口继承了 Executor 接口并进行了扩展,提供了更多的方法我 们能获得任务执行的状态并且可以获取任务的返回值。 使用 T 阅读全文
posted @ 2020-10-13 17:28 咔啡 阅读(230) 评论(0) 推荐(0)
摘要:每次执行任务创建线程 new Thread()比较消耗性能,创建一个线程是比较耗时、 耗资源的。 调用 new Thread()创建的线程缺乏管理,被称为野线程,而且可以无限制的创建, 线程之间的相互竞争会导致过多占用系统资源而导致系统瘫痪,还有线程之间的 频繁交替也会消耗很多系统资源。 接使用 n 阅读全文
posted @ 2020-10-13 17:26 咔啡 阅读(211) 评论(0) 推荐(0)
摘要:线程组和线程池是两个不同的概念,他们的作用完全不同,前者是为了方便线程 的管理,后者是为了管理线程的生命周期,复用线程,减少创建销毁线程的开销。 阅读全文
posted @ 2020-10-13 17:24 咔啡 阅读(265) 评论(0) 推荐(0)
摘要:在使用微服务时,由于有多个微服务协同工作,测试变得非常复杂。因此,测试 分为不同的级别。 在底层,我们有面向技术的测试,如单元测试和性能测试。这些是完全自 动化的。 在中间层面,我们进行了诸如压力测试和可用性测试之类的探索性测试。 在顶层, 我们的 验收测试数量很少。这些验收测试有助于利益相关者理 阅读全文
posted @ 2020-10-13 17:07 咔啡 阅读(199) 评论(0) 推荐(0)
摘要:1、Mapper 接口方法名和 mapper.xml 中定义的每个 sql 的 id 相同; 2、Mapper 接口方法的输入参数类型和 mapper.xml 中定义的每个 sql 的 parameterType 的类型相同; 3、Mapper 接口方法的输出参数类型和 mapper.xml 中定义 阅读全文
posted @ 2020-10-13 10:44 咔啡 阅读(502) 评论(0) 推荐(1)
摘要:Hibernate 属于全自动 ORM 映射工具,使用 Hibernate 查询关联对象或者关联 集合对象时,可以根据对象关系模型直接获取,所以它是全自动的。而 Mybatis 在查询关联对象或关联集合对象时,需要手动编写 sql 来完成,所以,称之为半自 动 ORM 映射工具。 阅读全文
posted @ 2020-10-13 10:34 咔啡 阅读(213) 评论(0) 推荐(0)
摘要:分桶策略:将类似的会话放在同一区块中进行管理,以便于 Zookeeper 对会话进 行不同区块的隔离处理以及同一区块的统一处理。 分配原则:每个会话的“下次超时时间点”(ExpirationTime) 计算公式: ExpirationTime_ = currentTime + sessionTime 阅读全文
posted @ 2020-10-13 10:25 咔啡 阅读(83) 评论(0) 推荐(0)
摘要:CopyOnWriteArrayList(免锁容器)的好处之一是当多个迭代器同时遍历和修改这 个列表时,不会抛出 ConcurrentModificationException。在 CopyOnWriteArrayList 中,写入将导致创建整个底层数组的副本,而源数组将保 留在原地,使得复制的数组 阅读全文
posted @ 2020-10-13 10:06 咔啡 阅读(391) 评论(0) 推荐(0)
摘要:所谓后台(daemon)线程,是指在程序运行的时候在后台提供一种通用服务的线 程,并且这个线程并不属于程序中不可或缺的部分。因此,当所有的非后台线程 结束时,程序也就终止了,同时会杀死进程中的所有后台线程。反过来说, 只要有任何非后台线程还在运行,程序就不会终止。必须在线程启动之前调用 setDae 阅读全文
posted @ 2020-10-11 20:54 咔啡 阅读(404) 评论(0) 推荐(0)
摘要:zk 的负载均衡是可以调控,nginx 只是能调权重,其他需要可控的都需要自己写 插件;但是 nginx 的吞吐量比 zk 大很多,应该说按业务选择用哪种方式。 阅读全文
posted @ 2020-10-11 14:11 咔啡 阅读(543) 评论(0) 推荐(0)
摘要:举例来说明锁的可重入性 public class UnReentrant{ Lock lock = new Lock(); public void outer(){ lock.lock(); inner(); lock.unlock(); } public void inner(){ lock.lo 阅读全文
posted @ 2020-10-11 13:44 咔啡 阅读(804) 评论(0) 推荐(0)
摘要:相对于XML文件,注解型的配置依赖于通过字节码元数据装配组件,而非尖括号的声明。 开发者通过在相应的类,方法或属性上使用注解的方式,直接组件类中进行配置,而不是使用xml表述bean的装配关系。 阅读全文
posted @ 2020-10-11 12:49 咔啡 阅读(117) 评论(0) 推荐(0)
摘要:如果异常没有被捕获该线程将会停止执行。Thread.UncaughtExceptionHandler 是用于处理未捕获异常造成线程突然中断情况的一个内嵌接口。当一个未捕获异 常将造成线程中断的时候 JVM 会使用 Thread.getUncaughtExceptionHandler() 来查询线程的 阅读全文
posted @ 2020-10-11 12:44 咔啡 阅读(243) 评论(0) 推荐(0)
摘要:在 Java 发展史上曾经使用 suspend()、resume()方法对于线程进行阻塞唤醒,但 随之出现很多问题,比较典型的还是死锁问题。 解决方案可以使用以对象为目标的阻塞,即利用 Object 类的 wait()和 notify()方 法实现线程阻塞。 首先,wait、notify 方法是针对 阅读全文
posted @ 2020-10-11 12:34 咔啡 阅读(328) 评论(0) 推荐(0)
摘要:一个很明显的原因是 JAVA 提供的锁是对象级的而不是线程级的,每个对象都有 锁,通过线程获得。由于 wait,notify 和 notifyAll 都是锁级别的操作,所以把他 们定义在 Object 类中因为锁属于对象。 阅读全文
posted @ 2020-10-11 12:14 咔啡 阅读(273) 评论(0) 推荐(0)
摘要:notify() 方法不能唤醒某个具体的线程,所以只有一个线程在等待的时候它才有 用武之地。而 notifyAll()唤醒所有线程并允许他们争夺锁确保了至少有一个线程 能继续运行。 阅读全文
posted @ 2020-10-11 12:09 咔啡 阅读(125) 评论(0) 推荐(0)
摘要:在测试目标只关注 Spring MVC 组件的情况下,WebMvcTest 注释用于单元测试 Spring MVC 应用程序。在上面显示的快照中,我们只想启动 ToTestController。 执行此单元测试时,不会启动所有其他控制器和映射。 阅读全文
posted @ 2020-10-11 11:58 咔啡 阅读(538) 评论(0) 推荐(0)
摘要:继承 Thread 类 实现 Runnable 接口 实现 Callable 接口,需要实现的是 call() 方法 阅读全文
posted @ 2020-10-11 11:57 咔啡 阅读(118) 评论(0) 推荐(0)
摘要:AOP为Aspect Oriented Programming的缩写,意为:面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。 AOP是目前软件开发中的一个热点,也是Spring框架中的一个重要内容。利用AOP可以对业务逻辑的 阅读全文
posted @ 2020-10-10 20:51 咔啡 阅读(322) 评论(0) 推荐(0)
摘要:当多个进程都企图对共享数据进行某种处理,而最后的结果又取决于进程运行的 顺序时,则我们认为这发生了竞争条件(race condition)。 阅读全文
posted @ 2020-10-10 20:36 咔啡 阅读(346) 评论(0) 推荐(0)
摘要:Mybatis 使用 RowBounds 对象进行分页,它是针对 ResultSet 结果集执行的内 存分页,而非物理分页。可以在 sql 内直接书写带有物理分页的参数来完成物理分 页功能,也可以使用分页插件来完成物理分页。 分页插件的基本原理是使用 Mybatis 提供的插件接口,实现自定义插件, 阅读全文
posted @ 2020-10-10 18:24 咔啡 阅读(1395) 评论(0) 推荐(0)
摘要:当一个线程进入 wait 之后,就必须等其他线程 notify/notifyall,使用 notifyall,可 以唤醒所有处于 wait 状态的线程,使其重新进入锁的争夺队列中,而 notify 只能 唤醒一个。 如果没把握,建议 notifyAll,防止 notigy 因为信号丢失而造成程序异常 阅读全文
posted @ 2020-10-10 18:18 咔啡 阅读(188) 评论(0) 推荐(0)
摘要:客户端 SendThread 线程接收事件通知,交由 EventThread 线程回调 Watcher。 客户端的 Watcher 机制同样是一次性的,一旦被触发后,该 Watcher 就失效了。 阅读全文
posted @ 2020-10-10 17:27 咔啡 阅读(83) 评论(0) 推荐(0)
摘要:在上下文切换过程中,CPU 会停止处理当前运行的程序,并保存当前程序运行的 具体位置以便之后继续运行。从这个角度来看,上下文切换有点像我们同时阅读 几本书,在来回切换书本的同时我们需要记住每本书当前读到的页码。在程序中, 上下文切换过程中的“页码”信息是保存在进程控制块(PCB)中的。PCB 还经 阅读全文
posted @ 2020-10-09 12:48 咔啡 阅读(499) 评论(0) 推荐(0)
摘要:Lock 接口比同步方法和同步块提供了更具扩展性的锁操作。 他们允许更灵活的结构,可以具有完全不同的性质,并且可以支持多个相关类的 条件对象。 它的优势有: 可以使锁更公平 可以使线程在等待锁的时候响应中断 可以让线程尝试获取锁,并在无法获取锁的时候立即返回或者等待一段时间 可以在不同的范围,以不同 阅读全文
posted @ 2020-10-09 12:32 咔啡 阅读(188) 评论(0) 推荐(0)
摘要:有DOM、SAX等。 DOM:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种标准方式。 DOM中的核心概念就是节点。DOM在分析XML文档时,将组成XML文档的各个部分(元素、属性、文本、注释和处理指令等)映射成一个对象,这个对象就叫做节 阅读全文
posted @ 2020-10-09 12:10 咔啡 阅读(499) 评论(0) 推荐(0)
摘要:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。 瞬时态:没有持久化标示符,数据库中无对应记录。当执行save和persist方法 阅读全文
posted @ 2020-10-09 12:06 咔啡 阅读(168) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示