⑴ Java Web 項目,資料庫建表
Java 使用executeUpdate向資料庫中創建表格
一、創建mysql.ini文件,配置如下
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/select_test
user=root
pass=123456
這樣以後修改資料庫的配置直接在mysql.ini文件中修改。
二、編寫代碼
initParam方法: 獲得mysql.ini中的數據
createTale方法: 連接資料庫,並且executeUpdate執行sql語句。此例的sql文件為創建表語句。
main方法: 傳入Sql語句。
class ExecuteDDL {
private String driver;
private String url;
private String user;
private String pass;
Connection conn;
Statement stmt;
public void initParam(String paramFile) throws Exception {
Properties props = new Properties();
props.load(new FileInputStream(paramFile));
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
pass = props.getProperty("pass");
}
public void createTale(String sql) throws Exception{
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,user,pass);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
}
finally
{
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
ExecuteDDL ed = new ExecuteDDL();
ed.initParam("src/mysql.ini");
ed.createTale("create table student " +
"(id int, " +
"name varchar(50), " +
"num varchar(20) )");
System.out.println("Creating table success!");
}
注意事項:傳入的Sql語句最好在MySql測試通過,並且傳入的mysql.int文件的路徑必須正確。
當執行完畢後,在MySql的select_test資料庫中查看該Student表是否已經創建成功了。
三、使用executeUpdate方法,向表中插入數據。
將上面的創建表的Sql語句改為插入數據表的語句,執行executeUpdate方法,其結果就是想表中插入數據。
創建insertSql變數。
private static String insertSql = "insert into student values(1,'XiaoMing','06108787')";
執行插入語句。
ed.createTale(insertSql);
⑵ java語言如何動態循環創建mysql資料庫基本表,可以實現嗎
下面是一個簡單的連接MySQL資料庫,並操作資料庫表的例子:
import java.sql.*;
public class TestMysql {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//載入驅動
Class.forName("com.mysql.jdbc.Driver");
//創建連接
conn = DriverManager
.getConnection("jdbc:mysql://localhost/bbs?user=用戶名&password=密碼");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from user");
while (rs.next()) {
String user = rs.getString(1);
String password = rs.getString(2);
System.out.println("用戶名:" + user + "," +" 密碼:" + password );
}
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
當然前提是要把MySQL的連接驅動JAR文件添加到工程里
⑶ 求一個簡單又經典的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("�?!"));
}
}
⑷ 求一個簡單又經典的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,"用戶名或密碼錯誤");
}
}
}
.....
.....
這是在事件里寫的,
⑸ java 操作 資料庫
Java連接資料庫是使用具體資料庫的JDBC驅動程序來實現的,每一個資料庫的驅動程序不同。
以下是一段示例代碼:
1.Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); //載入資料庫JDBC驅動,該驅動會自動注冊連接所需信息。
2.String url="jdbc:oracle:thin:@localhost:1521:orcl"; //定義連接字元串
String user="test"; //用戶名
String password="test"; //密碼
3.Connection conn= DriverManager.getConnection(url,user,password);//通過DriverManager獲取資料庫連接引用
4.Statement sql = conn.createStatement(Resultset.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);//生成一個Statement
5.ResultSet rs = sql.executeQuery("SELECT * FROM 表");//獲取記錄集引用
6.System.out.println(rs('欄位一'));//輸出當前一行表頭為『欄位一』的數據。
以下再提供給你幾個常用資料庫的連接方式(驅動通常都是一個jar包,可以去資料庫提供商官網下載):
1、Oracle8/8i/9i資料庫(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl為資料庫的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
2、DB2資料庫
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample為你的資料庫名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
3、Sql Server7.0/2000資料庫
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb為資料庫
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
4、Sybase資料庫
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";
//myDB為你的資料庫名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
5、Informix資料庫
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//myDB為資料庫名
Connection conn= DriverManager.getConnection(url);
6、MySQL資料庫
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB為資料庫名
Connection conn= DriverManager.getConnection(url);
7、PostgreSQL資料庫
Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/myDB"
//myDB為資料庫名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
另外一種方式是針對Windows的,首先建立一個DSN,然後使用Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");和"jdbc:odbc:數據源名稱"來獲取連接引用,不過這樣平台依賴性很大,不推薦這樣做。
希望我的回答對你有所幫助!