StringBuffer

10年積累的網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有雅安免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
sqlq=new
StringBuffer("
SELECT
*
FROM
")
;//申明一個(gè)可變字符串
,要存了一個(gè)sql語(yǔ)句,并且由"
SELECT
*
FROM
"可知其為一個(gè)select查詢語(yǔ)句
sqlq.append(DtoMapGroupOptions.DB_TABLE_NAME)
;//DtoMapGroupOptions.DB_TABLE_NAME應(yīng)該是一個(gè)字符串,字面值為一個(gè)表的名稱,要在這個(gè)表里查數(shù)據(jù)
sqlq.append("
ORDER
BY
")
;//這個(gè)制定查出來(lái)的結(jié)果集需要排序
sqlq.append(DtoMapGroupOptions.COLUMN_optionID)
;//DtoMapGroupOptions.COLUMN_optionID應(yīng)該是某一列的列名,根據(jù)這一列來(lái)排序,如果這一列是數(shù)字,那么就會(huì)根據(jù)數(shù)字大小排,字符串可能按abc排,和excel排序時(shí)一樣的,即根據(jù)某一列來(lái)擴(kuò)展至整個(gè)區(qū)域排序
sqlq.append("
DESC
")
;//這個(gè)事制定按降序還是升序,這里是降序
//后面的語(yǔ)句要看上下文,那個(gè)pb不知是什么
ListRow
list
=
null
;
pb.isRequireTotalRow(true);
String
sqlStr=sqlq.toString();
list
=
pb.getInfo(sqlStr,
null,
DtoMapGroupOptions.DATA_SOURCE_ID);//可能是把結(jié)果集放入list中,根據(jù)sqlStr中的sql語(yǔ)句
用這個(gè)類吧.好的話,給我加加分.
import java.sql.*;
/**
* @功能: 一個(gè)JDBC的本地化API連接類,封裝了數(shù)據(jù)操作方法,只用傳一個(gè)SQL語(yǔ)句即可
* @作者: 李開(kāi)歡
* @日期: 2007/
*/
public class ConnectionDemo {
/*
* 這里可以將常量全部放入另一個(gè)類中,以方便修改
*/
private static Connection conn;
private static Statement ps;
private static ResultSet rs;
private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
private static final String USER ="sa";
private static final String PASS = "sa";
public ConnectionDemo() {
// TODO Auto-generated constructor stub
ConnectionDemo.getConnection();
}
public static Connection getConnection(){
System.out.println("連接中...");
try {
Class.forName(ConnectionDemo.DRIVER);
conn = DriverManager.getConnection(ConnectionDemo.URL, ConnectionDemo.USER, ConnectionDemo.PASS);
System.out.println("成功連接");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static Statement getStatement(String sql){
System.out.println("執(zhí)行SQL語(yǔ)句中...");
try {
ps = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
if(sql.substring(0, 6).equals("select")){
rs = ps.executeQuery(sql);
System.out.println("執(zhí)行完查詢操作,結(jié)果已返回ResultSet集合");
}else if(sql.substring(0, 6).equals("delete")){
ps.executeUpdate(sql);
System.out.println("已執(zhí)行完畢刪除操作");
}else if(sql.substring(0, 6).equals("insert")){
ps.executeUpdate(sql);
System.out.println("已執(zhí)行完畢增加操作");
}else{
ps.executeUpdate(sql);
System.out.println("已執(zhí)行完畢更新操作");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ps;
}
public static ResultSet getResultSet(){
System.out.println("查詢結(jié)果為:");
return rs;
}
public static void closeConnection(){
System.out.println("關(guān)閉連接中...");
try {
if (rs != null) {
rs.close();
System.out.println("已關(guān)閉ResultSet");
}
if (ps != null) {
ps.close();
System.out.println("已關(guān)閉Statement");
}
if (conn != null) {
conn.close();
System.out.println("已關(guān)閉Connection");
}
} catch (Exception e) {
// TODO: handle exception
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ConnectionDemo.getConnection();
String sql = "delete from type where id = 1";
ConnectionDemo.getStatement(sql);
String sql2 = "insert into type values(1,'教學(xué)設(shè)備')";
ConnectionDemo.getStatement(sql2);
String sql1 = "select * from type";
ConnectionDemo.getStatement(sql1);
ResultSet rs = ConnectionDemo.getResultSet();
System.out.println("編號(hào) "+"類 型");
try {
while(rs.next()){
System.out.print(" "+rs.getInt(1)+" ");
System.out.println(rs.getString(2));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ConnectionDemo.closeConnection();
}
}
要使用Java編寫(xiě)超市購(gòu)物程序,您需要使用Java數(shù)據(jù)庫(kù)編程技術(shù)來(lái)連接到您的數(shù)據(jù)庫(kù)并執(zhí)行相關(guān)的數(shù)據(jù)庫(kù)操作。在Java中,您可以使用JDBC(Java數(shù)據(jù)庫(kù)連接)API來(lái)連接到數(shù)據(jù)庫(kù)并執(zhí)行SQL語(yǔ)句。例如,您可以使用JDBC API來(lái)執(zhí)行以下操作:
創(chuàng)建數(shù)據(jù)庫(kù)連接
執(zhí)行增刪改查(CRUD)操作
提交或回滾事務(wù)
執(zhí)行存儲(chǔ)過(guò)程和函數(shù)
查詢數(shù)據(jù)庫(kù)元數(shù)據(jù)
此外,您還可以使用Java的面向?qū)ο缶幊碳夹g(shù)來(lái)封裝數(shù)據(jù)庫(kù)操作,以便更方便地在您的程序中使用。例如,您可以創(chuàng)建一個(gè)類來(lái)表示超市商品,并定義一些方法來(lái)執(zhí)行商品的增刪改查操作。這樣,您就可以在程序中通過(guò)調(diào)用這些方法來(lái)簡(jiǎn)單地完成對(duì)數(shù)據(jù)庫(kù)的操作,而不需要編寫(xiě)復(fù)雜的SQL語(yǔ)句。
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class inensshow extends JFrame {
private Connection connection;
private Statement statement;
private ResultSet resultSet;
private ResultSetMetaData rsMetaData;
//GUI變量定義
private JTable table;
private JTextArea inputQuery;
private JButton submitQuery;
public inensshow()
{
//Form的標(biāo)題
super( "輸入SQL語(yǔ)句,按查詢按鈕查看結(jié)果。" );
String url = "jdbc:mysql://localhost:3306/web";
String username = "inens";
String password = "inens";
//加載驅(qū)動(dòng)程序以連接數(shù)據(jù)庫(kù)
try {
Class.forName( "org.gjt.mm.mysql.Driver" );
connection = DriverManager.getConnection(
url, username, password );
}
//捕獲加載驅(qū)動(dòng)程序異常
catch ( ClassNotFoundException cnfex ) {
System.err.println(
"裝載 JDBC/ODBC 驅(qū)動(dòng)程序失敗。" );
cnfex.printStackTrace();
System.exit( 1 ); // terminate program
}
//捕獲連接數(shù)據(jù)庫(kù)異常
catch ( SQLException sqlex ) {
System.err.println( "無(wú)法連接數(shù)據(jù)庫(kù)" );
sqlex.printStackTrace();
System.exit( 1 ); // terminate program
}
//如果數(shù)據(jù)庫(kù)連接成功,則建立GUI
//SQL語(yǔ)句
String test="SELECT * FROM data";
inputQuery = new JTextArea( test, 4, 30 );
submitQuery = new JButton( "查詢" );
//Button事件
submitQuery.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
getTable();
}
}
);
JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
//將"輸入查詢"編輯框布置到 "CENTER"
topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
//將"提交查詢"按鈕布置到 "SOUTH"
topPanel.add( submitQuery, BorderLayout.SOUTH );
table = new JTable();
Container c = getContentPane();
c.setLayout( new BorderLayout() );
//將"topPanel"編輯框布置到 "NORTH"
c.add( topPanel, BorderLayout.NORTH );
//將"table"編輯框布置到 "CENTER"
c.add( table, BorderLayout.CENTER );
getTable();
setSize( 500, 300 );
//顯示Form
show();
}
private void getTable()
{
try {
//執(zhí)行SQL語(yǔ)句
String query = inputQuery.getText();
statement = connection.createStatement();
resultSet = statement.executeQuery( query );
//在表格中顯示查詢結(jié)果
displayResultSet( resultSet );
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}
private void displayResultSet( ResultSet rs )
throws SQLException
{
//定位到達(dá)第一條記錄
boolean moreRecords = rs.next();
//如果沒(méi)有記錄,則提示一條消息
if ( ! moreRecords ) {
JOptionPane.showMessageDialog( this,
"結(jié)果集中無(wú)記錄" );
setTitle( "無(wú)記錄顯示" );
return;
}
Vector columnHeads = new Vector();
Vector rows = new Vector();
try {
//獲取字段的名稱
ResultSetMetaData rsmd = rs.getMetaData();
for ( int i = 1; i = rsmd.getColumnCount(); ++i )
columnHeads.addElement( rsmd.getColumnName( i ) );
//獲取記錄集
do {
rows.addElement( getNextRow( rs, rsmd ) );
} while ( rs.next() );
//在表格中顯示查詢結(jié)果
table = new JTable( rows, columnHeads );
JScrollPane scroller = new JScrollPane( table );
Container c = getContentPane();
c.remove(1);
c.add( scroller, BorderLayout.CENTER );
//刷新Table
c.validate();
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}
private Vector getNextRow( ResultSet rs,
ResultSetMetaData rsmd )
throws SQLException
{
Vector currentRow = new Vector();
for ( int i = 1; i = rsmd.getColumnCount(); ++i )
currentRow.addElement( rs.getString( i ) );
//返回一條記錄
return currentRow;
}
public void shutDown()
{
try {
//斷開(kāi)數(shù)據(jù)庫(kù)連接
connection.close();
}
catch ( SQLException sqlex ) {
System.err.println( "Unable to disconnect" );
sqlex.printStackTrace();
}
}
public static void main( String args[] )
{
final inensshow app =
new inensshow();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
app.shutDown();
System.exit( 0 );
}
}
);
}
}
------------------------------------------------------------
這次在WIN98中就不好使了。因?yàn)镸ysql的驅(qū)動(dòng)程序沒(méi)有也沒(méi)能加入到CLASSPATH 當(dāng)中,但是JSP卻可以使用(JSP的98驅(qū)動(dòng)加載詳見(jiàn)Jsp與Mysql連接查錯(cuò)文章),所以這次我是在XPServer中測(cè)試的。
本文標(biāo)題:數(shù)據(jù)庫(kù)java代碼 java的數(shù)據(jù)庫(kù)
文章地址:http://chinadenli.net/article42/dohgihc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、微信小程序、App設(shè)計(jì)、關(guān)鍵詞優(yōu)化、小程序開(kāi)發(fā)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)