*Connection : 连接数据库并担任传送数据的任务*Statement : 执行SQL语句*ResultSet :保存Statement执行后产生的查询结果1.注册驱动
Class.forName(JDBC驱动类);2.获取数据库连接
Connection con=DriverManager.getConnection(JDBC url,数据库用户名,密码);3.获得 Statement对象
Statement stmt=con.createStatement();4.执行SQL语句
ResultSet rs=stmt.executeQuery(select a,b from table);5.处理执行结果while(rs.next()){int x=rs.getInt("a");
String s=rs.getString("b");*数据类型要相匹配
}6.释放资源1.rs.close();2.stmt.close();3.con.close();*顺序倒过来依次关闭
实例:
Java使用PreparedStatement接口插入数据库信息publicclass PreparedStatementDemo01 {public static final String DBDRIVER ="org.gjt.mm.mysql.Driver";public static final String DBURL = "jdbc:mysql://localhost:3306/";public static final String DBUSER ="root";public static final String DBPASS ="root";public static void main(String args[]) throws ParseException, ClassNotFoundException, SQLException
{
Connection conn= null; //数据库连接
PreparedStatement pstmt= null; //数据库操作
Statement stmt= null;
ResultSet rs= null; //Rs接口
String name="黄鹏";
String password= "1598741";int age = 21;
String sex="男";
String birthday="1992-04-30";
Datetemp = null;temp = new SimpleDateFormat("yyyy-MM-dd").parse(birthday);
java.sql.Date bri= new java.sql.Date(temp.getTime());//创建数据库操作语句
String sql1= "CREATE DATABASEMyDemo;";//选择使用哪个数据库的语句
String sql2= "USEMyDemo;";//创建数据库表操作语句
String sql3= "CREATE TABLE user(name varchar(20) primary key,password varchar(20),age int,sex varchar(10),birthday Date);";//查询数据库语句
String sql5= "select * from user;";//用PreparedStatement执行的插入语句
String sql4= "INSERT INTO user(name,password,age,sex,birthday) VALUES(?,?,?,?,?);";//加载驱动程序
Class.forName(DBDRIVER);//连接mysql数据库
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//实例化PreparedStatement
pstmt=conn.prepareStatement(sql4);//设置第一个?内容
pstmt.setString(1, name);//设置第二个?内容
pstmt.setString(2, password);//设置第三个?内容
pstmt.setInt(3, age);//设置第四个?内容
pstmt.setString(4,sex);//设置第五个?内容
pstmt.setDate(5, bri);//执行数据库更新,不需要sql
stmt=conn.createStatement();
stmt.execute(sql1);
stmt.execute(sql2);
stmt.execute(sql3);
pstmt.executeUpdate();
rs=stmt.executeQuery(sql5);//向控制台输出信息while(rs.next())
{
String QueryName=rs.getString("name");
String QueryPwd=rs.getString("password");int QueryAge =rs.getInt("age");
String QuerySex=rs.getString("sex");
Date QueryDate= rs.getDate("birthday");
System.out.println("name:"+QueryName+" pwd:"+QueryPwd+" "+QueryAge+" sex:"+QueryPwd+" date:"+QueryDate);
}
pstmt.close();
conn.close();
}
}