java資料庫開發實例
JDBC連接oracle
import java.sql.*;
public class jdbc
{
String dbUrl="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String theUser="admin";
String thePw="manager";
Connection conn=null;
Statement stmt;
ResultSet rs=null;
public jdbc()
{
try{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
conn = DriverManager.getConnection(dbUrl,theUser,thePw);
stmt=conn.createStatement();
}catch(Exception e){
e.printStackTrace();
}
}
public boolean executeUpdate(String sql)
{
try
{
stmt.executeUpdate(sql);
return true;
}
catch (SQLException e)
{
e.printStackTrace();
return false;
}
}
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
rs=stmt.executeQuery(sql);
}
catch (SQLException e)
{
e.printStackTrace();
}
return rs;
}
public void close()
{
try
{
stmt.close();
conn.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
ResultSet rs;
jdbc stmt = new jdbc(); //定義上面 jdbc 類的對象,並調用其中的查詢方法.
rs=stmt.executeQuery("select * from test");
try{
while (rs.next())
{
System.out.println(rs.getString("id"));
System.out.println(rs.getString("name"));
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
B. 求一個基於JAVA的mysql資料庫開發案例,誰有
資料庫和項目是分開的。不是打包進去的。
只是你在你的代碼裡面操作資料庫而已。
案例啥的你資料庫都沒也沒法弄。
C. 如何使用java代碼創建資料庫實例,
java連接資料庫主要用的是jdbc。
在你指定jdbc的時候需要指定連接字元串。
對於資料庫的不同連接字元串的格式不同。
但是目前發現jdbc連接資料庫都是指定庫名稱的。比如mysql會指定。oracle會指定。sqlserver也會指定。可能是為了安全期間資料庫開發商沒有提供此類不用指定庫名就連接上的方法,主要是為了安全資料庫的安全。個人想法。
目前java連接資料庫動態建表是沒有問題的。只要是標準的sql92語法的都能實現與執行。 但是好像sql92沒有定義如何建庫的語句吧。
還有你需要先確定表和庫的概念。。 表的合集是庫。。。
D. 推薦一本關於用java開發資料庫系統的好書 有實例適合初學者。
推薦你看<<java核心技術>>,分為上下兩卷,已經是第八版了,大概有一千六七百頁;當你看完後,基本的java知識已經掌握了(記住,一定要多練習啊)(我那時候一個暑假看完第一遍,每天看將近十個小時加練習,但是要弄懂,呵呵,至少看個三四遍吧,這兩本書只要能搞懂70%就很不錯了)
這個時候你可以看看<<thinkinginjava>>中文名"java編程思想",這本書寫的比較難,如果你看不懂,那麼你要多做練習,慢慢看,如果看完了,而且懂了,那麼證明你的java水平到達了一個更高的層次;(去參加面試的時候問的那些java知識完全可以應付過來了)(或者你可以先看下面的書,邊看thinkinginjava這本書,這樣也是可以的,而且學習的效率應該會高些)
然後java就會分方向,j2me(手機編程)不建議你去學這個(要學就學android手機編程),已經過時了;j2ee方向(Web編程),先學html,javaScript,css(這些書多得數不清,呵呵),然後就學servlet和jsp,《jsp應用開發詳解》(入門)《Servlet與JSP核心編程》(核心)這兩本書還不錯,然後就可以學SSH(三大框架,這個書一大堆),
學習struts的時候建議你從struts1開始學起《精通Struts基於MVC的JavaWeb設計與開發》,然後就可以學習struts2《Struts2權威指南》,接下來學習Hibernate《精通Hibernate:Java對象持久化技術詳解》,最後學習Spring《spring2.0技術手冊》(提示:只要你java基礎學得好,這些東西都會學得很快)
這個時候你就要把注意力放在設計模式,數據結構和計算機演算法上面來了,設計模式可以先看<<深入淺出設計模式>>然後再看<<java與模式>>,數據結構建議你看清華大學嚴慰敏老師寫的那本教材;計算機演算法要了解基本的排序,如果你不做底層,只做應用的話,沒有必要去看那個<<演算法導論>這本書太難了。(設計模式,數據結構和演算法才是真正的精髓,要有很多年的編程經驗才能夠使用得游刃有餘,光看懂還不行的,一定要多練習,到了這個境界才是真正的java高手)(我學java有三年了,這是我的體會)
等你掌握前面的這些知識之後,推薦你看<<effectivejava>>,這本書是目前java領域公認的高級書籍。在項目中你肯定會遇到一些前端的知識,那麼你得精通javascript,<<JavaScript權威指南>>(入門),<<JavaScript高級程序設計>>(進階),這兩本書弄懂了,那麼學習jquery和extjs都會很快的。
還有要提醒你一下,對於初學者,不要使用eclipse編程工具,建議你先用記事本寫程序,當你比較熟練了之後就可以使用eclipse這些工具了。
不要心急,不要圖快,所有的書要一本本的慢慢看,多看幾遍(一本書看上個四五遍,你就可以成高手,呵呵)。
java基礎(j2se)的重點有:繼承、多態、流、線程、網路編程、反射、集合、資料庫連接、泛型、JNI技術、分布式技術還有解析xml也是很重要的,如果你想學android手機編程,那麼SWING和AWT要熟悉一下。如果你不想學Web編程(j2ee),那麼我建議你可以學android手機編程《Google+Android開發入門與實戰》(入門)《GoogleAndroidSDK開發範例大全》(深入)(建議把android當作業余愛好,把web編程當作主攻方向,因為j2ee包含了大量框架知識),書很多,可以自己去搜。多想多看多練才是王道,不要相信什麼培訓機構,這些都沒啥用,真正學好只能靠你自己。
面向對象思想+java基礎(j2se)+數據結構+設計模式+計算機演算法為核心,學好了這幾個8000元/月輕而易舉,什麼都可以不學好,唯獨這幾科一定要學好,切記切記!
當然,隨著你的技術水平的提高,你還會要學習其他的語言,不過這都是後話,等你把上面的東西掌握了,我再告訴你怎麼學(高並發等內容),哈哈!
E. 求一個簡單又經典的Java與資料庫例子,要有源代碼哦!
//下面的是連接mysql的例子
package com.song.struts.mySql;
import javax.swing.JComponent;
import java.sql.*;
import java.util.*;
// import com.borland.dx.sql.dataset.*;
public class mySqlDao extends JComponent {
private String UserName="root";
private String PWD="root";
private String url;
private Connection cn;
private Statement stmt;
private ResultSet rs = null;
public mySqlDao(){
try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch(java.lang.ClassNotFoundException e){
System.err.println("mydb() org.gjt.mm.mysql.Driver: " + e.getMessage());
}
catch(Exception e) {
e.printStackTrace();
}
}
//////////////////////////////
///返回mysql 連接,connection
/////////////////////////////
public Connection Connect(String dbname,String ip){
try{
String hostip=ip;
Properties myP = new Properties();
myP.setProperty("useUnicode","true");
myP.setProperty("characterEncoding","GB2312");
url="jdbc:mysql://"+hostip+":3306/"+dbname+"?user="+UserName+"&password="+PWD+"";
if(cn!=null){
cn.close();
}
cn=DriverManager.getConnection(url,myP);
stmt= cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
System.out.println("db connect success");
return cn;
}
catch(Exception e){
System.err.println("db connect err"+e.getMessage());
return null;
}
}
//////////////////////////////////
///關閉連接
/////////////////////////////////
public void close(){
try{
if(stmt!=null){
stmt.close();
}
if(cn!=null){
cn.close();
}
System.err.println("db colse success");
}
catch(Exception e){
System.err.println("db close err"+e.getMessage());
}
}
/////////////////////////////////////////////
// 用於進行記錄的查詢操�?,用於select 語句�?
//參數:sql語句�?
//返回:ResultSet對象
///////////////////////////////////////////
public ResultSet executeSelect(String sql) {
try {
stmt=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
return rs;
}
catch(SQLException ex) {
System.err.println("db.executeQuery: " + ex.getMessage());
return null;
}
}
//////////////////////////////////////////////
//用於進行add或�?�update,insert,del等的記錄的操�?,
//入口參數:sql語句
//返回 :true,false
//////////////////////////////////////////////
public boolean executeUpdate(String sql) {
boolean bupdate=false;
try{
stmt=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
int rowCount = stmt.executeUpdate(sql);
if (rowCount!=0)
bupdate=true;
}
catch(SQLException ex) {
System.err.println("db.executeUpdate: " + ex.getMessage());
}
return bupdate;
}
//////////////////////////////////////////////
//用於進行表結構的操作,creat drop,modify等�??
//入口參數:sql語句
//返回 :true,false
//////////////////////////////////////////////
public boolean executeTable(String sql) {
boolean bupdate=false;
try {
stmt= cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
System.out.print("對表的操作的sqlis :||"+sql+"||");
stmt.executeUpdate(sql);
bupdate=true;
}
catch(SQLException ex) {
System.err.println("db.executeTable: "+ex.getMessage());
}
return bupdate;
}
//////////////////////////
//返回資料庫的信息
//////////////////////////
public Statement getLWPAIDStatement(){
try{
return cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch(java.sql.SQLException e){
System.err.println("getAISPStatement():"+e.getMessage());
return null;
}
}
public DatabaseMetaData getLWPAIDMetaData(){
try{
return cn.getMetaData();
}
catch(java.sql.SQLException e){
System.err.println("getAISPMetaData():"+e.getMessage());
return null;
}
}
public static void main(String args[]){
mySqlDao a=new mySqlDao();
a.Connect("mydb", "localhost");
int b=-100;
ResultSet rs=a.executeSelect("select max(bill_id) from t_bill limit 1");
try{
while(rs.next()){
System.out.println("is in");
b=rs.getInt(1);
}
}catch(Exception e){
e.printStackTrace();
}
System.out.println(b);
// java.util.Date date=new java.util.Date();
// System.out.println(date.toString());
// a.executeTable("insert into t_user values(100,'123','1345')");
// a.executeTable("update t_user set insert_date='"+date.toString()+"' where user_id=100");
a.close();
System.out.print(new pub().asc2unicode("�?!"));
}
}
F. 求一個簡單又經典的JAVA資料庫連接的例子,要有源代碼哦!
我就弄的用戶登入的代碼吧.這個挺簡單的.
這是題目:
用戶登陸驗證:
1.創建資料庫Test,並新建用戶表users
欄位包含:username varchar(20) not null
userpwd varchar(20) not null
在JBUILDER中編寫Long類,實現登陸界面,並在用戶輸入用戶名和密碼後,
完成按紐的單擊事件,對用戶輸入的數據進行驗證,
(需要嚴整數據是否為空,密碼長度必須是15位),
並實現與資料庫的連接,將用戶輸入的用戶名密碼與表中的記錄比較,
若用戶名正確且密碼正確,彈出提示框告知登陸成功,否則登陸失敗。
這是代碼:
//連接資料庫
boolean isLogin(String name,String pwd){
boolean flag=false;
Connection conn=null;
PreparedStatement pst=null;
ResultSet rs=null;
//載入驅動
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
//連接資料庫
try {
conn=DriverManager.getConnection("jdbc:odbc:login");
String sql="select * from [user] where username=? and userpwd=?";
pst=conn.prepareStatement(sql);
pst.setString(1,name);
pst.setString(2,pwd);
rs=pst.executeQuery();
if(rs.next())
flag=true;
} catch (Exception ex) {
ex.printStackTrace();
}finally{
try {
conn.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
return flag;
}
//驗證方法
public void jButton1_actionPerformed(ActionEvent e) {
String name=jTextField1.getText();
String pwd=jTextField2.getText();
//錯誤處理
if(name.equals("")||pwd.equals(""))
JOptionPane.showMessageDialog(this,"請輸入完整的信息");
else {
if(isLogin(name,pwd))
JOptionPane.showMessageDialog(this,"登陸成功");
else
JOptionPane.showMessageDialog(this,"用戶名或密碼錯誤");
}
}
}
.....
.....
這是在事件里寫的,
G. 求java與資料庫連接實例,越詳細越好!資料庫是sqlserver2000。
public
class
www
{
public
static
void
main(String[]args)
throws
Exception
{
//第一步:載入驅動(驅動jar包必須加入classpath中)
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//第二步:建立連接(根據實際情況替換資料庫的主機地址、埠號、資料庫明、登錄名、密碼)
Connection
conn
=
DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=shijiuban1",
"sa",
"111111");
System.out.println("當前連接到的資料庫="+conn.getCatalog());//查看當前連接到的資料庫名
//第三步:創建Statement對象
Statement
stmt
=
conn.createStatement();//只讀的結果集
//Statement
stmt2
=
conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);//可更新的結果集
//第四步:執行操作(增刪改查)
ResultSet
rs
=
stmt.executeQuery("select
*
from
stt");
//處理結果
while(rs.next()){
System.out.println(rs.getString("1"));
}
//第五步:關閉連接
conn.close();
}
}
H. Java中對資料庫操作實例
Hibernate映射完之後自己帶了增刪改,還有基本的查詢,還可以使用hql語句查詢。jsp頁面想要連接資料庫就是使用jdbc或者是jndi連接池~~還有odbc·不過一般都不會使用。其中對資料庫的操作,只要使用對應資料庫的操作語句即可!
I. Java實現訪問遠程資料庫的實例
Mysql默認關閉遠程登錄許可權,需要給遠程用戶添加許可權才能連接。
通過select*from mysql.user\G 查看用戶及許可權。
一.允許root用戶在任何地方進行遠程登錄,並具有所有庫任何操作許可權,具體操作如下:
1、在本機先使用root用戶登錄mysql:
mysql -u root -p"password"
2、進行授權操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
3、重載授權表:flush privileges;
二.允許root用戶在一個特定的IP進行遠程登錄,並具有所有庫任何操作許可權,具體操作如下:
1、在本機先使用root用戶登錄mysql:
mysql -u root -p"password"
2、進行授權操作:
GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "password" WITH GRANT OPTION;
3、重載授權表:flush privileges;