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);
}
}
}

java jdbc 封装。。的更多相关文章

  1. Java JDBC封装模式

    模仿DBUtils里面的一些用法,下面是一些简单的实现数据集的操作的方法 下面使用到的两个bean.首先是userbean package bean; public class user { Stri ...

  2. Java JDBC的基础知识(二)

    在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...

  3. 优化JDBC封装

    可重用性较强的JDBC封装 以下为代码,注释中写了主要思想 主类 com.util.JDBCUtil.java package com.util; import java.lang.reflect.F ...

  4. JAVA JDBC(存储过程和事务管理)

    1.什么是存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程 ...

  5. jdbc封装代码

    jdbc封装代码 package jdbcUtil; import java.sql.Connection; import java.sql.DriverManager; import java.sq ...

  6. Java之封装与访问权限控制(二)

    目录 Java之封装与访问权限控制(二) 包:库单元 import import static Java常用包 Java之封装与访问权限控制(二) 访问权限控制是具体实现的隐藏,是封装性的一部分体现. ...

  7. Java JDBC 数据库链接小结随笔

    Java JDBC 数据库链接小结随笔 一.链接数据库的步骤 二.关于Statement  和  PrepareStatement 两者区别 用法 三.关于 ResultSet 的一些小结 四.自定义 ...

  8. JAVA JDBC Template的使用

    JAVA JDBC Template的使用 什么是Template? Spring框架对JDBC的简单封装.提供了一个JDBCTemplate对象简化JDBC的开发 Template使用步骤 导入ja ...

  9. Java面向对象㈠ -- 封装

    Java的面向对象有三大特征:封装.继承.多态.这里主要对封装进行讲解. 封装可以理解为隐藏一个类的成员变量和成员函数,只对外提供需要提供的成员函数. Java的封装主要通过访问权限控制符:priva ...

随机推荐

  1. 如何修改tomcat的端口

    <Connector port="8485" protocol="HTTP/1.1" connectionTimeout="20000" ...

  2. vim 学习日志(1):剪切,复制,粘贴,删除,撤销

    一:光标命令     左h 上j 下k 右l :goto n 表示跳转到文本的第n个字符 :n 表示跳到第n行 nG n为行数,该命令立即使光标跳到指定行:n为空,光标跳到文件最后一行. Ctrl+G ...

  3. Java System.out的输出缓冲

    今天学习了java的正则表达式api,在写例子的时候遇到了让人摸不着头脑的问题:从控制台输入了字符串,却没有输出;直到输入的字符串不能匹配的时,一起与Unabled to match输出.相关代码如下 ...

  4. 3.函数Function

    所谓函数,本质上是一种代码的分组形式.我们可以通过这种形式赋予某组代码一个名字,便于日后重用是调用. function sum(a,b){ var c = a+b; return c; } 1.一个函 ...

  5. C++ 局部变量的析构

    http://blog.chinaunix.net/uid-52437-id-2108747.html 在一个函数内,申明一个局部类变量.则这个变量什么时候析构呢? 并不是在函数退出,释放栈空间时候析 ...

  6. header('Content-type:text/html;charset = utf-8');出现中文乱码

    header('Content-type:text/html;charset = utf-8'); "="两旁不能留空格,必须紧密连写,否则出现乱码;

  7. 15个IT技术人员必须思考的问题

    行内的人自嘲是程序猿.屌丝和码农,行外的人也经常拿IT人调侃,那么究竟是IT人没有价值,还是没有仔细思考过自身的价值? 1.搞IT的是屌丝.码农.程序猿? 人们提到IT人的时候,总会想到他们呆板.不解 ...

  8. Java调用ffmepg+mencoder视频格式转换(*)

    PS: 建议大家在官网下载最新的资源 其他格式转FLV格式,可以用Java调用ffmpeg和memcoder实现 ffmepg: D:\ffmpeg\bin\ffmpeg.exe -i E:\1.mp ...

  9. 《c++程序设计》笔记

    本文是学习谭浩强老师的<c++程序设计>后的笔记. 1.概述 c++是贝尔实验室在c语言的基础上发展而来,与c兼容.用c语言写的程序可以不加修改用于c++.从c++的名字可以看出它是c的超 ...

  10. DIV+CSS滑动门效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...