JDBC之java使用oracle中scott表实现增删改查.1

来源:互联网 发布:美豆数据 编辑:程序博客网 时间:2024/06/08 03:03

Java与oracle数据库连接—–JDBC
Dao工具的创建

**写博客的目的及好处
1,为了把完成的知识点整理出来,
2,等同督促自己做学习总结
3,方便自己及同行者的阅览
4,如有有心者,可以分享更精的知识
————————————————
该案例使用的是oracle中解锁的scott表

案例是在java中使用sql语句来调用数据库中数据,实现在java中实现用户的增删改查操作

oracle 的安装是件头疼的事,意外的就会在安装时让你电脑不得 不去重新装系统了,但是这只是过程,结果我们的电脑上都会有oracle的,我在电脑上设置的oracle状态是手动登陆,就是在电脑–管理—服务,每次开机使用时手动开启,因为,装了oracle电脑就很吃不消额。。。

首先,解锁scott表:在装oracle时使用的密码,去新建一个表空间,在该表中解锁oracle自带的表scott

alter user scott account unlock;---解锁alter user scott identified  by scott123;---设置密码

–在java中使用面向对象,分层模式
使用的是三层模式,
1,数据库访问层
2,业务逻辑层
3,表示层
步骤—
1,创建实体类,
2,创建工具类
3,dao接口,dao 实现类
4,组织界面

一,定义实体
scott表较简单,创建实体时要注意关联关系,封装外键
二,创建工具类
把每一功能细分好,这样可以更加细致的调用
我把连接,执行sql语句,处理结果最后close,最后调用关闭

“`
public class BaseDao{
//类的成员,属性
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
//定义静态常量
private static final String DRIVER_CLASS=“oracle.jdbc.driver.OracleDriver”;
private static final String USER=”scott”;
private static final String PASS=”scott123”;
//连接数据库
public Connection getConnection(){

    try {        Class.forName("oracle.jdbc.drier.OracleDriver");        conn=DriverManager.getConnection(URL,"scott","aya123");    } catch (ClassNotFoundException e) {        // TODO Auto-generated catch block        e.printStackTrace();    } catch (SQLException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    return conn;}//增public int executeUpdate(String sql){    int ret=0;    conn=this.getConnection();    try {        ps=conn.prepareStatement(sql);        ret=ps.executeUpdate();    } catch (SQLException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    return ret;}//重载,带占位符的public int executeUpdate(String sql ,Object[] parms){    int ret=0;    conn=this.getConnection();    try {        ps=conn.prepareStatement(sql);  //获得sql语句得到的数据,放在ps“这两装载车上”        if(parms!=null){            for(int i=0;i<parms.length;i++){                ps.setObject(i+1, parms[i]); //把ps"车上的数数据"分给parms这个数组中            }        }        ret=ps.executeUpdate();//分好了返回1,否则返回0    } catch (SQLException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    return ret;}//重载,public int executeUpdate(String sql ,Object parms){    return executeUpdate(sql,new Object[]{parms});}//List 存放,带占位符public int executeUpdate( String sql,List<Object> parms){    int ret=0;    conn=this.getConnection();    try {        ps=conn.prepareStatement(sql);        if(parms!=null){            for(int i=0;i<parms.size();i++){                ps.setObject(i+1, parms.get(i));            }        }        ret=ps.executeUpdate();    } catch (SQLException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    return ret;}/** * jdbc查询,带占位符 * @param sql * @param parms * @return rs */public ResultSet executeQuery(String sql ,Object[] parms){    conn=this.getConnection();    try {        ps=conn.prepareStatement(sql);        if(parms!=null){            for(int i=0;i<parms.length;i++){                ps.setObject(i+1, parms[i]);            }        }        rs=ps.executeQuery();    } catch (SQLException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    return rs;}//方法重载public ResultSet executeQuery(String sql,Object parms){    return executeQuery(sql,new Object[]{parms});}public ResultSet executeQuery(String sql,List parms){    return executeQuery(sql,parms.toArray());}public ResultSet executeQuery(String sql){    return executeQuery(sql,new Object[]{});}public void close(){    try {        conn.close();        ps.close();        rs.close();    } catch (SQLException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }}
0 0