使用PreparedStatement实现增删改功能

一、PreparedStatement简介

   PreparedStatement是Statement的子接口,属于预处理操作,与直接使用Statement不同的是,PreparedStatement在操作时,是先在数据表中准备好一条SQL语句,但是此SQL语句的具体内容暂时不设置,而是之后再进行设置。
    项目开发一般用PreparedStatement,不用Statement。

二、INSERT、UPDATE和DELETE的使用

import java.sql.Connection;
import java.sql.PreparedStatement;
import model.Book;
import util.DbUtil;

public class demo1 {

	/**
	 * 插入图书
	 * @param book
	 * @throws Exception
	 */
	private static void addBook(Book book) throws Exception{
		DbUtil dbUtil = new DbUtil();
		String sql="insert into t_book values(null,?,?,?)";//插入数据
		Connection con = dbUtil.getcon();//获取数据库连接
		PreparedStatement psta = con.prepareStatement(sql);//实例化一个PreparedStatement对象
		psta.setString(1, book.getBookName());//给第一个问号设置值
		psta.setString(2, book.getAuthor());//给第二个问号设置值
		psta.setFloat(3, book.getPrice());//给第三个问号设置值
		int result = psta.executeUpdate();//执行sql语句
		if(result == 1){
			System.out.println("插入数据成功");
		}else{
			System.out.println("插入数据失败");
		}
		dbUtil.close(psta, con);//关闭数据库连接
	}
	
	/**
	 * 更新图书
	 * @param book
	 * @throws Exception
	 */
	private static void updateBook(Book book) throws Exception{
		DbUtil dbUtil = new DbUtil();
		Connection con = dbUtil.getcon();
		String sql="update t_book set bookName=?,author=?,price=? where id=?";
		PreparedStatement psta = con.prepareStatement(sql);
		psta.setString(1, book.getBookName());//给第一个问号设置值
		psta.setString(2, book.getAuthor());//给第二个问号设置值
		psta.setFloat(3, book.getPrice());//给第三个问号设置值
		psta.setInt(4, book.getId());//给第四个问号设置值
		int result = psta.executeUpdate();//提交数据,执行sql语句
		if(result == 1){
			System.out.println("更新数据成功");
		}else{
			System.out.println("更新数据失败");
		}
		dbUtil.close(psta, con);//关闭连接
	}
	
	/**
	 * 删除图书
	 * @param index
	 * @throws Exception
	 */
	private static void deleteBook(int index) throws Exception{
		DbUtil dbUtil = new DbUtil();
		Connection con = dbUtil.getcon();
		String sql="delete from t_book where id=?";
		PreparedStatement psta = con.prepareStatement(sql);
		psta.setInt(1, index);
		int result = psta.executeUpdate();
		if(result == 1){
			System.out.println("删除数据成功");
		}else{
			System.out.println("删除数据失败");
		}
		dbUtil.close(psta, con);//关闭连接
	}
	public static void main(String[] args) throws Exception {
		/*Book book = new Book("java","你好",48);
		addBook(book);//插入数据
		*/
		
		/*Book book = new Book(1,"java1","你不好",34);
		updateBook(book);//更新数据库*/
		
		deleteBook(2);
	}

}


猜你喜欢

转载自blog.csdn.net/above_my_point/article/details/78930644