🔥 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条评论来说两句吧...