Ⅰ 求:用Java連接資料庫和簡單的資料庫操作代碼
以上的代碼都不如哥的 且看哥是怎麼寫條理清晰的代碼的!!!
package dbconnection //java 中不存在沒有包的類(講解詳細因為項目需要)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;//引入sql資料庫包
public class DBConnection{
private Connection conn=null;
private Statement stmt=null;
private Result rs=null;
private String jdbc="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String driverManager="jdbc:sqlserver://localhost:1433;databasename=HcitPos";
private String user="admin";
private int password="admin";
public DBConnection{
try{
Class.forName("jdbc");
conn.getConnection("driverManager");
}
catch(Exception e){}
}
public selectMethod(String sql){
stmt=conn.createStatement();
rs=stmt.extcuteQuery("sql");
while(rs.next()){
String title=rs.getString("title");//利用javaBean獲得資料庫中的屬性
String name=rs.getString("name");
.......
System.out.println("title");
System.out.println("name");
......
//當然資料庫的操作有很多 這里簡單介紹下功能的實現
}
}
public void closeDB(){
if(rs != null) rs.close();
if(stmt != null) stmt.close();
if(conn != null) conn.close();
}
}
Ⅱ java常用的資料庫有哪些,好學嗎
常用的,我一般接觸的就這兩種。Oracle、Mysql,資料庫上手其實好使蠻簡單的,簡單的查詢、添加、修改、刪除這四種還是蠻好學的,至於後期的進階這個其實只要邏輯弄順了,再加上知道的方法多一點其實還是不太難,至於大神級的。我還沒有接觸過不知道啥樣了就
Ⅲ Java常用,的資料庫有哪些
Java可實現與絕大多數主流資料庫指晌鍵的連接與操作。
日常企業開發以使用開源資料庫居多。
1)、MySQL數據謹碧庫是目前使用最廣泛最好的免費開源資料庫
2)、MariaDB資料庫是MySQL的一個分支,保持與MySQL的高度兼容性,確保具有庫二進制奇偶校驗的直接替換功能,以及與MySQLAPI和命令的精確匹配,並從MySQL遷移
3)、PostgreSQL資料庫採用的是比較經典的C/S(client/server)結構,也就是一個客戶端對應一個伺服器端守護進程的模式。PostgreSQL擁有非常完美的驅動,並支持標準的ANSI-SQL和擴展功唯巧能
其他還有高付費性產品如Oracle、SQLServer。
Ⅳ 小型java資料庫程序使用什麼資料庫較好
小型資料庫當然要使兄梁用sqlite
SQLite,是一款輕型的關系型資料庫,它佔用羨羨運資源非常的派絕低
或者使用Redis
這是一個開源的使用ANSI C語言編寫、支持網路、可基於內存亦可持久化的日誌型、Key-Value資料庫,
Ⅳ 求一個簡單又經典的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連接資料庫
1、首先我們先建好資料庫,然後建立好程序的目錄,因為是適用於初學者的,所以就建立一個簡單的java project,如圖。
Ⅶ 怎麼用JAVA做一個資料庫,要代碼的!
你的想法有滑拍點可笑
不過感覺你的意思是想做個資料庫管理功能而已
那樣你只需要則森調用資料庫孫讓畝提供的底層驅動
界面化實現你想要的功能
Ⅷ java怎樣將讀取數據寫入資料庫
Java可以使用JDBC對資料庫進行讀寫。JDBC訪問一般分為如下流程:
一、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機), 這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驅動程序類 ,載入驅動失敗!");
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例注冊到DriverManager類中。
二、提供JDBC連接的URL 連接URL定義了連接資料庫時的協議、子協議、數據源標識。
書寫形式:協議:子協議:數據源標識 協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
三、創建資料庫的連接
要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,該對象就代表一個資料庫的連接。
使用DriverManager的getConnectin(String url,String username,String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("資料庫連接失敗!");
se.printStackTrace() ;
} 納核
四、創洞團掘建一個Statement
要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3種類型:
1、執行或碧靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
五、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
六、處理結果 兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些行中數據的訪問。
使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1); // 此方法比較高效(列是從左到右編號的,並且從列1開始)
}
七、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
(8)java簡單資料庫擴展閱讀
樣例
package first;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheledExecutorService;
import java.util.concurrent.TimeUnit;
public class lianjie {
public static void main(String[] args) {
Runnable runnable = new Runnable() {
public void run() {
//聲明Connection對象
Connection con;
//驅動程序名
String driver1 = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//URL指向要訪問的資料庫名
String url1 = "jdbc:sqlserver://IP地址和埠號;DateBaseName=資料庫名";
//MySQL配置時的用戶名
String user1 = "user";
//MySQL配置時的密碼
String password1 = "user";
//聲明Connection對象
Connection con1;
//驅動程序名
String driver2 = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//URL指向要訪問的資料庫名
String url2 = "jdbc:sqlserver://IP地址和埠號;DateBaseName=資料庫名";
//MySQL配置時的用戶名
String user2 = "user";
//MySQL配置時的密碼
String password2 = "user";
//遍歷查詢結果集
try {
//載入驅動程序
Class.forName(driver1);
//1.getConnection()方法,連接MySQL資料庫!!
con = DriverManager.getConnection(url1,user1,password1);
if(!con.isClosed())
System.out.println("成功連接到資料庫!");
try {
//載入驅動程序
Class.forName(driver2);
//1.getConnection()方法,連接MySQL資料庫!!
con1 = DriverManager.getConnection(url2,user2,password2);
if(!con1.isClosed())
System.out.println("成功連接到資料庫!");
//2.創建statement類對象,用來執行SQL語句!!
Statement statement = con.createStatement();
//要執行的SQL語句
String sql = "use 資料庫名 select * from 表名";
//3.ResultSet類,用來存放獲取的結果集!!
ResultSet rs = statement.executeQuery(sql);
//要執行的SQL語句
String sql1 = "use tiantiana insert into Table_1(tiantian,qiqi,yuyu)VALUES(?,?,?)";
//3.ResultSet類,用來存放獲取的結果集!!
PreparedStatement pst = con1.prepareStatement(sql1);
System.out.println ("tiantian"+"/t"+"qiqi"+"/t"+"yuyu");
while(rs.next()){
System.out.print(rs.getString(1));
System.out.print(rs.getString(2));
System.out.print(rs.getString(3));
pst.setString(1,rs.getString(1));
pst.setString(2,rs.getString(2));
pst.setString(3,rs.getString(3));
pst.executeUpdate();
}
pst.close();
rs.close();
//2.創建statement類對象,用來執行SQL語句!!
Statement statement1 = con.createStatement();
//要執行的SQL語句
String sql2 = "use 資料庫名 select * from 表名";
//3.ResultSet類,用來存放獲取的結果集!!
ResultSet rs1 = statement1.executeQuery(sql2);
//要執行的SQL語句
String sql3 = "use tiantiana insert into Table_2(tiantian1,qiqi1,yuyu1)VALUES(?,?,?)";
//3.ResultSet類,用來存放獲取的結果集!!
PreparedStatement pst1 = con1.prepareStatement(sql3);
System.out.println ("tiantian1"+"/t"+"qiqi1"+"/t"+"yuyu1");
while(rs1.next()){
System.out.print(rs1.getString(1));
System.out.print(rs1.getString(2));
System.out.print(rs1.getString(3));
pst1.setString(1,rs1.getString(1));
pst1.setString(2,rs1.getString(2));
pst1.setString(3,rs1.getString(3));
pst1.executeUpdate();
}
//關閉鏈接
rs1.close();
pst.close();
con1.close();
con.close();
} catch(ClassNotFoundException e) {
//資料庫驅動類異常處理
System.out.println("對不起,找不到驅動程序!");
e.printStackTrace();
} catch(SQLException e) {
//資料庫連接失敗異常處理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
System.out.println("資料庫數據成功獲取!!");
}
} catch(ClassNotFoundException e) {
//資料庫驅動類異常處理
System.out.println("對不起,找不到驅動程序!");
e.printStackTrace();
} catch(SQLException e) {
//資料庫連接失敗異常處理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
System.out.println("資料庫數據成功獲取!!");
}
}
};
ScheledExecutorService service = Executors
.();
// 第二個參數為首次執行的延時時間,第三個參數為定時執行的間隔時間
service.scheleAtFixedRate(runnable, 10, 60*2, TimeUnit.SECONDS);
}
}
Ⅸ 怎樣用JAVA語言建自己想要的資料庫
只要把資料庫的連接寫好了,自己寫增刪改查就好了。+
jdbc資料庫連接
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Database
{
public Connection conn = null;
private String url =
"jdbc:microsoft:sqlserver://localhost:1433;databaseName=test";
private String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String user = "sa";
private String pwd = "";
boolean flag;
// 加扒指載驅動
public Database() throws Exception
{
try
{
Class.forName(driver);
}
catch (Exception ex)
{
ex.printStackTrace();
throw ex;
}
}
// 連接資料庫
public void getConn() throws Exception
{
try
{
if (conn == null || conn.isClosed())
{
this.conn = DriverManager.getConnection(url, user, pwd);
}
}
catch (Exception ex)
{
ex.printStackTrace();
throw ex;
}
}
// 關閉conn
public void closeConn(Connection conn)
{
if (conn != null)
{
try
{
conn.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
//關春哪配閉ps
public void closePs(PreparedStatement ps)
{
if (ps != null)
{
try
{
ps.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
// 關閉rs
public void closeRs(ResultSet rs)
{
if (rs != null)
{
try
{
rs.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
//緩虧 查詢
public void getStu() throws Exception
{
PreparedStatement ps = null;
ResultSet rs = null;
try
{
this.getConn();
ps = this.conn.prepareStatement("select * from student");
rs = ps.executeQuery();
while (rs.next())
{
System.out.println(rs.getLong(1));
System.out.println(rs.getString(2));
System.out.println(rs.getLong(3));
System.out.println(rs.getString(4));
System.out.println(rs.getString(5));
}
}
catch (Exception ex)
{
ex.printStackTrace();
throw ex;
}
finally
{
if (rs != null)
{
this.closeRs(rs);
}
if (ps != null)
{
this.closePs(ps);
}
if (conn != null)
{
this.closeConn(conn);
}
}
}
}
Ⅹ java連接資料庫mysql代碼及簡單訪問資料庫
import java.sql.*;
public class DataBasePractice {
public static void main(String[] args) {
//聲明Connection對象
Connection con;
//驅動程序名
String driver = "com.mysql.jdbc.Driver";
//URL指向要訪問的資料庫名mydata
String url = "jdbc:mysql://localhost:3306/mydata";
//MySQL配置時的用戶名
String user = "root";
//MySQL配置時的密碼
String password = "root";
//遍歷查詢結果集
try {
//載入驅動程序
Class.forName(driver);
//1.getConnection()方法,連接MySQL資料庫!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
//2.創建statement類對象,用來執行SQL語句!!
Statement statement = con.createStatement();
//要執行的SQL語句
String sql = "select * from student";
//3.ResultSet類,用來存放獲取的結果集!!
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("執行結果如下所示:");
System.out.println("-----------------");
System.out.println(" 學號" + "\t" + " 姓名");
System.out.println("-----------------");
String name = null;
String id = null;
while(rs.next()){
//獲取stuname這列數據
name = rs.getString("stuname");
//獲取stuid這列數據
id = rs.getString("stuid");
//首先使用ISO-8859-1字元集將name解碼為位元組序列並將結果存儲新的位元組數組中。
//然後使用GB2312字元集解碼指定的位元組數組。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//輸出結果
System.out.println(id + "\t" + name);
}
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//資料庫驅動類異常處理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
//資料庫連接失敗異常處理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
System.out.println("資料庫數據成功獲取!!");
}
}
}
在上面while代碼段後面添加以下代碼段:
String name = null;
String id = null;
while(rs.next()){
//獲取stuname這列數據
name = rs.getString("stuname");
//獲取stuid這列數據
id = rs.getString("stuid");
//首先使用ISO-8859-1字元集將name解碼為位元組序列並將結果存儲新的位元組數組中。
//然後使用GB2312字元集解碼指定的位元組數組。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//輸出結果
System.out.println(id + "\t" + name);
}
PreparedStatement psql;
ResultSet res;
//預處理添加數據,其中有兩個參數--「?」
psql = con.prepareStatement("insert into student values(?,?)");
psql.setInt(1, 8); //設置參數1,創建id為5的數據
psql.setString(2, "xiaogang"); //設置參數2,name 為小明
psql.executeUpdate(); //執行更新
//預處理更新(修改)數據
psql = con.prepareStatement("update student set stuname = ? where stuid = ?");
psql.setString(1,"xiaowang"); //設置參數1,將name改為王五
psql.setInt(2,10); //設置參數2,將id為2的數據做修改
psql.executeUpdate();
//預處理刪除數據
psql = con.prepareStatement("delete from student where stuid = ?");
psql.setInt(1, 5);
psql.executeUpdate();
//查詢修改數據後student表中的數據
psql = con.prepareStatement("select*from student");
res = psql.executeQuery(); //執行預處理sql語句
System.out.println("執行增加、修改、刪除後的數據");
while(res.next()){
name = res.getString("stuname");
id = res.getString("stuid");
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
System.out.println(id + "\t" + name);
}
res.close();
psql.close();