java学习笔记-jdbc-使用PreparedStatement进行mysql增删改查

使用preparedstatement增删改查

使用PreparedStatement比普通的statement好的一点就是多条相同类型的sql语句可以不用重复写,可以写好一个sql模板然后传入参数 比如:
这里的?就是你接下来要传入的参数

String sql="insert into user(id,name,sex) values(?,?,?)";
String sql="insert into user(id,name,sex) values(?,?,?)";
			ps=conn.prepareStatement(sql);
			ps.setInt(1, id);//根据问号的位置传入不同类型的参数
			ps.setString(2, name);
			ps.setString(3, sex);
			ps.executeUpdate();//全部传入后上传sql语句到数据库,这里如果是查询则用ps.executeQuery()返回值与statement一样

模板


import java.sql.*;

import com.mysql.jdbc.Connection;

public class CRUDTest {
	static java.sql.Connection conn=null;
	static PreparedStatement ps=null;
	static ResultSet rs=null;
	
	//添加一条记录
	static void add(int id,String name,String sex) {
		try {
			conn=DBConnection.getConnection();
			String sql="insert into user(id,name,sex) values(?,?,?)";
			ps=conn.prepareStatement(sql);
			ps.setInt(1, id);
			ps.setString(2, name);
			ps.setString(3, sex);
			ps.executeUpdate();
		}catch(SQLException e) {
			e.printStackTrace();
		}
	}
	
	//查询全部
	static void listAll() {
		try {
			conn=DBConnection.getConnection();
			String sql="select * from user";
			ps=conn.prepareStatement(sql);
			rs=ps.executeQuery();
			while(rs.next()) {
				System.out.println(rs.getInt("id")+"_"+rs.getString("name")+"_"+rs.getString("sex"));
			}
		}catch(SQLException e) {
			e.printStackTrace();
		}
	}
	
	//删除
	static void delete(int id) {
		try {
			conn=DBConnection.getConnection();
			String sql="delete from user where id=?";
			ps=conn.prepareStatement(sql);
			ps.setInt(1, id);
			ps.executeUpdate();
		}catch(SQLException e) {
			e.printStackTrace();
		}
	}
	
	//更新
	static void update(int id,String name,String sex) {
		try {
			conn=DBConnection.getConnection();
			String sql="update user set name=?,sex=? where id=?";
			ps=conn.prepareStatement(sql);
			ps.setString(1, name);
			ps.setString(2, sex);
			ps.setInt(3, id);
			ps.executeUpdate();
		}catch(SQLException e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		//添加
		add(1, "张三", "男");
		//查询
		listAll();
		//修改并查询
		update(1, "张三", "女");
		listAll();
		//删除并查询
		delete(1);
		listAll();
	}
}

你可能感兴趣的:(java学习笔记)