🔥 SqlUtils 使用
一、前言
随着 Solon 3.0 版本发布,新添加的 SqlUtils 接口,用于操作数据库,SqlUtils 是对 Jdbc 原始接口的封装。适合 SQL 极少或较复杂,或者 ORM 不适合的场景使用。
二、SqlUtils 使用
1、引入依赖
<dependency> <groupId>org.noear</groupId> <artifactId>solon-data-sqlutils</artifactId> </dependency>
2、新建数据库表(for MySql)
CREATE TABLE `book` ( `id` bigint(20) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `author` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
3、定义实体类
使用了 lombok 的注解。
@Data public class Book { private Long id; private String name; private String author; }
4、添加数据源配置
solon.dataSources: book!: # ‘!’结尾表示默认 class: "com.zaxxer.hikari.HikariDataSource" jdbcUrl: jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=true driverClassName: com.mysql.cj.jdbc.Driver username: root password: 123456
5、注入 SqlUtils 并使用
注入
@Component public class BookDao { @Inject private SqlUtils sqlUtils; }
查询操作
public List<Book> getAllBooks() { return sqlUtils.sql("select * from book") .queryRowList() .toBeanList(Book.class); }
新增操作
public Long addBook(Book book) { return sqlUtils.sql("INSERT INTO book (name , author) VALUES (?,?)", book.getName(), book.getAuthor()) .updateReturnKey(); }
更新操作
public int updateBook(Book book) { return sqlUtils.sql("UPDATE book SET name=?, author=? WHERE id=?", book.getName(), book.getAuthor(), book.getId()) .update(); }
总结
使用 SqlUtils 可以完成基本的数据库操作,有更好的透明性。当然,持久化数据库操作 ORM 是更方好方案。具体根据开发决定。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
安恒信息加入 openKylin,助推社区网络安全领域生态繁荣
近日,杭州安恒信息技术股份有限公司(简称:安恒信息)签署了openKylin社区CLA(Contributor License Agreement贡献者许可协议),正式加入openKylin开源社区。 安恒信息成立于2007年,自成立以来一直专注于网络信息安全领域,公司秉承“构建安全可信的数字世界”的企业使命,以数字经济的安全基石为企业定位,将“诚信正直、成就客户,责任至上,开放创新,以人为本,共同成长”作为企业的价值观,致力于成为全球领先的数字安全企业。 安恒信息以云安全、大数据安全、物联网安全、智慧城市安全、工业控制系统安全及工业互联网安全五大方向为市场战略。凭借强大的研发实力和持续的产品创新,已形成覆盖网络信息安全生命全周期的产品体系,包括网络信息安全基础产品、网络信息安全平台以及网络信息安全服务,各产品线及业务线在行业中均形成了强大的竞争力。 加入openKylin后,安恒信息将积极参与社区的市场和生态方面活动,利用自身在网络信息安全领域的优势,和社区及其他成员员一起打造云安全、物联网安全、工业控制安全等行业解决方案,为社区在安全领域的生态建设贡献自身力量,推动社区网络安全领域...
- 下一篇
黑莓报告:44% 的开发者首选开源操作系统为基础平台
黑莓公司(BlackBerry)近日发布了一份基于全球 1000 名嵌入式软件开发人员和工程师的调查结果指出,开发人员和软件工程师面临着越来越大的压力,需要在快速创新与安全和保障之间取得平衡,满足紧迫的项目期限与保持功能安全之间的矛盾日益加深。 75% 的受访者表示,紧迫性往往迫使他们在关键的安全要求上做出妥协。虽然开发人员将安全性 (54%)、成本控制 (52%) 和安全认证 (48%) 列为选择操作系统时的首要考虑因素,但调查还强调了这些领域中重大的下游挑战,这些挑战使得绝大多数 (74%) 的受访者倾向于更改其现有的操作系统。 在那些必须达到国际安全标准的受访者中,61% 的人表示,使用他们当前的操作系统满足这些特定标准极具挑战性或非常困难。安全问题 (36%) 和性能不佳 (28%) 是受访者考虑更改其当前操作系统的两个主要原因。 近一半(44%)的开发者首选开源操作系统作为基础平台,另外 25% 的开发者表示对开源和专有产品没有偏好。由于对技术的熟悉和开放性,开发环境通常会采用开源平台。但 BlackBerry 表示,这些平台不像许多专有选项经过了严格的验证和测试并拥有安全认...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- Mario游戏-低调大师作品
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- 2048小游戏-低调大师作品
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库