* 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接口插入数据库信息 public class 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"; Date temp = null; temp = new SimpleDateFormat("yyyy-MM-dd").parse(birthday); java.sql.Date bri = new java.sql.Date(temp.getTime()); //创建数据库操作语句 String sql1 = "CREATE DATABASE MyDemo;"; //选择使用哪个数据库的语句 String sql2 = "USE MyDemo;"; //创建数据库表操作语句 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(); } }
时间: 2024-10-13 03:18:45