首页 > 代码库 > Clojure操作mysql
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(11) | NO | PRI | NULL | auto_increment || name | varchar(10) | YES | | NULL | || age | int(11) | YES | | NULL | |+-------+-------------+------+-----+---------+----------------+
问题:在第一次运行代码时控制台提示如下异常:
otFoundException Could not locate clojure/java/jdbc__init.class or clojure/java/jdbc.clj on classpath: clojure.lang.RT.load (RT.java:443)
重启Eclipse之后问题解决,好像是Eclipse工具问题引起的。
Clojure操作mysql
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。