问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

springdata的nativeQuery的语句能否指定从外部sql文件或xml文件读取?

发布网友 发布时间:2022-04-07 20:52

我来回答

4个回答

懂视网 时间:2022-04-08 01:13

实现对象数据映射。其框架库在github上能找到。以下代码将通过LKDBHelper实现增删查改。

1 实现数据对应的Bean对象,以下提供.h文件。

#import <Foundation/Foundation.h>

@interface WBUser : NSObject

@property (nonatomic,copy) NSString *userName;

@property (nonatomic,assign) int age;

@end

2 提供实现的Dao层。

WBUserDao.h

#import <Foundation/Foundation.h>
#import "WBUser.h"

@interface WBUserDao : NSObject

+(instancetype)daoWithEntityClass:(Class)aclass;

-(void)saveUser:(WBUser *)user;

-(WBUser *)loadUserWithWherecase:(NSString *)where;

-(BOOL)updateUserWithWherecase:(NSString *)where;

-(void)deleteWithWherecase:(NSString *)where;

@end

WBUserDao.m

#import "WBUserDao.h"
#import "LKDBHelper.h"

@interface WBUserDao ()

@property (nonatomic,strong) Class entityClass;
@property (nonatomic,strong) LKDBHelper *gobalHelper;

@end

@implementation WBUserDao

+(instancetype)daoWithEntityClass:(Class)aclass
{
 WBUserDao *dao=[[[self class] alloc] initWithEntityClass:aclass];
 return dao;
}

-(instancetype)initWithEntityClass:(Class)aclass
{
 if (self=[super init]) {
 _entityClass=aclass;
 _gobalHelper=[LKDBHelper getUsingLKDBHelper];
 [_gobalHelper createTableWithModelClass:[_entityClass class]];
 }
 return self;
}

-(void)saveUser:(WBUser *)user
{
 NSLog(@"%d",[_gobalHelper insertToDB:user]);
}

-(WBUser *)loadUserWithWherecase:(NSString *)where
{
 return [_gobalHelper searchSingle:[WBUser class] where:where orderBy:nil];
}

-(BOOL)updateUserWithWherecase:(NSString *)where
{
 return [_gobalHelper updateToDB:[WBUser class] set:@"age = 15 " where:where];
}

-(void)deleteWithWherecase:(NSString *)where
{
 [_gobalHelper deleteWithClass:[WBUser class] where:where callback:^(BOOL result) {
 NSLog(@"delete result :%d",result);
 }];
}

@end

3 以下代码显示如何调用。我们在ViewDidLoad中实现

- (void)viewDidLoad {
 [super viewDidLoad];
 
 WBUser *user=[[WBUser alloc] init];
 user.userName=@"awdawda";
 user.age=18;
 
 WBUserDao *dao=[WBUserDao daoWithEntityClass:[user class]];
 [dao saveUser:user];
 
 WBUser *userData=[dao loadUserWithWherecase:@"userName='awdawda'"];
 
 BOOL updateFlag=[dao updateUserWithWherecase:@"userName='awdawda'"];
 
 WBUser *userData2=[dao loadUserWithWherecase:@"userName='awdawda'"];
 
 NSLog(@"%d %d",updateFlag,userData2.age);
 
 [dao deleteWithWherecase:@"userName='awdawda'"];
 
}

Tip:在增删查改中,LKDBhelper实现的方式还有很多很多。具体看需求。gitHub:点击打开链接



LKDBHelper-ORM框架

标签:

热心网友 时间:2022-04-07 22:21

不换行就是;
因为springdata我也不熟,给你说一个最笨的方法:
写成下面样子,放在txt文件中:
x= select *
from y;
读取时组成一个字符串,然后用split(";") 得到数组;然后遍历数组,截取等号前面的为key,后面的为value,放在map里,想取哪个取哪个

热心网友 时间:2022-04-07 23:39

单表查询不需要自己写sql,多表查询springdataJpa真的不建议这么使用,底层是hibernate,很重,连表操作很影响性能。

热心网友 时间:2022-04-08 01:14

自己写一个helper读文件不就行了?
再说java有流行的orm框架(hibernate之类)可以解决你说的问题把
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么我的眉毛中部有几根会往上翘有什么说法吗? 儿童补铁的药哪种效果最好? 儿童补铁口服液哪个牌子好 台湾的共享单车有人用过吗,想知道他们用的哪款车坐垫用的是哪家的,和... city bike和roadbike区别 报春花怎样扦播 电脑连接上无线网络不能上qq为什么电脑连上无线网却只能登qq 能上网但是不能上qq,是什么原因? 金山网盾、金山网镖、金山毒霸、金山清理专家四个软件哪个防护好一点... 上网的时候,金山网镖、金山网盾和金山毒霸这三个程序需要都开着吗? w10系统无法使用内置帐户打开入门 本人要在山东乳山买房,那里的核电站影响大么? 老师说是古文中的“比”都是“并列”的意思(还是“并”、“列”的意思... 金樱子泡酒要不要清除体内的仔 富平县东上官初中生毕业成长发言稿 &quot;比年&quot;中比是什么意思?古文 老年手机的数据线,是否各种品牌的老年手机都能用呢? 老年手机的数据线,是否各种品牌的老年手机都能用呢? 女孩子发朋友圈,说想某个人是发某某我想你了。还是发我想某某了还是直接... 老年机充电口是什么类型 老年机充电口是什么类型 金樱子要不要去里面的子泡 山东乳山核电站还建吗? 乳山红石顶核电站中铁十四局去投标没有 金樱子应该怎么泡酒?需要去籽吗? 想一个人了喝点小酒的句子在朋友圈怎么表达,今天又是他的生日 金樱子泡酒要去掉里面的籽吗? 比 在文言文中的翻译 找初一毕业典礼上用的演讲稿!! 乳山红石顶距离银滩管委会多少公里 金樱子粒可以泡酒吗 博显古文中 比想见 是什么意思 乳山红石顶核电站到底建不建啊 ...发朋友圈“想我了就联系我,你我之间没有面子” 是在暗示某个人... 金樱子泡酒要去除核吗 乳山市红石顶核电站2014还见不见 比字在文言文中还有其他同意字吗? ...个核电站相继投产。2006年11月1日山东乳山红石顶核电 5斤金樱子可泡几斤酒? 我的xp系统中唯一的内置账户被停用了,进不了桌面,通过安全模式也一样... 乳山核电站建吗 古文中的表现手法赋.比.兴.是什么意思? 六月去爬西岭雪山的日月坪如何啊? 金樱子怎么泡酒? 古文中的表现手法赋.比.兴.是什么意思 急用 急求!~~~关于核电站的问题 文言文实词比的词性和意思 为什么用老人机的数据线给智能手机充电,这么慢?难道数据线都有额定电流... 山东石岛湾核电站 古文中“于”的意思是。。。给,比,向,被,由于?