Clojure操作mysql
在Eclipse中新建一个Clojure工程clj01
clojure 操作mysql需要依赖mysql-connector-java、clojure-contrib与java.jdbc三个jar包。
project.clj配置信息如下:配置完:dependencies 保存,系统会自动下载所配置的jar包信息。
(defproject clj01 "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.5.1"]
[org.clojure/java.jdbc "0.2.3"]
[org.clojure/clojure-contrib "1.2.0"]
[mysql/mysql-connector-java "5.1.26"]
])

新建mysql.clj
(ns clj01.mysql
(:require [clojure.java.jdbc :as sql])) ;配置参数
(def mysql-db{
:classname "com.mysql.jdbc.Driver"
:subprotocol "mysql"
:subname "//127.0.0.1:3306/test"
:user "root"
:password "" }) ;链接数据库
(sql/with-connection mysql-db) ;插入数据
(sql/with-connection mysql-db
(sql/insert-records :user
{:name "测试1" :age 25}
{:name "测试2" :age 26})) ;删除记录
(sql/with-connection mysql-db
(sql/delete-rows :user ["id > ?" 8])) ;更新记录
(sql/with-connection mysql-db
(sql/update-values :user
["id = ?" 8]
{:name "测试" :age 35})) ;查询记录
(println (sql/with-connection mysql-db
(sql/with-query-results rows
["select id,name,age from user where age > ?" 25]
(dorun (map #(println %) rows)))))
表结构:
mysql> desc user;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int() | NO | PRI | NULL | auto_increment |
| name | varchar() | YES | | NULL | |
| age | int() | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
问题:在第一次运行代码时控制台提示如下异常:
otFoundException Could not locate clojure/java/jdbc__init.class or clojure/java/jdbc.clj on classpath: clojure.lang.RT.load (RT.java:)
重启Eclipse之后问题解决,好像是Eclipse工具问题引起的。
Clojure操作mysql的更多相关文章
- ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)
操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...
- Python(九) Python 操作 MySQL 之 pysql 与 SQLAchemy
本文针对 Python 操作 MySQL 主要使用的两种方式讲解: 原生模块 pymsql ORM框架 SQLAchemy 本章内容: pymsql 执行 sql 增\删\改\查 语句 pymsql ...
- EF操作MySql
EF的CodeFrist操作MySql的提前准备: 1.安装两个包:MySql.Data和MySql.Data.Entity,在VS中程序包管理器中添加2个包.(备注需要的VS2015,并且EF6支持 ...
- .NET Core 使用Dapper 操作MySQL
MySQL官方驱动:http://www.cnblogs.com/linezero/p/5806814.html .NET Core 使用Dapper 操作MySQL 数据库, .NET Core 使 ...
- asp.net core 1.1 升级后,操作mysql出错的解决办法。
遇到问题 core的版本从1.0升级到1.1,操作mysql数据库,查询数据时遇到MissingMethodException问题,更新.插入操作没有问题. 如果你也遇到这个问题,请参照以下步骤进行升 ...
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
- Python操作MySQL
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- java分享第十七天-03(封装操作mysql类)
JAVA操作mysql所需jar包:mysql-connector-java.jar代码: import java.sql.*; import java.util.ArrayList; import ...
随机推荐
- Flash型单片机的加密与解密
厂商利用单片机进行产品开发时,都会关心其代码和数据的保密性.考虑到用户在编写和调试代码时所付出的时间和精力,代码的成本是不言而喻的. 早期的单片机,代码是交给芯片制造商制成掩膜ROM.有两种加密 ...
- 分布式文件系统glusterfs安装步骤
我的系统是 RHEL5 , 可能环境不一样, 需要安装的第三方依赖不一样啊, 反正大家在安装的过程中缺少什么就去安装什么, 一般都会有提示的. 下载 glusterfs-3.2.0.tar.gz ...
- C++基本要点复习--------coursera程序设计实习(PKU)的lecture notes
因为一些特性复杂,很多时候也用不到一些特性,所以忘记了,算是随笔,也当作一个临时查找的手册.没有什么顺序,很杂. 1.构造函数通过函数重载的机制可以有多个(不同的构造函数,参数个数,或者参数类型不同. ...
- Poj3484-Showstopper(二分脑洞题)
Description Data-mining huge data sets can be a painful and long lasting process if we are not aware ...
- JS中简单的this学习
我在学习JS初期,在使用this的时候经常出现问题,当然就是在现在,也有一些场景不能很好的明白this到底指代的是什么?看下面一个例子: var x = 10; var foo = { x ...
- poj 3669 Meteor Shower(bfs)
Description Bessie hears that an extraordinary meteor shower is coming; reports say that these meteo ...
- python 得到一个元素的所有下标(网友提供:http://www.oschina.net/code/snippet_212212_38917)
def all_index(l,o): def find_index(l,o,start=0): try: index=l.index(o,start) except: index=-1 return ...
- 【多线程】--生产者消费者模式--Lock版本
在JDK1.5发布后,提供了Synchronized的更优解决方案:Lock 和 Condition 我们使用这些新知识,来改进例子:[多线程]--生产者消费者模式--Synchronized版本 改 ...
- Java单元测试:@BeforeClass,@Before,@Test,@After,@AfterClass中的问题详解
在Junit4中还有的测试注解有: @BeforeClass ,@Before,@Test,@After,@AfterClass 1.其中:@BeforeClass,@AfterClass是Juni ...
- Atitit. 最佳实践 QA----减少cpu占有率--cpu占用太高怎么办
Atitit. 最佳实践 QA----减少cpu占有率--cpu占用太高怎么办 跟个磁盘队列长度雅十,一到李80%走不行兰.... 1. 寻找线程too 多的.关闭... Taskman>> ...