面向对象的JDBC

编写面向对象的jdbc,也即是通过传入对象而非数值来获取sql命令,这使得我们的语句更加凝练和容易理解。
例如,我通过student类创建一个student对象并将其传入sql执行函数当中:
class student
{
private int id;
private String name;
private char sex;
public student(int id,String name,char sex)
{
this.id=id;
this.name=name;
this.sex=sex;
}
public int getid(){
return id;
}
public String getname(){
return name;
}
public char getsex(){
return sex;
}
}
public void addstudent(student stu) throws Exception
{
Connection conn = getConnection();
Statement state = conn.createStatement();
String sql="insert into student1 values "+"("+stu.getid()+",'"+stu.getname()+"','"+stu.getsex()+"')";
state.executeUpdate(sql);
state.close();
conn.close();
}

通过以上观察,我们很容易发现,使用面向对象的jdbc编程,最为麻烦的是我必须编写出准确的sql语句而为此花费大量的精神去检查格式问题,但通过PreparedStatement类可以帮我们以更为科学的方式来解决这个问题。其使用方式如下:
1、编写含占位符的sql语句:
String sql="insert into student1 values (?,?,?)";
2、生成PreparedStatement 对象
PreparedStatement state = conn.prepareStatement(sql);
3、填入参数来填补占位符位置
state.setInt(1, stu.getid());
state.setString(2, stu.getname());
state.setString(3, String.valueOf(stu.getsex()));
4、直接运行execute语句
state.executeUpdate();

通过以上方法,我们可以更为便利的以面向对象的方式来运用jdbc。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值