Java基础--数据库连接方式

来源:互联网 发布:java 数组tostring 编辑:程序博客网 时间:2024/06/04 17:50
提供给大家一个在java中连接数据库的方式:


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;


import javax.swing.table.AbstractTableModel;


public class ElectriciHomeSmartModel extends AbstractTableModel   {
   Vector rowData, columnNames ;
   PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;


public void init(String sql) {
columnNames=new Vector();
columnNames.add("家具列表:");//这里设置的是列名,相当于数据库表中的字段名

rowData=new Vector();

try {//这部分是重点
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//设置驱动
ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=SmartHome","sa","123456");//连接数据库,这里用个是jdbc的方式,是直接操作数据库的一种方式
ps=ct.prepareStatement(sql);//获得sql语句。
rs=ps.executeQuery();


while (rs.next()) {

//hang用来储存每一行各个字段的数据
Vector hang = new Vector();
hang.add(rs.getString(1));
hang.add(rs.getString(2));
hang.add(rs.getString(3));



//rowData用来储存一行的数据
rowData.add(hang);
}

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
try {
if(rs!=null){
rs.close();

if (ps!=null) {
ps.close();
}
if (ct!=null) {
ct.close();

}
} catch (Exception e2) {
// TODO: handle exception
e2.printStackTrace();
}

}
 
}
public ElectriciHomeSmartModel (String sql){
this.init(sql);
}


//用于获得行的数量
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return this.rowData.size();
}

//用于获得列的数量
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return this.columnNames.size();

}

//用于获得字段名

@Override
public String getColumnName(int arg0) {
// TODO Auto-generated method stub
return (String) this.columnNames.get(arg0);
}

//定位到某行某列中的一个数据
@Override
public Object getValueAt(int row, int column) {
// TODO Auto-generated method stub
return ((Vector)this.rowData.get(row)).get(column);
}


}
0 0
原创粉丝点击