安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

第十四节SpringBoot使用JdbcTemplate访问

1月25日 发如雪投稿
  Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。
  JdbcTemplate在Springjdbc包下面,还需要Springtx包支持,里面包含事务和异常控制。建一个rumenzspringboot库创建user表createtableuser(idintprimarykeyautoincrement,namevarchar(100)notnulldefault,domainvarchar(100)notnulldefault)engineinnodbdefaultcharsetutf8;加入pom的依赖dependencygroupIdorg。springframework。bootgroupIdspringbootstarterjdbcartifactIddependencydependencygroupIdmysqlgroupIdmysqlconnectorjavaartifactIdscoperuntimescopedependencySpringBoot配置文件application。propertiesspring。datasource。urljdbc:mysql:localhost:3306rumenzspringbootspring。datasource。usernamerootspring。datasource。passwordroot1234spring。datasource。driverclassnamecom。mysql。cj。jdbc。Driver创建User实体类BuilderDataAllArgsConstructorpublicclassUserimplementsRowMapper{privateIprivateSprivateSOverridepublicObjectmapRow(ResultSetrs,introwNum)throwsSQLException{UserusernewUser();user。setId(rs。getInt(id));user。setName(rs。getString(name));user。setDomain(rs。getString(domain));}}Service接口UserService。javapackagecom。rumenz。lession14。controller。importcom。rumenz。lession14。controller。entity。Uimportjava。util。LclassName:UserServicedescription:TODO类描述author:入门小站rumenz。comdate:20211213publicinterfaceUserService{Integersave(Useruser);ListUserlist();Integerupdate(Useruser);IntegerbatchSave();}Service接口实现类UserServiceImpl。javapackagecom。rumenz。lession14。controller。service。Iimportcom。fasterxml。jackson。core。JsonProcessingEimportcom。fasterxml。jackson。databind。ObjectMimportcom。fasterxml。jackson。databind。json。JsonMimportcom。rumenz。lession14。controller。entity。Uimportcom。rumenz。lession14。controller。service。UserSimportorg。springframework。beans。factory。annotation。Aimportorg。springframework。jdbc。core。BeanPropertyRowMimportorg。springframework。jdbc。core。JdbcTimportorg。springframework。stereotype。Simportjava。util。ArrayLimportjava。util。LclassName:UserServiceImpldescription:TODO类描述author:入门小站rumenz。comdate:20211213ServicepublicclassUserServiceImplimplementsUserService{AutowiredprivateJdbcTemplatejdbcTOverridepublicIntegersave(Useruser){intreintjdbcTemplate。update(insertintouser(name,domain)values(?,?),user。getName(),user。getDomain());}OverridepublicIntegerbatchSave(){Stringsqlinsertintouser(name,domain)values(?,?);ListObject〔〕parnewArrayList();for(inti0;i10;i){String〔〕snewString〔2〕;s〔0〕入门小站i;s〔1〕https:rumenz。par。add(s);}int〔〕intsjdbcTemplate。batchUpdate(sql,par);System。out。println(ints。toString());return0;}OverridepublicListUserlist(){User实现RowMapper接口,实现接口里的mapRow方法。ListUserlistjdbcTemplate。query(selectfromuser,newUser());}OverridepublicIntegerupdate(Useruser){IntegerreintjdbcTemplate。update(updateusersetname?,domain?whereid?,user。getName(),user。getDomain(),user。getId());}}Controller测试RumenzController。javapackagecom。rumenz。lession14。importcom。fasterxml。jackson。core。JsonProcessingEimportcom。fasterxml。jackson。databind。ObjectMimportcom。rumenz。lession14。controller。entity。Uimportcom。rumenz。lession14。controller。service。UserSimportorg。springframework。beans。factory。annotation。Aimportorg。springframework。web。bind。annotation。GetMimportorg。springframework。web。bind。annotation。RequestMimportorg。springframework。web。bind。annotation。RestCimportjava。util。LclassName:RumenzControllerdescription:TODO类描述author:入门小站rumenz。comdate:20211213RestControllerRequestMapping(rumenz)publicclassRumenzController{AutowiredprivateUserServiceuserS添加数据GetMapping(save)publicStringsave(){UseruserUser。builder()。name(入门小站)。domain(https:rumenz。com)。build();IntegerreintuserService。save(user);returnreint。toString();}批量添加数据GetMapping(batchSave)publicStringbatchSave(){IntegerreintuserService。batchSave();returnreint。toString();}查询数据GetMapping(list)publicStringlist()throwsJsonProcessingException{ListUserlistuserService。list();ObjectMapperobjectMappernewObjectMapper();StringvalobjectMapper。writeValueAsString(list);}更新数据GetMapping(update)publicStringupdate()throwsJsonProcessingException{UseruserUser。builder()。id(1)。name(入门小站修改)。domain(https:tooltt。com)。build();IntegerreintuserService。update(user);returnreint。toString();}}总结
  常用CURD操作大致使用以下三个方法:1。execute方法,用于直接执行SQL语句2。update方法,用户新增修改删除操作3。query方法,用于查询方法
  本小结源码地址:GitHub:https:github。commifuncspringboottreemainlession14Gitee:https:gitee。comrumenzspringboottreemasterlession14https:rumenz。comrumenbijispringbootjdbctemplate。html
  介绍我的博客https:rumenz。com,我的工具箱https:tooltt。com微信公众号:【入门小站】
