3.源码实战:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; /*MySQL数据库编程 * 实例(4):使用PreparedStatement灵活指定SQL语句中的变量*/ public class JDBC_PreparedStatement { public static void main(String[] args) { if(args.length!=3) //输入不正确,非正常退出 { System.out.println( "Parament Error,Please Input Again!"); System.exit(-1); } String nameParam=args[0]; //获取命令行第一个参数 int ageParam=Integer.parseInt(args[1]); //获取命令行第二个参数,并转换为整型 int scoreParam=Integer.parseInt(args[2]);//获取命令行第三个参数,并转换为整型 //0.连接数据库相关参数 String url="jdbc:mysql://localhost:3306/jdbc_test_db"; //数据库URL(资源定位唯一标识符) String DBusername="root"; //数据库用户名 String DBpasswd="111111"; //数据库密码 //1.加载数据库驱动,将Driver注册到DriverManager中 try{ Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundException e){ e.printStackTrace(); } //2.通过数据库URL连接到数据库 Connection conn=null; PreparedStatement prestmt=null; try{ conn=DriverManager.getConnection(url, DBusername, DBpasswd); //3.获取PreparedStatement对象 String sql="insert into test(name,age,score) values(?,?,?)"; prestmt=conn.prepareStatement(sql); prestmt.setString(1, nameParam); //分别给变量设值 prestmt.setInt(2, ageParam); prestmt.setInt(3, scoreParam); prestmt.execute(); }catch(SQLException e){ e.printStackTrace(); } //5.释放JDBC资源 if(prestmt!=null) //关闭声明 { try{ prestmt.close(); }catch(SQLException e){ e.printStackTrace(); } } if(conn!=null) //关闭连接 { try{ conn.close(); }catch(SQLException e){ e.printStackTrace(); } } } }(1)设置命令行参数 右击工程->Run as->Open Run Dialog->Main Class选择"JDBC_PreparedStatement"
二、批处理SQL语句 (1)源代码
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; /*MySQL数据库编程 * 实例(5):JDBC批量处理DML语句.分别尝试Statement、PreparedStatement*/ public class JDBC_Batch { public static void main(String[] args) { //0.连接数据库相关参数 String url="jdbc:mysql://localhost:3306/jdbc_test_db"; //数据库URL(资源定位唯一标识符) String DBusername="root"; //数据库用户名 String DBpasswd="111111"; //数据库密码 //1.加载数据库驱动,将Driver注册到DriverManager中 try{ Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundException e){ e.printStackTrace(); } //2.通过数据库URL连接到数据库 Connection conn=null; PreparedStatement prestmt=null; try{ conn=DriverManager.getConnection(url, DBusername, DBpasswd); //3.获取PreparedStatement对象 String sql="insert into test(name,age,score) values(?,?,?)"; prestmt=conn.prepareStatement(sql); prestmt.setString(1,"aaa"); prestmt.setInt(2, 19); prestmt.setInt(3, 55); prestmt.execute(); //a.添加第一条插入记录 prest