(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"]
])
(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)