java中set方法会改变数据库的值_[转载]java对数据库查询,修改,删除,插入数据...

//首先创建数据库,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置数据源(odbc);

//然后再eclipse中创建类(ConnDb,Test,TestBean)ConnDb功能为连接数据库,查询,插入,删除,修改数据的类,Test为含有main方法的测试类,TestBean为数据表中的字段属性及set,get方法

//以下是ConnDb代码:

package db;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

public class ConnDb {

public Connection startConn(Connection

conn){

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn =

DriverManager.getConnection("jdbc:odbc:aaa",

"aaa",

"aaa");

} catch (Exception e) {

System.out.println("连接数据库时出现错误");

}

return conn;

}

public ArrayList executeQuery(String sql){

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

ArrayList list = new

ArrayList();

try {

conn =

startConn(conn);

stmt =

conn.createStatement();

rs =

stmt.executeQuery(sql);//sql为sql语句例如"select * from

表名",从main方法中传进来,这里用的是ArrayList 类将查询结果存储起来

while(rs.next()){

TestBean

tb = new TestBean();

tb.setTid(rs.getString("tid"));

tb.setTname(rs.getString("tname"));

tb.setTinfo(rs.getString("tinfo"));

list.add(tb);

}

} catch (SQLException e)

{

// TODO

Auto-generated catch block

e.printStackTrace();

}finally{

closeConn(rs,stmt,conn);

}

return list;

}

public void executeUpdate(String sql){

Connection conn = null;

Statement stmt = null;

try {

conn =

startConn(conn);

stmt =

conn.createStatement();

stmt.executeUpdate(sql);

} catch (SQLException e)

{

System.out.println("修改,插入或者删除数据库数据时发生错误!");

}finally{

closeConn(stmt,conn);

}

}

public void closeConn(ResultSet rs,Statement

stmt,Connection conn){

try {

if(rs !=

null){

rs.close();

}

if(stmt !=

null){

stmt.close();

}

if(conn !=

null){

conn.close();

}

} catch (SQLException e)

{

// TODO

Auto-generated catch block

System.out.println("关闭数据库的时候发生错误!");

}

}

public void closeConn(Statement stmt,Connection

conn){

try {

if(stmt !=

null){

stmt.close();

}

if(conn !=

null){

conn.close();

}

} catch (SQLException e)

{

// TODO

Auto-generated catch block

System.out.println("关闭数据库的时候发生错误!");

}

}

}

——————————————————————————————

//下面用CachedRowSetImpl 类,用这个类须要用到jdk1.5版本

package db;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import com.sun.rowset.CachedRowSetImpl;

public class NewConnDb {

public Connection startConn(Connection

conn){

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn =

DriverManager.getConnection("jdbc:odbc:aaa",

"aaa",

"aaa");

} catch (Exception e) {

System.out.println("连接数据库时出现错误");

}

return conn;

}

public CachedRowSetImpl executeQuery(String

sql){

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

CachedRowSetImpl rowset =

null;//完全等同于ResultSet

try {

rowset = new

CachedRowSetImpl();

conn =

startConn(conn);

stmt =

conn.createStatement();

rs =

stmt.executeQuery(sql);

rowset.populate(rs);//将ResultSet的查询结果传递到rowset中

} catch (SQLException e)

{

// TODO

Auto-generated catch block

e.printStackTrace();

}finally{

closeConn(rs,stmt,conn);//ResultSet被关闭,但是rowset中依然保存数据

}

return rowset;

}

public void executeUpdate(String sql){

Connection conn = null;

Statement stmt = null;

try {

conn =

startConn(conn);

stmt =

conn.createStatement();

stmt.executeUpdate(sql);

} catch (SQLException e)

{

System.out.println("修改,插入或者删除数据库数据时发生错误!");

}finally{

closeConn(stmt,conn);

}

}

public void closeConn(ResultSet rs,Statement

stmt,Connection conn){

try {

if(rs !=

null){

rs.close();

}

if(stmt !=

null){

stmt.close();

}

if(conn !=

null){

conn.close();

}

} catch (SQLException e)

{

// TODO

Auto-generated catch block

System.out.println("关闭数据库的时候发生错误!");

}

}

public void closeConn(Statement stmt,Connection

conn){

try {

if(stmt !=

null){

stmt.close();

}

if(conn !=

null){

conn.close();

}

} catch (SQLException e)

{

// TODO

Auto-generated catch block

System.out.println("关闭数据库的时候发生错误!");

}

}

}

————————————————————————————

//下面写TestBean类有三个字段(属性,tid,tname,tinfo)

package db;

public class TestBean {

private String tid;

private String tname;

private String tinfo;

public String getTid() {

return tid;

}

public void setTid(String tid) {

this.tid = tid;

}

public String getTinfo() {

return tinfo;

}

public void setTinfo(String tinfo) {

this.tinfo = tinfo;

}

public String getTname() {

return tname;

}

public void setTname(String tname) {

this.tname = tname;

}

}

————————————————————————

//然后写测试类Test

//先用ArrayList类的方法将查询的结果遍历出来

package db;

导入ArrayList类,自动导入(ctrl+shift+o)

public static void main(String [] args){

ConnDb

conn=new ConnDb(); //先实例化ConnDb的一个对象conn

ArrayList

list=new ArrayList();//实例化ArrayList类的一个对象list

conn.executeQuery("select *

from user");//调用executeQuery方法

for(Iterator

it=list.iterator;it.hasNext();){

User

u=(User)it.next(); //强制转换;

System.out.println(rs.getString("tid"));

System.out.println(rs.getString("tname"));

System.out.println(rs.getString("tinfo"));

}

}

——————————————————————————

//下面用CachedRowSetImpl 方法

package db;

import com.sun.rowset.CachedRowSetImpl;

public class Test {

public static void main(String[] args)throws

Exception{

NewConnDb conn = new

NewConnDb();

CachedRowSetImpl rowset =

conn.executeQuery("select tname from test");

while(rowset.next()){

System.out.println(rowset.getString("tname"));

}

rowset.close();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值