jdbc+sql+preparedStatement使用预编译实现增添数据

来源:互联网 发布:搜歌词的软件 编辑:程序博客网 时间:2024/06/01 08:20
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;


public class testInsert {
//通过参数,插入一条记录
public static void testInsert(String username,String pwd,String status,String qq,String time){
//声明连接对象,语句对象,以便可以在finally中关闭
Connection conn=null;
PreparedStatement pstmt=null;
try{
//加载驱动类,不同数据库软件驱动类不同
Class.forName("com.mysql.jdbc.Driver");
//使用DriverManager获得连接对象,其中url每个数据库不同
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf8",
"root","1234");
//获得预编译语句对象,PreparedStatement,SQL语句中使用?占位
String sql="insert into user values(?,?,?,?,?)";
pstmt=conn.prepareStatement(sql);
//对占位设置具体值
pstmt.setString(1, username);
pstmt.setString(2, pwd);
pstmt.setString(3, status);
pstmt.setString(4, qq);
pstmt.setString(5, time);
//执行更新
pstmt.executeUpdate();
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}finally{
//将语句对象,连接对象,进行关闭
if(pstmt!=null){
try{
pstmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
if(conn!=null){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
}

public static void main(String[] args){
testInsert("wangxh008","1","2","988235336","2018-02-02 22:22:22");
}

}


心得:使用?进行占位的预编译JDBC与数据库的连接,使用更灵活高效,同时避免了sql语句使用加号连接容易产生错误等麻烦。

阅读全文
0 0