❶ oracle工具類怎麼實現連接資料庫
1. Java.sql包中定義的常用的基本的JDBC API:
類DriverManager-管理一組JDBC 驅動程序的基本服務
介面Connection-獲得與特定資料庫的連接
介面Statement-用於執行靜態SQL 語句並返回它所生成結果的對象
介面ResultSet-表示資料庫結果集的數據表,通常通過執行查詢資料庫的語句生成
類SQLException-有關資料庫操作的異常
2.Oracle 資料庫的JDBC 驅動程序文件「classes14.jar」(Oracle 官方網站下載),導入jar包
此版本的Oracle版本為10g,以測試用戶scoot為例
3.定義私有變數
[java] view plain print?
<span style="white-space:pre"> </span>private static Connection conn;
private static String userName = "scott";
private static String userPwd = "tiger";
private static ResultSet rs;
❷ jsqlparser.jar能作為一個工具類進行使用嗎
package net.sf.jsqlparser.statement;
/**
* An operation on the db (SELECT, UPDATE ecc.)
*/
public interface Statement {
void accept(StatementVisitor statementVisitor);
}
常見的Statement有:Select,Create,Drop,Insert,Delete等,它們作為Statement實現類,均實現accept方法。這是Visitor模式的典型應用,貫穿JSqlParser解析SQL語句的每個角落。這里你只需要知道Statement對應StatementVisitor。如果要針對SQL語句進行定製化處理,你只需實現StatementVisitor介面即可。
以查詢語句(Select)為例,下面是Select類的方法截圖:
❸ 怎麼使用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界面
Hsqldb是一個開放源代碼的JAVA資料庫,其具有標準的SQL語法和JAVA介面,它可以自由使用和分發,非常簡潔和快速的。具有Server模式,進程內模式(In-Process)和內存模式(Memory-Only)三種。運行Hsqldb需要hsqldb.jar包, 它包含了一些組件和程序。每個程序需要不同的命令來運行。它位於項目的lib目錄下,目前的版本是1.8.0.5。官方的下載地址是:
在介紹這些模式之前我們需要了解一些Hsqldb所涉及的一些文件。每個Hsqld資料庫包含了2到5個命名相同但擴展名不同的文件,這些文件位於同一個目錄下。例如,名位"test"的資料庫包含了以下幾個文件:
test.properties <o:p></o:p>
test.script <o:p></o:p>
test.log <o:p></o:p>
test.data <o:p></o:p>
test.backup
properties文件描述了資料庫的基本配置。 script文件記錄了表和其它資料庫對象的定義。log文件記錄了資料庫最近所做的更新。data文件包含了cached(緩沖)表的數據,而backup文件是將data文件壓縮備份,它包含了data文件上次的最終狀態數據。所有這些文件都是必不可少的,千萬不可擅自刪除。但如果你的資料庫沒有緩沖表(cached table),test.data和test.backup文件是不會存在。
接下來我們對Hsqldb的三種模式進行簡單介紹,同時包括部分工具的啟動的方式。
<o:p>一、 Server模式</o:p>
Server模式提供了最大的可訪問性。應用程序(客戶端)通過Hsqldb的JDBC驅動連接伺服器。在伺服器模式中,伺服器在運行的時候可以被指定為最多10個資料庫。根據客戶端和伺服器之間通信協議的不同,Server模式可以分為以下三種:
1、 Hsqldb Serve
這種模式是首選的也是最快的。它採用HSQLDB專有的通信協議。啟動伺服器需要編寫批處理命令。Hsqldb提供的所有工具都能以java class歸檔文件(也就是jar)的標准方式運行。假如hsqldb.jar位於相對於當前路徑的../lib下面。我們的命令將這樣寫:
java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 mydb -dbname.0 demoDB
現在你可能會疑惑,[-database.0 ]、 [dbname.0]為什麼在後面加[0]。_... ...我們不是在前面說服務模式運行的時候可以指定10個資料庫嗎,如有多個資料庫,則繼續寫命令行參數-database.1 aa -dbname.1 aa -database.2 bb-dbname.2 bb ... ...
新建文本文件保存上面命令,文件名可以隨意,將後綴名改成bat,然後直接執行批處理文件即可。在以後介紹的執行啟動工具的命令採用同樣方法。
上面啟動伺服器的命令啟動了帶有一個(默認為一個資料庫)資料庫的伺服器,這個資料庫是一個名為"mydb.*"文件,這些文件就是mydb.Properties、mydb.script、mydb.log等文件。其中demoDB是mydb的別名,可在連接資料庫時使用。<o:p></o:p>
<o:p>2、 Hsqldb Web Server</o:p>
<o:p> 這種模式只能用在通過HTTP協議訪問資料庫伺服器主機,採用這種模式唯一的原因是客戶端或伺服器端的防火牆對資料庫對網路連接強加了限制。其他情況下,這種模式不推薦被使用。</o:p>
<o:p> 運行web伺服器的時候,只要將剛才命令行中的主類(main class)替換成:org.hsqldb.WebServer</o:p><o:p></o:p>
3、 Hsqldb Servlet
這種模式和Web Server一樣都採用HTTP協議,當如Tomcat或Resin等servlet引擎(或應用伺服器)提供資料庫的訪問時,可以使用這種模式。但是Servlet模式不能脫離servlet引擎獨立啟動。為了提供資料庫的連接,必須將HSQLDB.jar中的hsqlServlet類放置在應用伺服器的相應位置。
Web Server和Servlet模式都只能在客戶端通過JDBC驅動來訪問。Servlet模式只能啟動一個單獨的資料庫。請注意做為應用程序伺服器的資料庫引擎通常不使用這種模式。<o:p></o:p>
連接到以Server模式運行的資料庫
當HSQLDB伺服器運行時,客戶端程序就可以通過hsqldb.jar中帶有的HSQLDB JDBC Driver連接資料庫。
java 代碼
try{
Class.forName("org.hsqldb.jdbcDriver") ;
}catch(ClassNotFoundException e){
e.printStackTrace();
}
Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/xdb", "sa", "");
註:hsqldb的默認用戶是sa密碼為空。修改默認密碼的方法我們將在工具使用部分做出介紹。
<o:p></o:p> 二、 In-Process模式
In-Process模式又稱Standalone模式。這種模式下,資料庫引擎作為應用程序的一部分在同一個JVM中運行。對於一些應用程序來說, 這種模式因為數據不用轉換和通過網路的傳送而使得速度更快一些。其主要的缺點就是默認的不能從應用程序外連接到資料庫。所以當應用程序正在運行的時候,你不能使用類似於Database Manager的外部工具來查看資料庫的內容。在<st1:chsdate isrocdate="False" w:st="on" year="1899" day="30" islunardate="False" month="12">1.8.0</st1:chsdate>版本中,你可以從同一個JVM的一個線程裡面來運行一個伺服器實例,從而可以提供外部連接來訪問你的In-Process資料庫。
推薦的使用In-Process模式方式是:開發的時候為資料庫使用一個HSQLDB 伺服器實例,然後在部屬的時候轉換到In-Process內模式。
一個In-Process模式資料庫是從JDBC語句開始啟動的,在連接URL中帶有指定的資料庫文件路徑作為JDBC的一部分。例如,假如資料庫名稱為testdb,它的資料庫文件位於與確定的運行應用程序命令相同的目錄下,下面的代碼可以用來連接資料庫:
Connection c = DriverManager.getConnection("jdbc:hsqldb:file:testdb<v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" o:extrusionok="f" gradientshapeok="t"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" title="" style="WIDTH: 5.25pt; HEIGHT: 5.25pt" alt="" outside="" page="" o:button="t" type="#_x0000_t75" visit=""><v:imagedata src="file:///C:\DOCUME~1\lunch\LOCALS~1\Temp\msohtml1\12\clip_image001.gif" o:href=""></v:imagedata></v:shape>", "sa", "");
資料庫文件的路徑格式在Linux主機和Windows主機上都被指定採用前斜線("/")。所以相對路徑或者是相對於相同分區下相同目錄路徑的表達方式是一致的。使用相對路徑的時候,這些路徑表示的是相對於用於啟動JVM的shell命令的執行路徑。
三、Memry-Only資料庫
Memory-Only資料庫不是持久化的而是全部在隨機訪問的內存中。因為沒有任何信息寫在磁碟上。這種模式通過mem:協議的方式來指定:
Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:dbName", "sa", "");
你也可以在server.properties中指定相同的URL來運行一個Memory-Only(僅處於內存中)伺服器實例。
注意事項:當一個伺服器實例啟動或者建立一個in-process資料庫連接的時候,如果指定的路徑沒有資料庫存在,那麼就會創建一個新的空的資料庫。這個特點的副作用就是讓那些新用戶產生疑惑。在指定連接已存在的資料庫路徑的時候,如果出現了什麼錯誤的話,就會建立一個指向新資料庫的連接。為了解決這個問題,你可以指定一個連接屬性ifexists=true只允許和已存在的資料庫建立連接而避免創建新的資料庫,如果資料庫不存在的話,getConnection()方法將會拋出異常。
四、 工具的使用
Hsqldb提供的主要的工具類:
org.hsqldb.util.DatabaseManager
org.hsqldb.util.DatabaseManagerSwing
org.hsqldb.util.Transfer
org.hsqldb.util.QueryTool
org.hsqldb.util.SqlTool
其中DatabaseManage和Sql Tool,只能用命令行參數來運行。你可以在命令行後面加上參數-?來查看這些工具可用的參數列表。其他工具可以通過DatabaseManager的主界面啟動,便於互動式操作。
為了便於操作,我們同樣把這些工具啟動的命令做成批處理文件。方法和前面我們所介紹的創建啟動服務模式命令的方法一樣。在這里我們再強調一次hsqldb.jar的位置,因為所有啟動命令都是參照hsqldb.jar的位置編寫的
如果您覺得麻煩你也可以採用絕對路徑編寫命令。
現在我們一起運行AWT版本的DatabaseManager工具,hsqldb.jar位於相對於當前路徑的../lib下面,命令如下:
Java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager
將命令保存為後綴名為bat的批處理文件,保存為DatabaseManager.bat,也可根據個人習慣命名。執行DatabaseManager.bat你將看到如下畫面:。
現在對這個簡潔的登錄界面做個簡單的介紹*_*
Recent:選擇你最近的登錄方案,[可選]
Setting Name:本次登錄方案名稱,如果本次登錄成功,那麼等你下次登錄的時候在Recent下拉列表中將看到你的成功登錄方案[可選]
Type:登錄模式,其中包括In-Memory模式、Standalone(In-process)模式、Server模式、WebServer模式... ...[必選]
Driver:連接資料庫的驅動程序[必選]
URL:連接資料庫的URL[必選]
User:用戶名[必選]
Password:密碼[ 除非密碼為空]
註:如果Type項選擇Server模式或者WebServer模式需要你事先啟動與之對應的服務模式。而Standalone(In-process)默認是不支持DatabaseManager連接的,具體原因我們已經在前面解釋過。至於In-Memory可以隨意登錄,所有的操作數據都不會記錄在本地磁碟。而Type還有很多其他選項,具體的用法可以參考官方文檔,位置在hsqldb目錄\doc\guide\ guide.pdf。
如果你想運行DatabaseManagerSwing也很簡單,相信你已經想到了。我們只需要把啟動DatabaseManager命令修改成:
Java -cp ../lib/hsqldb.jar org.hsqldb.util. DatabaseManagerSwing
兩種工具的操作方法類似,這里就不再贅述。
差點忘記,前面我說過要給出修改sa用戶密碼的方法。最後再佔用大家一點點時間。當你用SA通過DatabaseManager登錄成功後會出現如下界面:
在右上方的空白區域輸入set password "newpassword" 點擊執行即可。
到這里我們對Hsqldb的簡單介紹就結束了。
本文參考自Hsqldb的官方文檔,個人水平有限難免出現錯誤,
❺ 寫查詢SQL的工具類,不管輸入什麼SQL,都能顯示出查詢結果.應該怎麼做.編程語言是Java
var
sql:string;
begin
sql :=select dfxx.zhh as 總戶號,jbxx.dh as 段號,dfxx.nf as 年份,dfxx.yf as 月份,dfxx.je as 金額,dfxx.znj as 滯納金,dfxx.je+dfxx.znj as 合計,dfxx.sfqf as 是否欠費,jbxx.hm as 戶名 from dfxx,jbxx where (jbxx.dh=:edit1.text) and xx.zhh=jbxx.zhh ';
if combobox1.text <> '' then
sql := sql + ' and jbxx.sffs=:combobox1.text';
if combobox2.text <> '' then
sql := sql + ' and dfxx.nf=:combobox2.text';
if combobox3.text <> '' then
sql := sql + ' and dfxx.yf=:combobox3.text';
adoquery.sql.text := sql;
adoquery.open;
end;
❻ java的servlet中對decimal類型執行sql語句怎麼寫..有bean 有資料庫連接工具類...
當做普通字元串就行 真不行就給bigdecimal對象來個toString轉化成字元串寫入資料庫
❼ C#中如何寫一個關於SQL資料庫的類,然後在其它地方用呢越詳細越好。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;//因為我的資料庫是sqlserver2005,所以導入的是該資料庫對應的命名空間
namespace ListView
{
class DBHelper
{
static string sql = "Data Source=.;Initial Catalog=MySchool;Integrated Security=True";//此處的連接字元串是自動生成。具體操作:打開vs2005或08或10,找到菜單項中的「視圖」,選擇「伺服器資源管理器」--添加新的資料庫連接,會彈出一個窗口,如果資料庫裝在本機,就在「伺服器名」那欄上添上一個點--「 . 」,再選擇「測試連接」,等待彈出連接成功後的信息框後點「高級」,復制下面的確定按鍵上的一行自動生成的連接字元串就ok。
public static SqlConnection con = new SqlConnection(sql);//用public static修飾是為了能在其他的類中用 類名.屬性 的方式應用。此2句構成一個完整的資料庫連接工具類,通常取名為
「DBHelper」
}
}
希望對樓主有幫助。
❽ mybatics的sql方法怎麼寫
大致步驟:
SQL語句寫在映射文件中,mapper.xml中。
然後寫一個工具類,創建連接。
寫DAO方法,調用sqlsession方法(前提實體類)
❾ eclipse 連接 sql 資料庫,是每個類一個連接語句呢,還是整個程序一個語句,插到什麼地方環境已經配置好
對連接資料庫要實行封裝的思想,一個項目的話,有成百上千的表是非常有可能的,進行各種各樣的查詢,連接更是多的不行,如果每個類都要進行連接,那是代碼冗餘了,現在又一些非常好的連接池技術,你可以參考一下,像hibernate,spring都有配置,spring的jdbcTemplate就非常好使。每個類一個連接,有時會忘記關閉連接,會造成內存溢出的。
❿ 如何通過java將sql資料庫的內容顯示再列表中
你的資料庫已經聯上了,我就不寫連接資料庫的代碼了,連接資料庫的代碼你可以寫意個工具類,然後寫成靜態的方法,想要連接直接調用就好了!
下面給你看下操作資料庫的代碼
public
List
find()
{
Connection
conn
=
null;
PreparedStatement
ps
=
null;
ResultSet
rs
=
null;
List
list
=
new
ArrayList();
conn
=
JdbcUtil.getConnection();
try
{
conn.setAutoCommit(false);
String
sql
=
"select
*
from
student";
ps
=
conn.prepareStatement(sql);
rs
=
ps.executeQuery();
while(rs.next()){
Student
student
=
new
Student();
student.setId(rs.getInt(1));
student.setName(rs.getString(2));
student.setAddress(rs.getString(3));
list.add(student);
}
}
catch
(SQLException
e)
{
//
TODO
Auto-generated
catch
block
e.printStackTrace();
}finally{
JdbcUtil.close(conn,
ps,
rs);
}
return
list;
}
你可知直接直接把這幾項用system列印在控制台上就好student.setId(rs.getInt(1));
student.setName(rs.getString(2));
student.setAddress(rs.getString