投诉 评论 转载

三星宣布斥资170亿美元在得州建芯片厂来源:新浪科技据报道,三星电子公司公布了将在美国得克萨斯州投资170亿美元建立一个新的先进芯片厂的计划,这是一个将加强美国半导体行业的标志性项目。德州州长格雷格阿博……床头神器联想天骄氛围灯音箱床头灯这种普通的再普通的日常家用电器,其实在我们的印象中是没什么技术含量的。而就是这样一件不起眼的日用单品,联想也能把大家日常真实的需求与之相结合,将氛围灯、蓝牙音箱、QCPD……9月京东手机销量国产百元机打败iPhone13,华为小米跌出很多消费者都喜欢把销量排行榜作为购机的重要参考因素,因为一般情况下,销量越好的手机就证明购买的人越多,越受人欢迎的东西自然不会出错。无独有偶,近日知名数码达人小乙MAX公布了2……美国坚持用毫米波,GSMA拉上华为发出警告频谱不一致危及5G美国引以为傲的5G毫米波建设被全球通信协会(GSMA)警告了。近日,全球通信协会(GSMA)发出警告,呼吁重视6GHz频段。各国政府如果不能将6GHz作为授权频谱使用,将……尼安德特人或坐拥生存天赋据日本《读卖新闻》报道,美国研究团队近期的成果揭示,已经灭绝的史前人类尼安德特人拥有一种有利于生存的基因,能够帮助其节约能量安然渡过饥荒或者是个体的饥饿状态。目前只有一部分的现……莫让软件成软肋眼下,工业互联网产业蓬勃兴起,有专家预测未来15年产业规模将超11万亿元。工业互联网产业机遇显而易见,但挑战也前所未有。业内专家认为,工业互联网与消费互联网有四大区别:在……上市七个月,降价1500,iPhone12为何不保值?苹果公司在去年十月份推出了全新的iPhone12系列智能手机,其中iPhone12的上市价格为6299元起步,相比iPhone11的5499元起步,价格贵了800元人民币;不过……预算充足的话,买手机建议一步到位,这四款手机堪称最高规格手机市场有分层,针对不同的消费者群体,有不同的手机产品和定价。如果预算充足,不考虑预算的话,那么建议买手机可以一步到位,配置上可以选最高配。一部好的手机不仅可以使用四五年,并且……第十四节SpringBoot使用JdbcTemplate访问Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。JdbcTemplat……高精度IP地址定位接口的使用场景说到高精度IP地址定位,其实一直不太为大家所知,一般也是通过影视作品了解到,原来可以通过IP地址对犯罪分子进行一定程度的精确定位,日常使用最多的还是基于城市定位的基础IP定位功……科学家首次证实动物也能感知心跳无论是腿上的狼蛛,还是恋人的短信,都会让你心跳加速。其实,猴子也是这样。在一项4月11日发表于美国《国家科学院院刊》的研究中,科学家首次发现了非人类动物感知自己心跳的证据这一结……手机号码支付,你开通了吗?什么是手机号码支付手机号码支付是人民银行为进一步提升跨行支付服务水平,便利客户支付体验,依托网上支付跨行清算系统(IBPS),联合银行机构推出的一项新业务。手机号码支付支……
手机号用了12年了,你们的手机号码都用了多长时间?新型暴发户跨境电商,数十万店铺被封禁,跨境电商遇艰难处境华为公司奇葩面试题流出高薪的3个认知层次,你在哪一层?星途追风PHEV发布1。5T混动纯电续航105公里如何做公众号的引流呢?电视机买多大的合适?有了电动牙刷,还有必要入手冲牙器吗?素诺C3Pro冲牙器评测你是因为什么原因而不买苹果手机的?为什么i3的cpu基础频率最高,达到4。0了?10000左右的组装机,主要玩游戏,怎样搭配比较好?翻新手机大受消费者欢迎,2021年同比增长15造点新货平台快速崛起,主要原因是什么?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利