- 对称二叉树 二叉树的最大深度 二叉树的最小深度
默默修炼的小趴菜
算法数据结构
1.给定一个二叉树,检查它是否是镜像对称的。#includeusingnamespacestd;structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx){val=x;left=NULL;right=NULL;}};boolcompare(TreeNode*left,TreeNode*right){if(left==NULL&
- appium入坑必备--详解uiautomator2,让你摆脱usb_appium uiautomator2
weixin_45933550
appiumjavapython
APP元素定位+基本工具介绍万字详解基本操作uc-devtools与Airtest工具使用目录UiAutomatorUiautomator2环境搭建常用操作连接设备Wifi连接USB连接定位工具定位元素启动应用停止应用查包名定位方式ResourceId定位Text定位Description定位ClassName定位xpath定位坐标定位重复元素定位截图文件推送与拉取常用鼠标操作滑动屏幕解锁屏幕获取
- 本地正常但是线上/测试环境报错MethodArgumentTypeMismatchException异常
王德印
后端Java开发问题总结springmvcspringboot异常后端前后端报错java
目录背景原因问题分析解决方案背景报错如下:org.springframework.web.method.annotation.MethodArgumentTypeMismatchException:Failedtoconvertvalueoftype'java.lang.String'torequiredtype'java.lang.Long';nestedexceptionisjava.lang
- Django+Vue+ElementUI父子组件参数传递?子组件数据变化兄弟组件实现联动?多个表单同时校验?内置事件添加自定义回调参数?等问题的解决办法
JamesDanni
vue.js前端javascript
目录前言:问题列表:1.父组件向子组件传递参数值2.子组件向父组件传递参数值3.子组件的值变化,触发其他子组件请求接口4.同一个页面有多个表单进行同时验证5.给elementui定义好的事件并且带默认参数的事件增加自定义参数问题解决:1.父组件向子组件传递参数值2.子组件向父组件传递参数值3.子组件的值变化,触发其他子组件请求接口4.同一个页面有多个表单进行同时验证5.给elementui定义好的
- 二十二、QT记事本
辰卓
qt开发语言c++
1.项目概述1.1功能介绍支持文本创建,打开,保存,关闭的功能UI样式美化添加打开快捷键,添加保存快捷底部显示行列号及文本字符编码Ctrl加鼠标滚轮支持字体放大缩小1.2界面预览2.3工程概述MainWindows还是Widget在Qt中,创建"MainWindow"与"Widget"项目的主要区别在于他们的用途和功能范围:1.MainWindow:这是一个包含完整菜单栏、工具栏和状态栏的主窗口应
- python爬虫遇到IP被封的情况,怎么办?(2)
2301_82242251
程序员python爬虫开发语言
代理的设置:①urllib的代理设置fromurllib.errorimportURLErrorfromurllib.requestimportProxyHandler,build_opener‘’’更多Python学习资料以及源码教程资料,可以在群1136201545免费获取‘’’proxy=‘127.0.0.1:8888’#需要认证的代理#proxy=‘username:password@12
- iOS 侧滑返回手势与Scrollview冲突的解决办法
李绿箩
iOSgit
网络上找到解决办法会影响到系统tableview和collectionview的滚动,故做一下优化uiscrollview里面实现://是否支持多手势触发,返回YES,则可以多个手势一起触发方法,返回NO则为互斥.//是否允许多个手势识别器共同识别,一个控件的手势识别后是否阻断手势识别继续向下传播,默认返回NO;如果为YES,响应者链上层对象触发手势识别后,如果下层对象也添加了手势并成功识别也会继
- Spring Boot
Bromide-0
#Spring框架springbootjava
文章目录1.关于SpringBoot2.创建SpringBoot工程3.SpringBoot工程的结构4.在SpringBoot工程中使用Mybatis5.关于Profile配置6.关于YAML配置7.使用Druid数据库连接池8.编写持久层(数据访问层)代码9.关于业务逻辑层(Service层)10.使用Lombok框架11.Slf4j日志框架12.密码加密13.控制器层开发14.Validat
- spring boot整合swagger添加token
null-脑袋大
springbootjava
第一种:importio.swagger.annotations.Api;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importspringfox.documentation.builders.ApiInfoBuilder;
- logger入门(基于Python3)
弱冠少年
android
目录简介核心优势基础用法常用配置与标准库logging对比简介在Python中,fromloguruimportlogger是用于导入Loguru库的核心日志记录工具logger。Loguru是一个第三方日志库,旨在简化Python日志记录(相比标准库logging更简洁易用),提供开箱即用的功能,如彩色输出、文件轮转、异常自动捕获等。核心优势基础用法直接记录日志fromloguruimportl
- 2025最全 Java 面试八股文(持续更新)
关注我学java
java面试开发语言
Java面试Java面试随着时间的改变而改变。在过去的日子里,当你知道String和StringBuilder的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入。在我初入职场的时候,类似于Vector与Array的区别、HashMap与Hashtable的区别是最流行的问题,只需要记住它们,就能在面试中获得更好的机会,但这种情形已经不复存在。如今,你将会被问到许多
- Android逆向(Xposed配置)
奶龙牛牛
android
settings.gradle1.settings.gradlevs.build.gradle文件作用settings.gradle管理整个Gradle项目(包括多模块)build.gradle管理单个模块的构建(比如依赖、插件)重点:settings.gradle负责全局配置,比如项目名称、多模块、仓库地址等。build.gradle负责每个模块的构建配置,比如Java版本、依赖项等。//Gra
- LVGL的学习笔记第一章
期待的是什么
LVGL学习
1.屏幕对象的创建过程lv_init_lv_ll_init(&LV_GC_ROOT(_lv_disp_ll),sizeof(lv_disp_t));//注册初始化显示器链表lv_disp_drv_register_lv_ll_ins_head(&LV_GC_ROOT(_lv_disp_ll));//注册显示器到链表disp->act_src=lv_obj_create(NULL);//在显示器上创
- 给AI编程泼一盆冷水
大囚长
大模型编程人生AI编程
AI确实扩大了普通人的能力边界,但是如果你连自己想要什么都描述不清楚,更不知道AI干了什么,你最好停下来认真的学习一下。AI并没有消除认知差距,而是让人与人的认知差距急剧拉大了。一、效率提升与隐性成本的博弈AI编程工具如Cursor和Trae通过代码自动补全、跨文件生成等功能显著提升了开发效率。例如,Trae的Builder模式可自主拆解需求并完成多轮编码任务,使项目启动时间缩短60%以上。然而,
- 鸿蒙 HarmonyOS 开发问题
piggy514
harmonyos华为
Q001:文档问题-开启开发者模式文档中心https://developer.huawei.com/consumer/cn/doc/quickApp-Guides/quickapp-open-developer-option-0000001137005543实际上文档描述错误:连续多次点击“Harmony版本”无效A001:应为:连续多次点击“软件版本”Q002:真机调试-签名问题InstallF
- 解决问题:Android Studio启动不了
piggy514
androidstudioandroidide
1、启动不了之前的操作:build报错的提示的都是乱码,于是网上搜了下,去菜单Help>EditCustomVMoptions此时AS打开了AS安装目录下bin/studio64.exe.vmoptions这个文件根据网上说法在里边加一句-Dfile.encoding=UTF-8即可,于是加了,结果AS闪退。再也启动不了,重启电脑后也不行,重新安装也不行。看来有时不要轻信网上操作。怎么解决乱码问题
- C++,设计模式,【抽象工厂模式】
智驾
C/C++c++设计模式抽象工厂模式
文章目录C++设计模式:用“抽象工厂模式”打造你的万能工厂一、从早餐店说起:什么是抽象工厂?二、工厂模式的升级版:抽象工厂vs简单工厂1.简单工厂(小作坊)2.抽象工厂(连锁集团)三、游戏开发实战:跨平台UI组件1.定义抽象产品族2.实现具体产品(Windows风格)3.实现具体产品(Mac风格)4.抽象工厂接口5.具体工厂实现6.客户端使用四、抽象工厂的精髓1.四大角色2.优势所在3.适用场景五
- Prompt优化 COT/COD
陌陌623
prompt人工智能
文章目录基本的方法论框架COT/CODCOT/COD对比其他优化点1.示例引导与少样本学习2.角色设定与背景引导3.任务分解与步骤引导基本的方法论框架基础要素:指令、背景信息、补充数据(要求)、输出格式、(其他限制条件)有时背景信息较长,限制信息可能会失效,可以最后再写一个限制信息。例如:大模型用来画思维导图指令:帮我写一个模型训练的思维导图。背景信息:千帆ModelBuilder训练流程为框架。
- c语言程序设计---(动态内存分配)考研复试面试问答
眼镜蛇学习编程
c语言考研开发语言
动态内存分配1、malloc函数2、calloc函数3、realloc函数4、常见的动态内存错误动态内存分配1、malloc函数C语言提供了一个动态内存开辟的函数:void*malloc(size_tsize);这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个null指针。因此malloc函数的返回值一定要给做检
- Windows11下清理Docker Desktop与wsl的C盘空间占用_wsl清理缓存(1)
m0_60607675
2024年程序员学习docker缓存容器
//【数据卷的磁盘占用】//2-删除不再使用的数据卷dockervolumeprune或者dockervolumerm$(dockervolumels-q)//【BuildCache的磁盘占用】//3-删除buildcache磁盘占用dockerbuilderprune//【4-一键清理】dockersystemprune。RECLAIMABLE:可回收大小。//【镜像的磁盘占用】//列出所有悬挂状态的镜像:d
- python,pycharm,pytorch,向量数据库,环境搭建记录
dept123
pythonpycharmpytorch向量数据库
修改ubuntu上的pycharm镜像源,详细步骤-腾讯云开发者社区-腾讯云【超详细教程】2024最新Pytorch安装教程(同时讲解安装CPU和GPU版本)-CSDN博客https://zhuanlan.zhihu.com/p/667447891Quickstart|MilvusDocumentation
- Windows 如何卸载 Docker
KaedaRukawa
调试容器运维windowsdocker
在卸载Docker之前,请确保系统上没有运行任何容器。运行以下cmdlet,检查是否有正在运行的容器:PowerShell#Leaveswarmmode(thiswillautomaticallystopandremoveservicesandoverlaynetworks)dockerswarmleave--force#Stopallrunningcontainersdockerps--quie
- 為何要部署VM在服務器
蠟筆小新工程師
VM
在服務器上部署虛擬機(VM)有以下幾個主要原因:使用VMwareESXi使用MicrosoftHyper-V使用Docker(輕量虛擬化)如果是容器化應用而非完整VM,可以使用Docker:2.MicrosoftHyper-V(Hyper-VManager界面)在WindowsServer的Hyper-VManager中,您可以:3.KVM(Virt-ManagerGUI工具)如果使用的是KVM並
- 实现预约会见应用鸿蒙示例代码
本文原创发布在华为开发者社区。介绍本示例是对标预约会见类产品,以此开发的行业通用Demo,实现基础的注册、登录、一二级页面布局参考等功能,工程以feature方式进行模块化设计。本示例是使用ArkTS编写的预约会见类产品UI页面,方便开发者后续进行进一步开发。实现预约会见应用源码链接效果预览使用说明打开应用后,用户可以根据需求查看应用。开发者可以根据此示例后续进行进一步开发。实现思路进入页面后进入
- linux的 DBI/DBD 标准化安装文档
linux
一、安装DBIDBI(DatabaseInterface)是perl连接数据库的接口。其是perl连接数据库的最优方法,他支持包括Orcale,Sybase,mysql,db2等绝大多数的数据库,下面将简要介绍其安装方法。1.1解压tar-zxvfDBI-1.616_901.tar.gz1.2安装依赖yuminstallperl-ExtUtils-CBuilderperl-ExtUtils-Mak
- ida调试linux程序,MAC使用IDA PRO远程调试LINUX程序
O超哥
ida调试linux程序
1背景在学习Linux系统上的一些漏洞知识的时候,往往需要进行“实地测试”,但是在Linux系统上进行调试并不太方便,因为LINUX自带的GDB调试工具真的不太人性化,即使有GDBTUI之类的“伪图形界面调试器”,也跟IDAPRO之类的调试器相差甚远。这里又遇到另一个问题了——LINUX平台的IDAPRO不太好找。综上,对于初学者而言最佳方案就是使用IDAPRO的远程调试功能!2环境配置本文主要说
- TouchGFX之MVP
Stone_lu。
STM32arm开发
TouchGFX用户接口遵循Model-View-Presenter(MVP)架构模式,它是Model-View-Controller(MVC)模式的派生模式。两者都广泛用于构建用户接口应用。MVP模式的主要优势是:关注点分离:将代码分成不同的部分提供,每部分有自己的任务。这使得代码更简单、可重复使用性更高且更易于维护。单元测试:由于UI的逻辑(Presenter)独立于视图(View),因此,单
- 鸿蒙开发-一多开发之断点布局
川石教育
鸿蒙开发harmonyos鸿蒙开发鸿蒙课程培训鸿蒙开发培训鸿蒙开发教程
在HarmonyOS的ArkTS语法中,断点布局是一种用于响应不同屏幕尺寸和设备类型的布局技术。以下是一个简单的断点布局实例,不涉及媒体查询,仅使用ArkTS的内置功能和组件来实现。import{BreakpointSystem,BreakpointConstants}from'@ohos/arkui';@Entry@ComponentstructBreakpointLayoutDemo{priv
- 【第24讲到第44讲】基于vue + spring boot学生宿舍管理系统
LuXi_foryou
vue.jsspringbootjavascript
第24讲菜单管理列表制作1、api下新建menu.jsimporthttpfrom'@/utils/http'exportconstgetMenuListApi=async()=>{returnawaithttp.get("/api/menu/list",null)}2、sysMenuList.vue新增import{getMenuListApi}from'@/api/menu'exportdef
- html
周华华
html
js
1,数组的排列
var arr=[1,4,234,43,52,];
for(var x=0;x<arr.length;x++){
for(var y=x-1;y<arr.length;y++){
if(arr[x]<arr[y]){
&
- 【Struts2 四】Struts2拦截器
bit1129
struts2拦截器
Struts2框架是基于拦截器实现的,可以对某个Action进行拦截,然后某些逻辑处理,拦截器相当于AOP里面的环绕通知,即在Action方法的执行之前和之后根据需要添加相应的逻辑。事实上,即使struts.xml没有任何关于拦截器的配置,Struts2也会为我们添加一组默认的拦截器,最常见的是,请求参数自动绑定到Action对应的字段上。
Struts2中自定义拦截器的步骤是:
- make:cc 命令未找到解决方法
daizj
linux命令未知make cc
安装rz sz程序时,报下面错误:
[root@slave2 src]# make posix
cc -O -DPOSIX -DMD=2 rz.c -o rz
make: cc:命令未找到
make: *** [posix] 错误 127
系统:centos 6.6
环境:虚拟机
错误原因:系统未安装gcc,这个是由于在安
- Oracle之Job应用
周凡杨
oracle job
最近写服务,服务上线后,需要写一个定时执行的SQL脚本,清理并更新数据库表里的数据,应用到了Oracle 的 Job的相关知识。在此总结一下。
一:查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行
- 多线程机制
朱辉辉33
多线程
转至http://blog.csdn.net/lj70024/archive/2010/04/06/5455790.aspx
程序、进程和线程:
程序是一段静态的代码,它是应用程序执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是比进程更小的单位,一个进程执行过程中可以产生多个线程,每个线程有自身的
- web报表工具FineReport使用中遇到的常见报错及解决办法(一)
老A不折腾
web报表finereportjava报表报表工具
FineReport使用中遇到的常见报错及解决办法(一)
这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、address pool is full:
含义:地址池满,连接数超过并发数上
- mysql rpm安装后没有my.cnf
林鹤霄
没有my.cnf
Linux下用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,
至于为什么没有这个文件而MySQL却也能正常启动和作用,在这儿有两个说法,
第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动,
第二种说法,MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于r
- Kindle Fire HDX root并安装谷歌服务框架之后仍无法登陆谷歌账号的问题
aigo
root
原文:http://kindlefireforkid.com/how-to-setup-a-google-account-on-amazon-fire-tablet/
Step 4: Run ADB command from your PC
On the PC, you need install Amazon Fire ADB driver and instal
- javascript 中var提升的典型实例
alxw4616
JavaScript
// 刚刚在书上看到的一个小问题,很有意思.大家一起思考下吧
myname = 'global';
var fn = function () {
console.log(myname); // undefined
var myname = 'local';
console.log(myname); // local
};
fn()
// 上述代码实际上等同于以下代码
m
- 定时器和获取时间的使用
百合不是茶
时间的转换定时器
定时器:定时创建任务在游戏设计的时候用的比较多
Timer();定时器
TImerTask();Timer的子类 由 Timer 安排为一次执行或重复执行的任务。
定时器类Timer在java.util包中。使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定
- JDK1.5 Queue
bijian1013
javathreadjava多线程Queue
JDK1.5 Queue
LinkedList:
LinkedList不是同步的。如果多个线程同时访问列表,而其中至少一个线程从结构上修改了该列表,则它必须 保持外部同步。(结构修改指添加或删除一个或多个元素的任何操作;仅设置元素的值不是结构修改。)这一般通过对自然封装该列表的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedList 方
- http认证原理和https
bijian1013
httphttps
一.基础介绍
在URL前加https://前缀表明是用SSL加密的。 你的电脑与服务器之间收发的信息传输将更加安全。
Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后
- 【Java范型五】范型继承
bit1129
java
定义如下一个抽象的范型类,其中定义了两个范型参数,T1,T2
package com.tom.lang.generics;
public abstract class SuperGenerics<T1, T2> {
private T1 t1;
private T2 t2;
public abstract void doIt(T
- 【Nginx六】nginx.conf常用指令(Directive)
bit1129
Directive
1. worker_processes 8;
表示Nginx将启动8个工作者进程,通过ps -ef|grep nginx,会发现有8个Nginx Worker Process在运行
nobody 53879 118449 0 Apr22 ? 00:26:15 nginx: worker process
- lua 遍历Header头部
ronin47
lua header 遍历
local headers = ngx.req.get_headers()
ngx.say("headers begin", "<br/>")
ngx.say("Host : ", he
- java-32.通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小(两数组的差最小)。
bylijinnan
java
import java.util.Arrays;
public class MinSumASumB {
/**
* Q32.有两个序列a,b,大小都为n,序列元素的值任意整数,无序.
*
* 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
* 例如:
* int[] a = {100,99,98,1,2,3
- redis
开窍的石头
redis
在redis的redis.conf配置文件中找到# requirepass foobared
把它替换成requirepass 12356789 后边的12356789就是你的密码
打开redis客户端输入config get requirepass
返回
redis 127.0.0.1:6379> config get requirepass
1) "require
- [JAVA图像与图形]现有的GPU架构支持JAVA语言吗?
comsci
java语言
无论是opengl还是cuda,都是建立在C语言体系架构基础上的,在未来,图像图形处理业务快速发展,相关领域市场不断扩大的情况下,我们JAVA语言系统怎么从这么庞大,且还在不断扩大的市场上分到一块蛋糕,是值得每个JAVAER认真思考和行动的事情
- 安装ubuntu14.04登录后花屏了怎么办
cuiyadll
ubuntu
这个情况,一般属于显卡驱动问题。
可以先尝试安装显卡的官方闭源驱动。
按键盘三个键:CTRL + ALT + F1
进入终端,输入用户名和密码登录终端:
安装amd的显卡驱动
sudo
apt-get
install
fglrx
安装nvidia显卡驱动
sudo
ap
- SSL 与 数字证书 的基本概念和工作原理
darrenzhu
加密ssl证书密钥签名
SSL 与 数字证书 的基本概念和工作原理
http://www.linuxde.net/2012/03/8301.html
SSL握手协议的目的是或最终结果是让客户端和服务器拥有一个共同的密钥,握手协议本身是基于非对称加密机制的,之后就使用共同的密钥基于对称加密机制进行信息交换。
http://www.ibm.com/developerworks/cn/webspher
- Ubuntu设置ip的步骤
dcj3sjt126com
ubuntu
在单位的一台机器完全装了Ubuntu Server,但回家只能在XP上VM一个,装的时候网卡是DHCP的,用ifconfig查了一下ip是192.168.92.128,可以ping通。
转载不是错:
Ubuntu命令行修改网络配置方法
/etc/network/interfaces打开后里面可设置DHCP或手动设置静态ip。前面auto eth0,让网卡开机自动挂载.
1. 以D
- php包管理工具推荐
dcj3sjt126com
PHPComposer
http://www.phpcomposer.com/
Composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
中文文档
入门指南
下载
安装包列表
Composer 中国镜像
- Gson使用四(TypeAdapter)
eksliang
jsongsonGson自定义转换器gsonTypeAdapter
转载请出自出处:http://eksliang.iteye.com/blog/2175595 一.概述
Gson的TypeAapter可以理解成自定义序列化和返序列化 二、应用场景举例
例如我们通常去注册时(那些外国网站),会让我们输入firstName,lastName,但是转到我们都
- JQM控件之Navbar和Tabs
gundumw100
htmlxmlcss
在JQM中使用导航栏Navbar是简单的。
只需要将data-role="navbar"赋给div即可:
<div data-role="navbar">
<ul>
<li><a href="#" class="ui-btn-active&qu
- 利用归并排序算法对大文件进行排序
iwindyforest
java归并排序大文件分治法Merge sort
归并排序算法介绍,请参照Wikipeida
zh.wikipedia.org/wiki/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F
基本思想:
大文件分割成行数相等的两个子文件,递归(归并排序)两个子文件,直到递归到分割成的子文件低于限制行数
低于限制行数的子文件直接排序
两个排序好的子文件归并到父文件
直到最后所有排序好的父文件归并到输入
- iOS UIWebView URL拦截
啸笑天
UIWebView
本文译者:candeladiao,原文:URL filtering for UIWebView on the iPhone说明:译者在做app开发时,因为页面的javascript文件比较大导致加载速度很慢,所以想把javascript文件打包在app里,当UIWebView需要加载该脚本时就从app本地读取,但UIWebView并不支持加载本地资源。最后从下文中找到了解决方法,第一次翻译,难免有
- 索引的碎片整理SQL语句
macroli
sql
SET NOCOUNT ON
DECLARE @tablename VARCHAR (128)
DECLARE @execstr VARCHAR (255)
DECLARE @objectid INT
DECLARE @indexid INT
DECLARE @frag DECIMAL
DECLARE @maxfrag DECIMAL
--设置最大允许的碎片数量,超过则对索引进行碎片
- Angularjs同步操作http请求with $promise
qiaolevip
每天进步一点点学习永无止境AngularJS纵观千象
// Define a factory
app.factory('profilePromise', ['$q', 'AccountService', function($q, AccountService) {
var deferred = $q.defer();
AccountService.getProfile().then(function(res) {
- hibernate联合查询问题
sxj19881213
sqlHibernateHQL联合查询
最近在用hibernate做项目,遇到了联合查询的问题,以及联合查询中的N+1问题。
针对无外键关联的联合查询,我做了HQL和SQL的实验,希望能帮助到大家。(我使用的版本是hibernate3.3.2)
1 几个常识:
(1)hql中的几种join查询,只有在外键关联、并且作了相应配置时才能使用。
(2)hql的默认查询策略,在进行联合查询时,会产
- struts2.xml
wuai
struts
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache