JDBC应用流程

来源:互联网 发布:魔兽世界3.22数据库 编辑:程序博客网 时间:2024/05/18 02:10

JDBC的应用,可以简单分为六步
1:加载mysql驱动 Driver.class

DriverManager.registerDriver(new com.mysql.jdbc.Driver());//注册驱动,但是这样写有一定的问题原因有2个:> 导致驱动被注册2次。> 强烈依赖数据库的驱动jar解决办法:Class.forName("com.mysql.jdbc.Driver");反射的方法获取类



2:创建和数据库的连接

三个参数的方式Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1","?", "?");两个参数的方式Properties pro = new Properties();pro.setProperty("user", "?");pro.setProperty("password", "?");Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1", pro);一个参数的方式Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1?user=?&password=?");



3:创建执行sql语句的对象

Statement st = conn.createStatement();//连接对象负责创建Statement对象



4:使用Statement对象执行sql语句

查询语句ResultSet rs = st.executeQuery("select * from emp");修改语句//向表中插入一条记录,返回值是受影响的行数//  int num = st.executeUpdate("INSERT INTO a VALUES('lisi',60)");

//5:遍历结果集查询语句时遍历返回的结果while(rs.next())        {            Object s1 = rs.getObject(1);            Object s2 = rs.getObject(2);            Object s3 = rs.getObject(3);            Object s4 = rs.getObject(4);            Object s5 = rs.getObject(5);            //每条记录的第几个字段。            System.out.println(s1+" "+s1+" "+s3+" "+s4+" "+s5);        }对于查询回来的结果,我们可以通过属性名准确获取ResultSet rs = st.executeQuery("SELECT sid,sname,age,gender FROM stu");ArrayList<Emp> list = new ArrayList<>();        Emp emp = null;        while(rs.next()){            emp = new Emp();            String sid = rs.getString("sid");            String sname = rs.getString("sname");            int age = rs.getInt("age");            String gender = rs.getString("gender");            emp.setId(sid);            emp.setName(sname);            emp.setAge(age);            emp.setGender(gender);            list.add(emp);        }        for(Emp e:list){            System.out.println(e);        }这里我们创建了Emp的类,将返回的数据写到类里,存进集合



6:关闭资源

rs.close();st.close();conn.close();
0 0
原创粉丝点击