如何使用java对oracle数据库进行增删查改

 我来答
百度网友be72e7ff8
2016-01-05 · TA获得超过126个赞
知道小有建树答主
回答量:155
采纳率:100%
帮助的人:51.6万
展开全部
  1. 创建数据库了连接

  2. 编写数据库操作语句

  3. 获取结果


  4. 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.List;

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

    public class BaseDao {
        private static String driver = "oracle.jdbc.driver.OracleDriver";
        private static String url = "jdbc:oracle:thin:@localhost:1521:orcl";
        private static String user = "s2";
        private static String pwd = "s2";

        public static Connection getcon() {
            Connection c = null;
            try {
                Class.forName(driver);
                c = DriverManager.getConnection(url, user, pwd);
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return c;
        }
        public static int executeUpdate(String sql,Object...param){
            Connection c=getcon();
            PreparedStatement p=null;
        
            int num=0;
            try {
                
                p=c.prepareStatement(sql);
                if (param!=null) {
                    for (int i = 0; i < param.length; i++) {
                        p.setObject(i+1, param[i]);
                    }
                }
                num=p.executeUpdate();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                try {
                    p.close();
                    c.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            }
            return num;
        }
        public static Result executeQuery(String sql,Object...param){
            Connection c=getcon();
            PreparedStatement p=null;
            ResultSet rs=null;
            Result r=null;
            try {
                p=c.prepareStatement(sql);
                if (param!=null) {
                    for (int i = 0; i < param.length; i++) {
                        p.setObject(i+1, param[i]);
                    }
                }
                rs=p.executeQuery();
                r=ResultSupport.toResult(rs);
            }catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                try {
                    rs.close();
                    p.close();
                    c.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            }
            return r;
        }
    }


俊20111111
2015-02-16 · TA获得超过2361个赞
知道大有可为答主
回答量:3058
采纳率:44%
帮助的人:1656万
展开全部
创建数据库

选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。

在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点

右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。

执行上述操作后,会弹出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作,

在【数据库名称】文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。

在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。

在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件。

切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。

切换到【文件组】页,在这里可以添加或删除文件组。

完成以上操作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再【对象资源管理器】窗口看到。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2015-02-16 · TA获得超过1562个赞
知道小有建树答主
回答量:674
采纳率:0%
帮助的人:820万
展开全部
下面是一个java 操作orcal数据库的例子,你可以参考一下:
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class BaseDao {
// private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
// private static final String URL="jdbc:sqlserver://localhost:1433;databaseName=orcl";
public static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
public static final String URL = "jdbc:oracle:thin:@localhost:1521:ORCL";
private static final String USERNAME="sa"; //你需要用自己的用户名
private static final String PASSWORD="sa"; //自己的密码
Connection conn=null;
PreparedStatement pst=null;
ResultSet rs=null;

public Connection getConnection(){
try {
Class.forName(DRIVER);
try {
conn=DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

return conn;
}
public void close(){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(pst!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void setParams(Object...params){
if(null!=params){
for(int i=0;i<params.length;i++){
try {
pst.setObject(i+1, params[i]);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public int executeUpdate(String sql,Object...params){
int result=-1;
conn=getConnection();
try {
pst=conn.prepareStatement(sql);
setParams(params);
result=pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
public List<Map<String, Object>> executeQuery(String sql, Object... params) {
List<Map<String, Object>> result = new ArrayList<Map<String, Object>>(); conn = getConnection();
try {
pst = conn.prepareStatement(sql);
setParams(params);
rs = pst.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
Map<String, Object> row = null;
while (rs.next()) {
row = new HashMap<String, Object>();
for (int i = 0; i < columnCount; i++) {
String columnName = rsmd.getColumnName(i + 1);
Object value = rs.getObject(columnName);
row.put(columnName.toLowerCase(), value);
}
result.add(row);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
return result;
}
public int execute(String sql, Object... params) {
int result = -1;
conn = getConnection();
try {
pst = conn.prepareStatement(sql);
setParams(pst, params); result = pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
return result;
} public ResultSet query(String sql, Object... params) {
conn = getConnection();
try {
pst = conn.prepareStatement(sql);
setParams(pst, params);
rs = pst.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
放飞新的人生
2015-12-15 · TA获得超过1707个赞
知道小有建树答主
回答量:405
采纳率:64%
帮助的人:218万
展开全部

最基本的可以使用JDBC操作,一般在service层对数据库进行增删改查。


具体步骤一般如下:


  1. 添加对应数据库的驱动包。

  2. 导入DBUtils工具包,也可以自己手动写一个DBUtils,用于数据库的连接管理。

  3. 编写service层来操作数据库。


JDBC网上有很多资料,可以边查看边练习。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宅男很NB
2015-12-27
知道答主
回答量:11
采纳率:0%
帮助的人:3.6万
展开全部
使用JDBC连接数据库,然后通过Dao层,然后输入sql字符串和参数,去数据库查询,一般会通过持久层缓存一条记录,如果返回多条记录一般通过List来保存,然后将其内容提供给前台页面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式