package DML2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
//从命令行读入参数并添加进MySql数据库中
public class TestDml2 {
public static void main(String[] args) {
String className = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "1234";
Connection mySqlconn=null;
PreparedStatement ps = null;
ResultSet rs = null;
Statement st = null;
String dname = null;
Integer dID = null;
System.out.println("插入一个数据 请输入参数");
if(args.length!=2)
{
System.out.println("输入数值错误 请重新输入");
}
try{
dname = args[0];
dID = Integer.parseInt(args[1]);
}catch (NumberFormatException e) {
System.out.println("请输入正确的数值 第一个参数为字符型 第二个参数为数值型");
}
try{
Class.forName(className).newInstance();
mySqlconn= DriverManager.getConnection(url, user, password);
if(mySqlconn.isClosed()== false)
{
System.out.println("MySql已连接");
}
// //更新一条记录
// ps = mySqlconn.prepareStatement("update student set Name = ? where ID = ?");
// ps.setString(1, "吴财");
// ps.setInt(2, 1);
// ps.executeUpdate();
//插入一条记录
ps = mySqlconn.prepareStatement("insert into student values(?,?)");
ps.setString(1, dname);
ps.setInt(2, dID);
ps.executeUpdate();
st = mySqlconn.createStatement();
//显示所有数据
ps = mySqlconn.prepareStatement("");
rs = ps.executeQuery("select * from student");
while(rs.next())
{
String rss = rs.getString("Name");
System.out.println(rss);
}
}catch(ClassNotFoundException e){
e.printStackTrace();
System.out.println("ClassNotFoundException");
}catch(SQLException ee){
ee.printStackTrace();
}catch( InstantiationException eee){
eee.printStackTrace();
}catch(IllegalAccessException eeee){
eeee.printStackTrace();
}finally{
try{
//关闭各个连接 后打开的先关闭
if(rs != null){
rs.close();
rs = null;//关闭后设置为空 让垃圾收集器收集回去 节省资源
}
if(ps != null){
ps.close();
ps = null;//关闭后设置为空 让垃圾收集器收集回去 节省资源
}
if(mySqlconn != null){
mySqlconn.close();
if(mySqlconn.isClosed()== true)
{
System.out.println("MySql的连接已经关闭");
}
mySqlconn = null;//关闭后设置为空 让垃圾收集器收集回去 节省资源
}
}catch(SQLException e){
e.printStackTrace();//所有catch到的Exception以后都需要用log4j记录!
}
}
}
}