之前的两个持久化框架都没有使用连接池。总感觉不放心。试着配置了个c3p0的连接池在clojureql框架中使用。同样的,放在clj-record框架中也没问题。
添加依赖
[clojureql "1.0.4"]
[mysql/mysql-connector-java "5.1.11"]
[c3p0/c3p0 "0.9.1.2"]
样例代码(由于之前的项目一直配的是DBCP连接池,C3P0的自己没配置过,看了下C3P0的文档,大概配置以下两种。第一种应该没问题。第二种我就不确定了)
(ns sample.c3p0
(:import (com.mchange.v2.c3p0 ComboPooledDataSource
DataSources
PooledDataSource))
(:use clojureql.core))
;;c3p0连接池
(def db_pool
(let [config {:driver "com.mysql.jdbc.Driver"
:subprotocol "mysql"
:subname "//127.0.0.1:3306/test"
:user "root"
:password "123"}
cpds (doto (ComboPooledDataSource.)
(.setDriverClass (:driver config))
(.setJdbcUrl (str "jdbc:" (:subprotocol config) ":" (:subname config)))
(.setUser (:user config))
(.setPassword (:password config)))]
{:datasource cpds}))
(prn @(-> (table db_pool :users)
(project [:name])
(take 1)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;c3p0连接池,我不大确定这样写是不是正确的
(def db_pool!
(let [url "jdbc:mysql://localhost/test"
user "root"
password "123"]
{:datasource (->> (DataSources/unpooledDataSource url user password)
(DataSources/pooledDataSource))
:auto-commit true
:fetch-size 1000}))
(prn @(-> (table db_pool! :users)
(project [:name])
(take 1)))
分享到:
相关推荐
本篇文章将深入探讨Clojure中的持久化框架clj-record,以及如何利用它来高效地处理数据。源码分析和工具使用是理解这一主题的关键。 首先,我们要理解什么是持久化。在计算机科学中,持久化指的是将数据存储到非易...
标题 "Clojure学习——使用clojure jdbc操作mysql" 指出的是一个关于使用Clojure编程语言通过Java Database Connectivity (JDBC) API来操作MySQL数据库的主题。Clojure是一种基于Lisp的函数式编程语言,它运行在Java...
通过学习和理解这个框架,开发者不仅可以掌握如何在Clojure中实现遗传算法,还可以了解到如何利用函数式编程的特点来编写模块化、可读性强的代码,这对于理解和改进算法,甚至开发其他优化方法都非常有价值。...
Clojure是一种现代的、通用的、高性能的Lisp语言方言,运行在Java虚拟机(JVM)上。它被设计成一种函数式编程语言,强调不可变数据和持久数据结构。Clojure适用于多范式编程,包括面向对象、命令式、函数式和逻辑...
Clojure的一大特色就是其并发机制,它支持不可变的数据结构(Clojure是来自于可持久化的数据结构)。Clojure还有一个特色是软件事务存储(Software Transactional Memory,STM),其支持用事务代替锁和互斥器来更新...
这些文件将提供与HikariCP Java API对应的Clojure函数,比如设置数据库连接参数、初始化连接池、获取连接以及关闭连接池等操作。 2. `test`: 测试代码所在的目录,包含`.clj`或`.cljs`文件,用于验证Clojure包装器...
Python-Hypercrud是一个独特的开发工具,它专注于构建可组合用户界面(UI)的Clojure客户端/服务器框架。这个框架的设计理念是提供一个简洁、高效的方式来创建动态和交互式的Web应用程序,同时保持代码的清晰和可...
- 讲座中庄晓丹分享了Avos团队在Clojure上的实践和经验,这对于国内的Clojure传播有着重要贡献,有助于推动国内开发社区对Clojure语言的认识和应用。 4. 与市场上的其他BaaS服务相比较: ***作为业界知名的移动...
首先,Clojure的核心理念是简洁、并发和持久化数据结构。书中详细介绍了Clojure的语法特性,如S表达式(S-expressions)、宏(macros)和动态类型系统。S表达式是Clojure代码的基本形式,它提供了简洁的表示方式和...
### 编程Clojure:全面解析与学习指南 #### 一、Clojure语言概述 《Programming Clojure》是一本深入探讨Clojure编程语言的书籍,该书由Stuart Halloway编写,出版于2009年3月,由Pragmatic Bookshelf出版社发行。...
- **Clojure**是一种运行在Java虚拟机(JVM)上的动态编程语言,它继承了Lisp家族的强大功能,同时结合了现代编程语言的优点,如面向对象编程和函数式编程。 #### 二、Clojure的特性 - **函数式编程**: Clojure强调...
《Clojure电子书》集合包含了三本关于Clojure编程的重要书籍和一个Leiningen的Windows安装程序,这对于学习和深入理解Clojure语言至关重要。Clojure是一种基于Lisp的函数式编程语言,它运行在Java虚拟机(JVM)上,...
此外,Clojure也提供了一些强大的数据结构,如持久化数据结构(Persistent Data Structures),它们在修改时保持原有的结构,提高了性能和效率。 在Eclipse中,你可以使用Counterclockwise的调试功能来逐步执行...
Clojure是一种基于Lisp的函数式编程语言,它运行在Java虚拟机(JVM)上,充分利用了Java的生态系统。Clojure的设计目标是提供一种静态类型的、并发的、内存安全的语言,同时保持Lisp的简洁性和灵活性。在这个压缩包...
根据提供的信息,我们可以推断出这是一本关于Clojure编程语言的书籍——《Living Clojure》,作者是Carin Meier。下面将从标题、描述、标签以及部分内容中提取相关的知识点。 ### 标题:Living Clojure PDF 这个...