一、在mysql库中建需要的test库和users表。
CREATE DATABASE test;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`email` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
);
二、新建lein项目(lein new examples)。
三、编辑examples项目的project.clj文件,添加需要的jdbc依赖包。
(defproject examples "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.4.0"]
[org.clojure/java.jdbc "0.2.3"]
[mysql/mysql-connector-java "5.1.21"]])
四、下载依赖(lein deps)。(PS:由于我用的IDE是IntelliJ IDEA,且现在的IDE对于lein2支持不是太好。我就只好再打个命令:lein pom 生成pom文件,然后再用IntelliJ IDEA打开pom文件来导入工程了。)
五、编写代码。src/examples/jdbc.clj代码如下:
(ns examples.jdbc
(:require [clojure.java.jdbc :as sql]))
(def mysql-db {:subprotocol "mysql"
:subname "//127.0.0.1:3306/test"
:user "root"
:password "123456"})
;;;在users表中插入三条记录
(sql/with-connection mysql-db
(sql/insert-records :users
{:name "bill" :email "bill@hello.com" }
{:name "ken" :email "ken@hello.com"}
{:name "lili" :email "lili"}))
;;查询并打印第一条记录的name字段
;;可以在命令行:lein run -m examples.jdbc 查看运行结果
(defn -main []
(let [name (sql/with-connection mysql-db
(sql/with-query-results rows
["SELECT * FROM users "]
(:name (first rows))))]
(prn name)))
我知道的运行上面代码的几种方法:
1、直接使用lein run -m examples.jdbc运行。
2、lein repl命令启动后,拷贝进去跑就是了。
3、通过IntelliJ IDEA来运行。
最后,附上本例子工程的到附件中。
参考资料:
https://github.com/technomancy/leiningen/blob/master/doc/TUTORIAL.md
https://github.com/clojure/java.jdbc
分享到:
相关推荐
《Clojure for MySQL:连接与数据操作指南》 在当今的软件开发中,数据库系统扮演着至关重要的角色,而MySQL作为一款广泛使用的开源关系型数据库管理系统,被许多开发者青睐。当我们将目光转向Clojure,一个现代、...
因此,"mysql-master"可能封装了JDBC的相关操作,提供了Clojure友好的API。例如,它可能会提供以下功能: 1. **数据库连接**:创建和管理到MySQL服务器的连接。这通常涉及到配置数据库URL、用户名、密码等信息,并...
ejc-sql通过Clojure的JDBC库,可以连接到MySQL、PostgreSQL、Oracle等众多数据库系统。用户只需配置相应的数据库连接信息,如URL、用户名和密码,就可以在ejc-sql中进行数据库操作。 ejc-sql的主要功能包括: 1. *...
`todo-backend-clojure-reitit` 是一个基于Clojure编程语言,利用Reitit框架和next.jdbc库实现的Todo-Backend API规范的项目。这个项目旨在为开发者提供一个可扩展、灵活且高效的API后端服务,用于处理待办事项...
例如,如果配置文件中有`:db-url "jdbc:mysql://localhost:3306/mydb"`,你可以用`(config/get :db-url)`来获取数据库URL。 config库还提供了许多高级特性,比如: - **合并配置**:你可以通过`config/merge-...
**jeesql:使用SQL的Clojure库** ...如果你正在使用Clojure进行数据库操作,`jeesql`是一个值得考虑的库,它能帮助你编写出更清晰、更安全的代码。在实际项目中,`jeesql`的灵活性和便利性将大大提高你的开发效率。
{:url "jdbc:mysql://localhost/mydb" :user "admin" :password "secretpassword"} :logging {:level :info :appender :console}} ``` 在这个例子中,我们定义了两个配置项:`database`和`logging`,它们都...
`laniu` 支持多种数据库,如 PostgreSQL、MySQL、SQLite 等,它利用了 `clojure.java.jdbc` 库来处理数据库连接。这意味着开发者可以根据项目需求选择合适的数据库系统。 ### 5. 使用示例 创建模型: ```clojure ...
它使用标准的mysql jdbc连接器与本地主机上托管的数据库进行通信。 在前端,Web应用程序使用Bootstrap 3.3.5。 和JQuery 3库。 所有公共html文件都是.mustache扩展名,因为在controller.clj和html页面之间绑定数据...
ClojureQL是基于Java的JDBC(Java Database Connectivity)接口,这使得它能够与各种支持JDBC的数据库系统兼容,包括MySQL、PostgreSQL、Oracle等。通过JDBC,ClojureQL能够透明地与后端数据库进行交互,执行SQL...
贪吃蛇java程序源码Yesql - Clojure 和 SQL 重新思考。 Yesql 是一个用于使用SQL ..."9.4-1201-jdbc41"] MySQL [mysql/mysql-connector-java "5.1.32"] Oracle [com.oracle/ojdbc14 "10.2.0.4.0"] SQLite [org.
(def config {:database-url "jdbc:mysql://localhost/mydb" :api-key "default-api-key"}) ``` 2. 然后,env-config 会自动查找与配置键相匹配的环境变量,并用其值替换配置映射中的相应项。例如,你可以设置...
本话题将聚焦于Clojure中的一个库——Mount,它是状态管理和生命周期管理的一个解决方案。标题"坐骑:观看坐骑的起伏"隐喻地描述了Mount如何帮助开发者优雅地处理程序中的状态变化。 Mount库的核心概念是“组件”...
) "jdbc:mysql://localhost/dev" "jdbc:mysql://remotehost/prod")} ``` 在这个例子中,`env :dev?`是一个动态表达式,它会根据当前的环境变量决定数据库URL。如果环境变量`dev?`为真,那么使用本地开发数据库的URL...
Xmx2048 -jar <jarfile> -h以获取: Usage: dbexport [options]Options: -J, --jdbc jdbc-url localhost JDBC url ensure that the correct jdbc drivers are on the classpath mysql: jdbc:mysql://localhost:3306/...
一个 Clojure 库,旨在将 Clojure Friend 的帐户信息存储在 SQL (JDBC) 数据库中。 这是在使用SQL 实现的存储协议(它最初绑定到Datomic)。 该库基于 SQL Korma 抽象层 - 为 MySQL/Percona/MariaDB 和 PostgreSQL ...
Ragtime是一个专门为Clojure语言设计的数据库迁移库,它允许开发者在不同的数据库系统之间进行无缝的数据迁移。这个工具的核心理念是与具体的数据库实现解耦,使得开发过程更加灵活,同时保持数据一致性。Ragtime...
它使用JDBC; 提供了 MySQL 和 PostgreSQL 模式,如果您自定义模式,也可以支持其他数据库。 用法 配置 Friendui 在类路径中查找名为: friendui-config.edn的配置文件。 可以在此处找到示例配置:[ ] 然后,