数据库-JDBC-PreparedStatement 接口引入

PreparedStatement 是 Statement 的子接口,属于预处理操作,与直接使用 Statement 不同的是,PreparedStatement在操作时,是先在数据表中准备好了一条 SQL 语句,但是此 SQL 语句的具体内容暂时不设置,而是之后再进行设置。
(以后开发一般用 PreparedStatement,不用 Statement)
与上一章讲的Statement类似,只是更加简单,这里直接贴代码并附上注释
使用 PreparedStatement 接口实现添加,更新,删除数据的操作:

package 加载驱动实例;

import java.sql.Connection;
import java.sql.PreparedStatement;

public class Demo2
{
	static util util1 = new util();
	//增加数据的方法
	public static int addDate(_Book book) throws Exception
	{
		Connection con = util1.getCon();  //获取连接对象
		
		//下面是重点语句,语句中的应该填值的地方,用?暂时填充,它表示的
		//意思是这个sql语句先存在,值稍后再传进去
		String sql = "insert into t_book values(null,?,?,?);";  //sql语句
		
		PreparedStatement prep = con.prepareStatement(sql);   //预处理
		//这里就是设置 预先填?的地方 
		prep.setString(1, book.getBookName());          //设置变量
		prep.setInt(2, book.getBookNameId());
		prep.setDouble(3, book.getPrice());
		int result = prep.executeUpdate();
		return result;
	}
	//更新数据的方法
	public static int upDateDate(_Book book) throws Exception
	{
		Connection con = util1.getCon();  //获取连接对象
		String sql = "update t_book set bookName = ?, bookNameId = ?, price = ? where id = ? ";  //sql语句
		PreparedStatement prep = con.prepareStatement(sql);   //预处理
		prep.setString(1, book.getBookName());          //设置变量
		prep.setInt(2, book.getBookNameId());
		prep.setDouble(3, book.getPrice());
		prep.setInt(4, book.getId());
		int result = prep.executeUpdate();
		util1.close(prep, con);
		return result;
	}
	//删除数据的方法
	public static int deleteDate(_Book book)throws Exception
	{
		Connection con = util1.getCon();  //获取连接对象
		String sql = "delete from t_book where id = ?; ";  //sql语句
		PreparedStatement prep = con.prepareStatement(sql);   //预处理
		prep.setInt(1, book.getId());
		int result = prep.executeUpdate();
		util1.close(prep, con);
		return result;
	}
	
	public static void main(String[] args)throws Exception
	{
		int result ;
		_Book book = new _Book("王者三国",3,99.65);  //一个图书实例
		result = addDate(book);  //增加数据
		System.out.print(result);
		
		book.setId(5);  //设置id
		result = upDateDate(book);  //更新数据
		System.out.print(result);

		int result = deleteDate(book); //删除数据
		System.out.print(result);
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值