用JAVA连接数据库,实现对数据库中的表的插入,修改,删除

sky_today 2011-06-14 11:12:10
我用的是eclipse软件, 怎样实现对表的插入,修改,删除效果呢?
请各位 大虾 帮帮忙 指导指导我下下 ·
加急
...全文
598 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang527 2011-12-20
  • 打赏
  • 举报
回复
我有好几个这样的小项目! 文件比较大 不好发!
Wier_Chen 2011-12-19
  • 打赏
  • 举报
回复
分享才有快乐,我很欣赏
rember0087 2011-12-19
  • 打赏
  • 举报
回复
我总结了下一个文件,java版SQLHelper
http://user.qzone.qq.com/363840915?ptlang=2052&ADUIN=444853603&ADSESSION=1324254613&ADTAG=CLIENT.QQ.3847_FriendTip_QzoneFolder.0#!
Lifehopeness 2011-12-19
  • 打赏
  • 举报
回复
lz好吝啬哪~~~~~~~~~~楼上很伟大
用眼神瞬杀你 2011-12-18
  • 打赏
  • 举报
回复

package com.dao;

import java.io.Serializable;
import java.sql.*;

import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;

public class BaseDAO implements Serializable {
private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL = "jdbc:sqlserver://localhost:1433;databasename=JavaWeb";
private static final String UID = "sa";
private static final String PWD = "123456";

public static Connection getConnection() {
Connection con = null;
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL, UID, PWD);
} catch (Exception e) {
e.printStackTrace();
}
return con;
}

// 运行有结果,没参数的sql语句
public static Result runSelectSql(String sql) {
Connection con = null;
PreparedStatement ps = null;
ResultSet res = null;
Result result = null;
try {
con = getConnection();
ps = con.prepareStatement(sql);
res = ps.executeQuery();
result = ResultSupport.toResult(res);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
res.close();
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return result;
}

// 运行有结果,有参数的sql语句
public static Result runSelectSql(String sql, Object[] params) {
Connection con = null;
PreparedStatement ps = null;
ResultSet res = null;
Result result = null;
try {

con = getConnection();
ps = con.prepareStatement(sql);
for (int i = 0; i < params.length; i++) {
ps.setObject(i + 1, params[i]);
}
res = ps.executeQuery();
result = ResultSupport.toResult(res);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
res.close();
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return result;
}

// 运行没结果,没参数的sql语句
public static boolean runUpdateSql(String sql) {
Connection con = null;
PreparedStatement ps = null;
try {
con = getConnection();
ps = con.prepareStatement(sql);
ps.executeUpdate();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
try {
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}

}

// 运行没结果,有参数的sql语句
public static boolean runUpdateSql(String sql, Object[] params) {
Connection con = null;
PreparedStatement ps = null;
try {
con = getConnection();
ps = con.prepareStatement(sql);
for (int i = 0; i < params.length; i++) {
ps.setObject(i + 1, params[i]);
}
ps.executeUpdate();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
try {
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

// 有结果,有参数的存储过程
public static Result runProcSelect(String procName, Object[] params) {
Connection con = null;
CallableStatement cs = null;
ResultSet res = null;
Result result = null;
try {
con = getConnection();
String proc = "{call " + procName + "(";
for (int i = 0; i < params.length; i++) {
proc += "?,";
}
proc = proc.substring(0, proc.length() - 1) + ")}";
cs = con.prepareCall(proc);

for (int i = 0; i < params.length; i++) {
if (params[i] != null) // 说明是输入参数
{
cs.setObject(i + 1, params[i]);
} else // 否则输出参数,就要注册
{
// 第一个为位置,第二个是类型
cs.registerOutParameter(i + 1, java.sql.Types.VARCHAR);
}
}
res = cs.executeQuery();// 只是执行了存储过程,但是还没有把执行赋给输出参数
result = ResultSupport.toResult(res);
for (int i = 0; i < params.length; i++) {
if (params[i] == null) // 说明是输出参数
{
params[i] = cs.getObject(i + 1); // 把执行存储过程之后位于cs的值赋给参数pamras
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
cs.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return result;
}

// 没结果,有参数的存储过程
public static boolean runProcUpdate(String procName, Object[] params) {
Connection con = null;
CallableStatement cs = null;
try {
con = getConnection();
String proc = "{call " + procName + "(";
for (int i = 0; i < params.length; i++) {
proc += "?,";
}
proc = proc.substring(0, proc.length() - 1) + ")}";
cs = con.prepareCall(proc);

for (int i = 0; i < params.length; i++) {
if (params[i] != null) // 说明是输入参数
{
cs.setObject(i + 1, params[i]);
} else // 否则输出参数,就要注册
{
// 第一个为位置,第二个是类型
cs.registerOutParameter(i + 1, java.sql.Types.VARCHAR);
}
}
cs.executeUpdate();// 只是执行了存储过程,但是还没有把执行赋给输出参数
for (int i = 0; i < params.length; i++) {
if (params[i] == null) // 说明是输出参数
{
params[i] = cs.getObject(i + 1); // 把执行存储过程之后位于cs的值赋给参数pamras
}
}
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
try {
cs.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}

}
}
jcyabc 2011-12-16
  • 打赏
  • 举报
回复
我有一个程序可以实现修改和删除,你要的话可以找我,这里复制不了,代码有点长

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