『壹』 java sqlbuilder 與 手寫sql語句 相比, 有哪些優勢和缺點。
注入 用的是對象
select a,b,c from table;
table 是對象 a,b,c 是屬性。
sql中
select a_1,b_1,c_1 from table_1;
table_1 是表名 a_1,b_1,c_1是列名。
兩者查詢結果一樣的。
『貳』 Mac平台上有哪些好的SQL 資料庫開發工具
MySQL + PHP ,適合在LINUX上使用...免費的..開源的... SQL Server,收費的,比較貴...配合ASP/ASP.NET/PHP等..
『叄』 squirrel-sql 是開源免費的軟體嗎
squirrel-sql是開源免費的軟體。
SQuirreL SQL Client 是一個用 Java 編寫的程序,它允許查看資料庫的內容、發出 SQL 命令,執行許多其他功能。構建該圖形化前端是為了支持兼容 JDBC 的資料庫。
SQL Client 主頁中報告了一些在 Java 1.3.0 中使用 SQuirrel Client 的問題。雖然該應用程序在 Java 1.3.1 中運行良好,但「首選的」Java 版本還是 1.4。作為一個 Java 程序,SQuirreL 也具備能夠在多個平台/操作系統上運行的固有能力。
『肆』 四大開源資料庫是哪些
如果打算為項目選擇一款免費、開源的資料庫,那麼你可能會在MySQL與PostgreSQL之間猶豫不定。MySQL與PostgreSQL都是免
費、開源、強大、且功能豐富的資料庫。你主要的問題可能是:哪一個才是最好的開源資料庫,MySQL還是PostgreSQL呢?該選擇哪一個開源資料庫
呢?
在選擇資料庫時,你所做的是個長期的決策,因為後面如果再改變決定將是非常困難且代價高昂的。你希望一開始就選擇正確。兩個流行
的開源資料庫MySQL與PostgreSQL常常成為最後要選擇的產品。對這兩個開源資料庫的高層次概覽將會有助於你選擇最適合自己需要的。
MySQL
MySQL相對來說比較年輕,首度出現在1994年。它聲稱自己是最流行的開源資料庫。MySQL就是LAMP(用於Web開發的軟體包,包括
Linux、Apache及Perl/PHP/Python)中的M。構建在LAMP棧之上的大多數應用都會使用MySQL,包括那些知名的應用,如
WordPress、Drupal、Zend及phpBB等。
一開始,MySQL的設計目標是成為一個快速的Web伺服器後端,使用
快速的索引序列訪問方法(ISAM),不支持ACID。經過早期快速的發展之後,MySQL開始支持更多的存儲引擎,並通過InnoDB引擎實現了
ACID。MySQL還支持其他存儲引擎,提供了臨時表的功能(使用MEMORY存儲引擎),通過MyISAM引擎實現了高速讀的資料庫,此外還有其他的
核心存儲引擎與第三方引擎。
MySQL的文檔非常豐富,有很多質量不錯的免費參考手冊、圖書與在線文檔,還有來自於Oracle和第三方廠商的培訓與支持。
MySQL近幾年經歷了所有權的變更和一些頗具戲劇性的事件。它最初是由MySQL
AB開發的,然後在2008年以10億美金的價格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle支持MySQL的多個版
本:Standard、Enterprise、Classic、Cluster、Embedded與Community。其中有一些是免費下載的,另外一
些則是收費的。其核心代碼基於GPL許可,對於那些不想使用GPL許可的開發者與廠商來說還有商業許可可供使用。
現在,基於最初的
MySQL代碼還有更多的資料庫可供選擇,因為幾個核心的MySQL開發者已經發布了MySQL分支。最初的MySQL創建者之一Michael
"Monty"
Widenius貌似後悔將MySQL賣給了Sun公司,於是又開發了他自己的MySQL分支MariaDB,它是免費的,基於GPL許可。知名的
MySQL開發者Brian Aker所創建的分支Drizzle對其進行了大量的改寫,特別針對多CPU、雲、網路應用與高並發進行了優化。
PostgreSQL
PostgreSQL標榜自己是世界上最先進的開源資料庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那麼昂貴的價格和傲慢的客服。它擁有很長的歷史,最初是1985年在加利福尼亞大學伯克利分校開發的,作為Ingres資料庫的後繼。
PostgreSQL是完全由社區驅動的開源項目,由全世界超過1000名貢獻者所維護。它提供了單個完整功能的版本,而不像MySQL那樣提供了多個
不同的社區版、商業版與企業版。PostgreSQL基於自由的BSD/MIT許可,組織可以使用、復制、修改和重新分發代碼,只需要提供一個版權聲明即
可。
可靠性是PostgreSQL的最高優先順序。它以堅如磐石的品質和良好的工程化而聞名,支持高事務、任務關鍵型應用。
PostgreSQL的文檔非常精良,提供了大量免費的在線手冊,還針對舊版本提供了歸檔的參考手冊。PostgreSQL的社區支持是非常棒的,還有來
自於獨立廠商的商業支持。
數據一致性與完整性也是PostgreSQL的高優先順序特性。PostgreSQL是完全支持ACID特性
的,它對於資料庫訪問提供了強大的安全性保證,充分利用了企業安全工具,如Kerberos與OpenSSL等。你可以定義自己的檢查,根據自己的業務規
則確保數據質量。在眾多的管理特性中,point-in-time
recovery(PITR)是非常棒的特性,這是個靈活的高可用特性,提供了諸如針對失敗恢復創建熱備份以及快照與恢復的能力。但這並不是
PostgreSQL的全部,項目還提供了幾個方法來管理PostgreSQL以實現高可用、負載均衡與復制等,這樣你就可以使用適合自己特定需求的功能
了。
『伍』 現在最成熟的開源nosql是什麼分別有什麼優缺點
Apache三劍客:HBase, Cassandra, CouchDB。HBase的前景最為看好,因為它的開發者眾多並且都是頂尖高手。Cassandra目前有很多否定的聲音。CouchDB的小而精悍,贊譽很多,將要正式發布的CouchBase融合了MemBase和CouchDB,很令人期待。
HBase和Cassandra都是效仿Google的BigTable的基於列的資料庫,它們都是用Java寫的。另外一類似的資料庫是HyperTable,網路用在一些後台分析,因為它是C++寫的,速度比較快。不過HyperTable有點邊緣,不太流行。這些基於列的開源資料庫目前都比Goolge的BigTable差之少一個數量級
CouchDB是一個文檔資料庫。其最大的競爭者是MongoDB。MongoDB和HBase都採用主從伺服器設計。CouchDB的伺服器分布設計和Cassandra類似,Peer to Peer類型的。主從伺服器設計一般能更好的strong consistent,屬於CAP理論中的CP類型。 CouchDB和Cassandra一般認為都是eventual consistent,屬於CAP理論中的AP類型。但其實MongoDB和Cassandra都可以設置成strong consistent或者eventual consistent。
以上所提到的資料庫都支持MapRece。好像出了HyperTable都支持非主鍵索引。HBase和strong consistent配置的MongoDB都支持最基本的鎖定(HBase單行鎖定,MongoDB單文檔鎖定),因此可以實現transaction,但是實現有點復雜和低效。單就transaction這一點,目前開源NoSQL資料庫沒有做的比較好的。
MongoDB的最大賣點是不需構建非主鍵索引也能執行很多查詢。但是MongoDB的伺服器分布設計實在不能讓人恭維,可以說是NoSQL資料庫中最Ugly的實現。
K-V資料庫比較多,而且上面提到的基於列的資料庫和文檔資料庫其實也都是K-V資料庫。比較流行的純種K-V資料庫有:
Memcached: 非常流行,不支持持久化
VMWare's Redis: 很流行,新浪和知乎都在用,CP類型。
MemBase: 由很多Memcached的開發者開發,使用sqlite作底層存儲。在社交遊戲中用的比較多, zynga在用,CP類型。
Riak, 分布式實現和CouchDB/Cassandra比較像,AP類型。支持MapRece。
Linkin's Voldemort, 在K-V中少見的eventual consistent ,AP類型。
TT, TC
純基於二維座標索引的是Neo4j。但是現在MongoDB和CouchDB都集成這一特性。
目前CouchDB的開發者成立的公司CouchOne收購了MemBase,將其底層sqlite換成CouchDB推出了CouchBase,從而引入MapRece以支持非主鍵索引。CouchBase暫時還沒有正式發布官方正式版,不過快了。雖然CouchDB是eventual consistent的,但是CouchBase的開發者宣稱CouchBase保持了MemBase的strong consistent特性,具體實現有待以後研究。
如果從成熟的角度來看,比較成熟並且十分流行的的有CouchDB,Memcached,Redis。
HBase和MongonDB和Cassandra都比較新,處於頻繁更新之中。最有前途的是HBase,但是Hadoop/HBase集群的維護常常需要很多專業人員並且需要構建一個比較大的集群才能最大化體現出威力,因此用戶主要是Facebook, yahoo, 網路和阿里巴巴等大公司。
個人比較期待CouchBase。
轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦
『陸』 急!!!當前流行資料庫比較!要全!
目前,商品化的資料庫管理系統以關系型資料庫為主導產品,技術比較成熟。面向對象的資料庫管理系統雖然技術先進,資料庫易於開發、維護,但尚未有成熟的產品。國際國內的主導關系型資料庫管理系統有Oracle、Sybase、INFORMIX和INGRES。這些產品都支持多平台,如UNIX、 VMS、Windows,但支持的程度不一樣。IBM的DB2也是成熟的關系型資料庫。但是,DB2是內嵌於IBM的AS/400系列機中,只支持 OS/400操作系統。
1.MySQL
MySQL是最受歡迎的開源SQL資料庫管理系統,它由MySQL AB開發、發布和支持。MySQL AB是一家基於MySQL開發人員的商業公司,它是一家使用了一種成功的商業模式來結合開源價值和方法論的第二代開源公司。MySQL是MySQL AB的注冊商標。
MySQL是一個快速的、多線程、多用戶和健壯的SQL資料庫伺服器。MySQL伺服器支持關鍵任務、重負載生產系統的使用,也可以將它嵌入到一個大配置(mass- deployed)的軟體中去。
與其他資料庫管理系統相比,MySQL具有以下優勢:
(1)MySQL是一個關系資料庫管理系統。
(2)MySQL是開源的。
(3)MySQL伺服器是一個快速的、可靠的和易於使用的資料庫伺服器。
(4)MySQL伺服器工作在客戶/伺服器或嵌入系統中。
(5)有大量的MySQL軟體可以使用。
2.SQL Server
SQL Server是由微軟開發的資料庫管理系統,是Web上最流行的用於存儲數據的資料庫,它已廣泛用於電子商務、銀行、保險、電力等與資料庫有關的行業。
目前最新版本是SQL Server 2005,它只能在Windows上運行,操作系統的系統穩定性對資料庫十分重要。並行實施和共存模型並不成熟,很難處理日益增多的用戶數和數據卷,伸縮性有限。
SQL Server 提供了眾多的Web和電子商務功能,如對XML和Internet標準的豐富支持,通過Web對數據進行輕松安全的訪問,具有強大的、靈活的、基於Web的和安全的應用程序管理等。而且,由於其易操作性及其友好的操作界面,深受廣大用戶的喜愛。
3.Oracle
提起資料庫,第一個想到的公司,一般都會是Oracle(甲骨文)。該公司成立於1977年,最初是一家專門開發資料庫的公司。Oracle在資料庫領域一直處於領先地位。 1984年,首先將關系資料庫轉到了桌面計算機上。然後,Oracle5率先推出了分布式資料庫、客戶/伺服器結構等嶄新的概念。Oracle 6首創行鎖定模式以及對稱多處理計算機的支持……最新的Oracle 8主要增加了對象技術,成為關系—對象資料庫系統。目前,Oracle產品覆蓋了大、中、小型機等幾十種機型,Oracle資料庫成為世界上使用最廣泛的關系數據系統之一。
Oracle資料庫產品具有以下優良特性。
(1)兼容性
Oracle產品採用標准SQL,並經過美國國家標准技術所(NIST)測試。與IBM SQL/DS、DB2、INGRES、IDMS/R等兼容。
(2)可移植性
Oracle的產品可運行於很寬范圍的硬體與操作系統平台上。可以安裝在70種以上不同的大、中、小型機上;可在VMS、DOS、UNIX、Windows等多種操作系統下工作。
(3)可聯結性
Oracle能與多種通訊網路相連,支持各種協議(TCP/IP、DECnet、LU6.2等)。
(4)高生產率
Oracle產品提供了多種開發工具,能極大地方便用戶進行進一步的開發。
(5)開放性
Oracle良好的兼容性、可移植性、可連接性和高生產率使Oracle RDBMS具有良好的開放性。
4.Sybase
1984年,Mark B. Hiffman和Robert Epstern創建了Sybase公司,並在1987年推出了Sybase資料庫產品。Sybase主要有三種版本:一是UNIX操作系統下運行的版本; 二是Novell Netware環境下運行的版本;三是Windows NT環境下運行的版本。對UNIX操作系統,目前應用最廣泛的是SYBASE 10及SYABSE 11 for SCO UNIX。
Sybase資料庫的特點:
(1)它是基於客戶/伺服器體系結構的資料庫。
(2)它是真正開放的資料庫。
(3)它是一種高性能的資料庫。
5.DB2
DB2是內嵌於IBM的AS/400系統上的資料庫管理系統,直接由硬體支持。它支持標準的SQL語言,具有與異種資料庫相連的GATEWAY。因此它具有速度快、可靠性好的優點。但是,只有硬體平台選擇了IBM的AS/400,才能選擇使用DB2資料庫管理系統。
DB2能在所有主流平台上運行(包括Windows),最適於海量數據。
DB2在企業級的應用最為廣泛,在全球的500家最大的企業中,幾乎85%以上都用DB2資料庫伺服器,而國內到1997年約佔5%。
除此之外,還有微軟的 Access資料庫、FoxPro資料庫等。既然現在有這么多的資料庫系統,那麼在游戲編程時應該選擇什麼樣的資料庫呢?首要的原則就是根據實際需要,另一方面還要考慮游戲開發預算。現在常用的資料庫有:SQL Server、My SQL、Oracle、FoxPro。其中MySQL是一個完全免費的資料庫系統,其功能也具備了標准資料庫的功能,因此,在獨立製作時,建議使用。 Oracle雖然功能強勁,但它畢竟是為商業用途而存在的,目前很少在游戲中使用到。
『柒』 上有哪些好的SQL資料庫開發工具
1:首選工具pl/sql developer
PL/SQL Developer是一種集成的開發環境,專門用於開發、測試、調試和優化Oracle PL/SQL存儲程序單元,比如觸發器等。PL/SQL Developer功能十分全面,大大縮短了程序員的開發周期
2:Oracle SQL Developer是一個免費的,並完全支持圖形資料庫開發工具。使用SQL Developer,您可以瀏覽資料庫對象,運行SQL語句和SQL腳本,編輯和調試PL / SQL語句。您還可以運行任何報告的數量,以及創建和保存您自己的的。SQL Developer可以提高工作效率並簡化資料庫開發任務。
『捌』 有沒有好用的開源sql語法分析器
開源報表的話有jasperreport、BIRT、jasperreport,但是貌似都不是怎麼發展了
『玖』 怎麼使用sqlbuilder mybatis
怎麼使用sqlbuilder mybatis
1,首先在包下創建Configuration.xml文件,該文件的格式如下:
< xml version="1.0" encoding="UTF-8" > <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ""> <configuration> <environments default="dev"> <environment id="dev"> <transactionManager type="JDBC"$amp;>amp;$lt;/transactionManager> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@192.168.1.20:1521:oa" /> <property name="username" value="zhangsan" /> <property name="password" value="123" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/cissst/oa/data/UserMapper.xml" /> <mapper resource="com/cissst/oa/data/DepartmentMapper.xml" /> </mappers> </configuration>
2,使用myBatis提供的工具類中的方法,從類路徑或Configuration.xml文檔所在位置載入資源文件。
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = null;
// 獲取SqlSessionFactory對象
try {
Reader reader = Resources
.getResourceAsReader("com/cissst/oa/data/Configuration.xml");
factory = builder.build(reader);
} catch (Exception e) {
e.printStackTrace();
}
3,使用工廠對象獲取SqlSession 對象
SqlSession session=factory .openSession(false);
參數如果為true,表示該會話具有自動提交事務的功能,否則需程序員手動提交事務。
4,使用進行資料庫訪問
SqlSession session = super.getSqlSession();
// 構造返回值集合
List<UserEntity> result = new ArrayList<UserEntity>();
try {
// 獲取映射介面
UserMapper userMapper = session.getMapper(UserMapper.class);
// 調用介面中的方法
List<UserEntity> list = userMapper.getUserList(userEntity);
// 提交事務
session.commit();
} catch (Exception e) {
// 回滾事務
session.rollback();
} finally {
// 關閉會話
session.close();
}
『拾』 SQL到底是什麼
sql
SQL全稱是「結構化查詢語言(Structured Query Language)」,最早的是IBM的聖約瑟研究實驗室為其關系資料庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的資料庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的資料庫開發系統,都支持SQL語言作為查詢語言。
SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。他不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的SQL語言作為數據輸入與管理的介面。它以記錄集合作為操縱對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的一個單獨事件只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!