Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > java数据库操作
【标  题】:java数据库操作
【关键字】:java
【来  源】:http://blog.csdn.net/deanjob/archive/2007/03/06/1522158.aspx

java数据库操作

Your Ad Here

数据库操作可以中WEB开发中最常用到的,很多Java开发工具都提供了自动的Data bean WinZard.只要数据库建立好,相应的操作数据库的Bean就基本可以自动完成,手工录入觉得也不是很麻烦的事情,下面我常用的数据库操作bean,完全可以对付访问量不是很大的系统 :

Mysql类:

import java.sql.*;
import java.io.*;
/**
* 处理数据库的连接和访问
* @author sanware bqlr
* @version 1.01
*/
public class Mysql {

private Connection conn = null;
private Statement stmt = null;
private PreparedStatement prepstmt = null;

//这是一个全局类,里面放置数据库的参数,如数据库主机 访问用户名 密码等
private static BeansConstants CONST = BeansConstants.getInstance();

/**
* 构造数据库的连接和访问类
*/
public Mysql() throws Exception {
Class.forName(CONST.dbdriver);
conn = DriverManager.getConnection(CONST.dburl);
stmt = conn.createStatement();
}
public Mysql(String sql) throws Exception {
Class.forName(CONST.dbdriver);
conn = DriverManager.getConnection(CONST.dburl);
this.prepareStatement(sql);
}

/**
* 返回连接
* @return Connection 连接
*/
public Connection getConnection() {
return conn;
}
/**
* PreparedStatement
* @return sql 预设SQL语句
*/
public void prepareStatement(String sql) throws SQLException {
prepstmt = conn.prepareStatement(sql);
}
/**
* 设置对应值
* @param index 参数索引
* @param value 对应值
*/
public void setString(int index,String value) throws SQLException {
prepstmt.setString(index,value);
}
public void setInt(int index,int value) throws SQLException {
prepstmt.setInt(index,value);
}
public void setBoolean(int index,boolean value) throws SQLException {
prepstmt.setBoolean(index,value);
}
public void setDate(int index,Date value) throws SQLException {
prepstmt.setDate(index,value);
}
public void setLong(int index,long value) throws SQLException {
prepstmt.setLong(index,value);
}
public void setFloat(int index,float value) throws SQLException {
prepstmt.setFloat(index,value);
}
//File file = new File("test/data.txt");
//int fileLength = file.length();
//InputStream fin = new java.io.FileInputStream(file);
//mysql.setBinaryStream(5,fin,fileLength);
public void setBinaryStream(int index,InputStream in,int length) throws SQLException {
prepstmt.setBinaryStream(index,in,length);
}

public void clearParameters()
throws SQLException
{
prepstmt.clearParameters();
}
/**
* 返回预设状态
*/
public PreparedStatement getPreparedStatement() {
return prepstmt;
}
/**
* 返回状态
* @return Statement 状态
*/
public Statement getStatement() {
return stmt;
}
/**
* 执行SQL语句返回字段集
* @param sql SQL语句
* @return ResultSet 字段集
*/
public ResultSet executeQuery(String sql) throws SQLException {
if (stmt != null) {
return stmt.executeQuery(sql);
}
else return null;
}
public ResultSet executeQuery() throws SQLException {
if (prepstmt != null) {
return prepstmt.executeQuery();
}
else return null;
}
/**
* 执行SQL语句
* @param sql SQL语句
*/
public void executeUpdate(String sql) throws SQLException {
if (stmt != null)
stmt.executeUpdate(sql);
}
public void executeUpdate() throws SQLException {
if (prepstmt != null)
prepstmt.executeUpdate();
}
/**
* 关闭连接
*/
public void close() throws Exception {
if (stmt != null) {
stmt.close();
stmt = null;
}
if (prepstmt != null) {
prepstmt.close();
prepstmt = null;
}
conn.close();
conn = null;
}
}

Mysql建立好后,以后涉及数据库的操作,只要对象化Mysql就可以:

private String page_navlink_insert="insert into page_navlink values (?,?,?,?)";


public void insertnavlink() throws Exception
{
  ResultSet rs=null;
  try {
    Mysql mysql = new Mysql(page_navlink_insert);
    mysql.setInt(1,this.siteid);
    mysql.setInt(2,this.pageid);
    mysql.setString(3,this.navlinkname);
    mysql.setString(4,this.pagefile);
    mysql.executeUpdate();

    mysql.close();
    mysql = null;

  } catch (Exception ex) {
    throw new Exception("insertnavlink()"+ex.getMessage());
  }

}

在Jsp中,就可以直接使用一句语句使用insertnavlink()了:

<jsp:useBean id="NAV" scope="session" class="mysite.Navlink" />
<jsp:setProperty name="NAV" property="*" />
........
NAV.insertnavlink();
......

频繁访问数据库,需要使用连接池,在tomcat 4.0中配置JNDI,稍微修改一下上面程序就可使用连接池.Tomcat的连接池配置和J2EE类似,因此程序不用修改,也可直接运行在J2EE上.
也可以使用第三方连接池, 如很有名的Poolman.

 
JXL实例:【上一篇】
must be an instance of com.sun错误的解决:【下一篇】
【相关文章】
  • 在JAVA中实现数据库存储过程的统一调用
  • 用Java操作Windows注册表
  • 用java访问windows注册表
  • 学习JAVA二个月写的计算器程序
  • JavaScript的系统函数学习
  • Java操作XML文件 dom 篇
  • Java操作XML文件 dom4j 篇
  • [整理]JavaScript的混合继承方法
  • 用汉字也可以编Java程序
  • Java帝国的王储--Groovy !
  • 【随机文章】
  • FreeBSD nessusd命令介绍
  • 杭州 Linux 开发人才奇缺
  • 这个星号 ? 蓖ㄖ狝SP.NET自动引入在
  • MsAjax Lib-> Array.forEach 函数
  • truncate 和delete的区别
  • Linux内核编程(前言)
  • 使 .bash_profile 文件中环境变量马上生效的命令
  • 安装配置E-mail服务器
  • 巨资铺路 免费网游究竟何去何从
  • Java 执行影音文件(操作系统中播放器必需要能够支持的播放格式)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.