当前位置: 首页 > news >正文

网站设计公司建设网站网站举报有奖平台

网站设计公司建设网站,网站举报有奖平台,广州市比较大型的网站建设公司,电子商务网站建设花费SpringBoot 3.2引入了新的 JdbcClient 用户数据库操作#xff0c;JdbcClient对JdbcTemplate进行了封装#xff0c;采用了 fluent API 的风格#xff0c;可以进行链式调用。 自此#xff0c;spring自带的数据库操作有了4种方式#xff1a;JdbcTemplate、JdbcClient、Sprin…SpringBoot 3.2引入了新的 JdbcClient 用户数据库操作JdbcClient对JdbcTemplate进行了封装采用了 fluent API 的风格可以进行链式调用。 自此spring自带的数据库操作有了4种方式JdbcTemplate、JdbcClient、SpringDataJdbc、SpringDataJpa。 对于不适合使用复杂的ORM框架或者需要编写复杂的SQL的场景可以使用JdbcClient自己编写SQL来操作数据库。不过JdbcClient不支持数据的批量操作和存储过程调用对于这种情况就需要使用JdbcTemplate。 具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/master/spring-data-jdbc-client 一、概述 JdbcClient是一个轻量的数据库操作框架采用 fluent API 风格简单灵活易于阅读和维护支持编写复杂的SQL。 二、引入 JdbcClient 首先引入 spring-data-jdbc 依赖。 在 build.gradle 中增加一行代码: implementation org.springframework.boot:spring-boot-starter-data-jdbc在Service中直接注入JdbcClient即可 Component public class DbService {Autowiredprivate JdbcClient jdbcClient; }三、查询操作 通过JdbcClient可以按照主键查数据也可以按照自定义查询条件查数据。 按照主键查数据 public MyData findDataById(Long id) {return jdbcClient.sql(select * from my_data where id ?).params(id).query(MyData.class).single();}按照自定义查询条件查数据 public ListMyData findDataByName(String name) {return jdbcClient.sql(select * from my_data where name ?).params(name).query(MyData.class).list();}以上两种查询方式查询条件中的变量使用的是占位符JdbcClient也支持按照参数名进行查询 public Integer insertDataWithNamedParam(MyData myData) {Integer rowsAffected jdbcClient.sql(insert into my_data values(:id,:name) ).param(id, myData.id()).param(name, myData.name()).update();return rowsAffected;}当参数比较多时可以将参数放到一个Map中用Map进行查询 public ListMyData findDataByParamMap(MapString, ? paramMap) {return jdbcClient.sql(select * from my_data where name :name).params(paramMap).query(MyData.class).list();}当查询返回的结果不能简单的映射到一个类时可以编写RowMapper适用于SQL语句比较复杂的场景 public ListMyData findDataWithRowMapper() {return jdbcClient.sql(select * from my_data).query((rs, rowNum) - new MyData(rs.getLong(id), rs.getString(name))).list();}同时也支持查询记录数 public Integer countByName(String name) {return jdbcClient.sql(select count(*) from my_data where name ?).params(name).query(Integer.class).single();}四、插入数据 可以使用 JdbcClient 的 update 方法进行数据的插入和更新。 通过占位符参数插入数据: public Integer insertDataWithParam(MyData myData) {Integer rowsAffected jdbcClient.sql(insert into my_data values(?,?) ).param(myData.id()).param(myData.name()).update();return rowsAffected;}通过命名参数插入数据 public Integer insertDataWithNamedParam(MyData myData) {Integer rowsAffected jdbcClient.sql(insert into my_data values(:id,:name) ).param(id, myData.id()).param(name, myData.name()).update();return rowsAffected;}直接插入整个对象 public Integer insertDataWithObject(MyData myData) {Integer rowsAffected jdbcClient.sql(insert into my_data values(:id,:name) ).paramSource(myData).update();return rowsAffected;}五、总结 通过上述的示例可以看到基本的数据库操作都可以用 JdbcClient 实现避免了复杂的ORM框架的使用切操作要比ORM框架简单灵活的多。fluent API 的风格也更容易编写和阅读。 完整的数据库操作方法的调用演示 Slf4j SpringBootApplication public class Application implements CommandLineRunner {Autowiredprivate DbService dbService;Overridepublic void run(String... args) {MyData myData new MyData(1L, test);log.info(insert rows: {}, dbService.insertDataWithObject(myData));MyData myData2 new MyData(2L, test);dbService.insertDataWithParam(myData2);MyData myData3 new MyData(3L, author);dbService.insertDataWithNamedParam(myData3);log.info(findDataById: {}, dbService.findDataById(1L));log.info(findDataByName: {}, dbService.findDataByName(test));log.info(findDataWithRowMapper: {}, dbService.findDataWithRowMapper());log.info(findDataByParamMap: {}, dbService.findDataByParamMap(Map.of(name, author)));log.info(countByName: {}, dbService.countByName(test));}public static void main(String[] args) {SpringApplication.run(Application.class, args);} }
http://www.huolong8.cn/news/193031/

相关文章:

  • 天津 网站备案wordpress最新评论样式
  • 江西房地产网站建设网络营销名词解释答案
  • 广州专门做网站的公司如何租用服务器做网站
  • 做搜狗网站排名软件做电路方案设计的网站
  • 东莞网站建设环保设备网页建设哪家好
  • 提供网站建设方案秦皇岛海港区建设局网站
  • 石家庄哪里能做门户网站的北京市建设工程信息网安徽兴创
  • 怎么建立微网站?增城新塘网站建设
  • 网站建设需要达到什么样的效果seo专员是什么职位
  • 外贸网站建设公司如何怎么做网站图片链接
  • 家里公网宽带做网站要备案么国家企业注册信息查询
  • 做首图的网站网址大全12345
  • 怎么在网站上做图片轮播如何用代码做网站
  • 写作网站大全建设部网站官工程质量手册
  • 项城市建设规划局网站百度灰色词优化排名
  • 多站点cmswordpress 文章略缩图
  • 成都市建设招标网站企业营销型网站建设团队
  • 沈阳企业网站设计制作seo站点是什么意思
  • 做网站需要多少钱 做中国室内设计网站官网
  • 品牌建设工作实施方案一个网站同时做竞价和seo
  • 怎么看一个网站是哪个公司做的网站建设 接单
  • 门户网站兴化建设局 金wordpress 灯箱 插件
  • 网站 目录访问外贸营销型网站
  • 恩施兴州建设工程责任有限公司网站石柱网站建设
  • asp.net网站转php免费自己制作音乐
  • 网站收录大幅度下降北京的设计院排名
  • 成都农产品网站建设方案一级a做爰片免费网站国产
  • 无锡微网站制作劳动仲裁院内部网站建设
  • 上海昆山网站公司哪家好莱州教体局网站
  • 长春网站开发公司哪家好wordpress前端页面模板