oracle数据库程序封装,java连接oracle数据库,自己封装的几个方法

package student;

import java.sql.*;

import java.util.Set;

class method {

/* * 获得statement对象后,可以使用executeUpdate(),executeQuery();等方法来执行sql语句, * a).executeUpdate()是用来执行create table,insert,drop table,alter table等会改变数据库 * 内容的sql语句,它会返回int结果,表示记录变动数目 * b).executeQuery()方法是用于select等查询语句,结果返回java.sql.Result对象代表查询的结果, * 查询的结果会是一条条的记录,然后可以使用getString(),getInt()...得到结果 * 下面首先是connect方法,目的是将繁琐重复的连接数据库代码封装到一个方法里面,方便在下面的插入查询等方法中调用 */

public static Connection connect(){

Connection ct=null;

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

ct=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl",

"scott", "sinstar");

} catch (Exception e) {

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

}

return ct;

}

/* * 最简单的插入方法,不带参数 */

public void insert(){

Connection ct=connect();

ResultSet rs=null;

String sql="insert into student values('9501','丁文峰','男',19,'计算机')";

try {

Statement st= ct.createStatement();

int count=st.executeUpdate(sql);

System.out.println("成功插入一条数据!"+count);

} catch (Exception e) {

System.out.println("插入数据出现错误!");

}

}

/* * 带了参数的方法,刚开始学习的时候,只会statement,不会prepareStatement, * 只能使用字符串的加法来组成一条查询语句 * statement用于执行静态的sql语句 */

public void insert(String sno,String sname,String sex,int age,String sdept){

Connection ct=connect();

ResultSet rs=null;

String sql;

String str1="insert into student values('";

String str2="','";

String str3="',";

String str4=",'";

String str5="')";

Integer i=new Integer(age);

String ageString=i.toString();

sql=str1+sno+str2+sname+str2+sex+str3+ageString+str4+sdept+str5;

//String sql="insert into student values('9501','丁文峰','男',19,'计算机')";

try {

Statement st= ct.createStatement();

int count=st.executeUpdate(sql);

System.out.println("成功插入一条数据!"+count);

} catch (Exception e) {

System.out.println("插入数据出现错误!");

}

}

/* * insert方法的升级版,运用prepareStatement,在方法中添加了参数后 * 可以使用setInt(列,值);等方法来灵活的插入语句, */

public void superInsert(String sno,String sname,String sex,int age,String sdept){

Connection ct=connect();

ResultSet rs=null;

String sql;

Integer i=new Integer(age);

String ageString=i.toString();

//String sql="insert into student values('9501','丁文峰','男',19,'计算机')";

try {

PreparedStatement st= ct.prepareStatement("insert into student values(?,?,?,?,?)");

st.setString(1, sno);

st.setString(2, sname);

st.setString(3, sex);

st.setInt(4, age);

st.setString(5, sdept);

int count=st.executeUpdate();

System.out.println("成功插入一条数据!"+count);

} catch (Exception e) {

System.out.println("插入数据出现错误!");

}

}

public void del(){

}

public void select(){

Connection ct=connect();

try {

Statement sm = ct.createStatement();

ResultSet rs = sm.executeQuery("select * from student");

/* * Statement用于向数据库发送语句;ResultSet代表结果集,它封装了查询到的数据 */

while (rs.next()) {

System.out.print("学号:"+rs.getString("sno"));//rs.getString(1)

System.out.print("姓名:" + rs.getString("sname"));//rs.getString(2)

System.out.print("性别:" + rs.getString(3));

System.out.print("年龄:" + rs.getInt(4));

System.out.println("系别:"+rs.getString(5));

/* * 获取查询结果有两种方法! * 1,使用rs.getInt("列名");或者rs.getString("列名"); * 2,使用rs.getString(1);代表获取第一列,2代表第二列,他是从1开始的,不是0 */

}

rs.close();

sm.close();

ct.close();

} catch (Exception e) {

System.out.println("查询错误!");

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值