/
core.clj
51 lines (41 loc) · 1.15 KB
/
core.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
(ns clojure-sqlite-example.core
(:require [clojure.java.jdbc :refer :all])
(:gen-class))
(def testdata
{ :url "http://example.com",
:title "SQLite Example",
:body "Example using SQLite with Clojure"
})
(def db
{:classname "org.sqlite.JDBC"
:subprotocol "sqlite"
:subname "db/database.db"
})
(defn create-db
"create db and table"
[]
(try (db-do-commands db
(create-table-ddl :news
[[:timestamp :datetime :default :current_timestamp ]
[:url :text]
[:title :text]
[:body :text]]))
(catch Exception e
(println (.getMessage e)))))
(defn print-result-set
"prints the result set in tabular form"
[result-set]
(doseq [row result-set]
(println row)))
(defn output
"execute query and return lazy sequence"
[]
(query db ["select * from news"]))
(defn -main
"launch!"
[]
(create-db)
(insert! db :news testdata)
(print-result-set (output)))
;(comment keys (first output))
;(comment :body (first output))))