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微信公众号:【入门小站】