JDBC工具类。。。
package it.cast.jdbcutils; import java.io.InputStream;
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.Properties; public class JdbcUtils {
private static String JDriver=null;
private static String connectDB=null;
private static String username=null;
private static String password=null; static {
try { InputStream in =null; in= JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties"); Properties prop=new Properties(); prop.load(in); JDriver=prop.getProperty("JDriver"); connectDB=prop.getProperty("connectDB");
username=prop.getProperty("username");
password=prop.getProperty("password"); Class.forName(JDriver);
System.out.println("数据库连接成功");
}
catch (Exception e)
{
throw new ExceptionInInitializerError("连接失败");
}
} public static Connection getConnection() throws SQLException
{
return DriverManager.getConnection(connectDB,username,password);
}
public static void release (Connection conn,Statement st,ResultSet rs)
{
if(rs!=null)
{
try
{
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(st!=null)
{
try
{
st.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(conn!=null)
{
try
{
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
System.out.println("数据库已经断开连接");
}
//增删改方法。
public static void query(String sql,Object params []) throws SQLException
{
Connection conn =null;
PreparedStatement st=null;
ResultSet rs = null;
conn = JdbcUtils.getConnection();
try
{
//获取数据连接
conn = JdbcUtils.getConnection();
//获取数据库对象并对SQL进行预编译
st =conn.prepareStatement(sql);
//获取传进来的SQL,和传进来的参数。并进行赋值。
for(int i=;i<params.length;i++)
{
st.setObject(i+,params[i]);
System.out.println(params[i]);
}
//执行
st.executeUpdate(); }
finally
{
//释放
JdbcUtils.release(conn, st, rs);
} } }
//实体类。
package in.cast.dao; public class data {
private String date;
private Integer num;
public data (String date,Integer num)
{
this.date=date;
this.num=num;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public int getNum() {
return num;
}
public void setNum(Integer num) {
this.num = num;
}
public String toString()
{
return date+" : "+num ;
}
}
测试:
package in.cast.dao;
import it.cast.jdbcutils.JdbcUtils;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class JDBC_TEST {
public static void main (String [] args) throws Exception
{ JDBC_TEST T=new JDBC_TEST(); HashMap<Integer,data> m=T.insert(); DataSearch(m); }
public static void DataSearch(HashMap<Integer, data> m) {
Set<Map.Entry<Integer,data>> entryset=m.entrySet(); Iterator <Map.Entry<Integer,data>>it=entryset.iterator(); while(it.hasNext())
{
Map.Entry<Integer,data> mp=it.next();
System.out.println(mp.getKey()+" : "+mp.getValue()); }
}
public HashMap<Integer,data> insert() throws Exception
{
HashMap<Integer,data> mp = new HashMap<Integer,data>();
String s1;
Integer s2;
Connection conn=null;
Statement st=null;
ResultSet rs=null;
Integer iCount=0;
try
{
//获取数据库连接
conn=JdbcUtils.getConnection(); //返回一个statement,作用于发送SQL语句 。
st = conn.createStatement();
//SQL 语句
String sql=" select * from tt ; " ;
//返回一个数据集
rs = st.executeQuery(sql) ; //update
//循环
while(rs.next())
{
iCount++;
s1=rs.getString("日期");//等同getObject(column_name)
s2=Integer.parseInt(rs.getString("存入"));
mp.put(iCount,new data(s1,s2)); }
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
JdbcUtils.release(conn,st, rs);
} return mp;
}
配置文件:
JDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver
connectDB=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test
username=sa
password=123
JDBC。
package in.cast.dao;
import java.sql.*;
public class test1{
public static void main(String[] args) {
//com.microsoft.sqlserver.jdbc.SQLServerDriver 2008
String JDriver="com.microsoft.sqlserver.jdbc"; 2005
String connectDB="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test"; try{
Class.forName(JDriver);//通过反射加载驱动。
}catch(ClassNotFoundException e)
{ System.out.println("数据库连接异常"); //这里可以抛出一个自定义异常
}
System.out.println("锟斤拷菘锟斤拷锟缴癸拷"); try{
String user="sa";
String password="123";
Connection con=DriverManager.getConnection(connectDB,user,password); Statement stmt=con.createStatement(); //建表
String query="create table TABLE1(ID NCHAR(2),NAME NCHAR(10))";
//提交语句
stmt.executeUpdate(query); String a1="INSERT INTO TABLE1 VALUES('1','a')";
String a2="INSERT INTO TABLE1 VALUES('2','b')";
String a3="INSERT INTO TABLE1 VALUES('3','c')";
stmt.executeUpdate(a1);
stmt.executeUpdate(a2);
stmt.executeUpdate(a3); ResultSet rs=stmt.executeQuery("SELECT * FROM TABLE1"); while(rs.next()){ System.out.println(rs.getString("ID")+"\t"+rs.getString("NAME"));
} //从建表到插入数据到查询 。仅为熟悉语句。 stmt.close();
con.close();
}catch(SQLException e){
e.printStackTrace(); System.exit(0);
}
}
}