您的位置:首页 > 编程语言 > Java开发

JavaWeb系列-JDBC

2016-06-08 14:39 435 查看

JDBC的操作步骤1.注册驱动 (Driver)2.建立连接(创建Connection)3.创建执行sql语句(通常是创建Statement或者其子类)4.执行语句5.处理执行结果(在非查询语句中,该步骤是可以省略的)6.释放相关资源
直接上代码
publicvoid wholeExample(){

       try {

           //1.注册驱动

           Class.forName("com.mysql.jdbc.Driver");

           //2.获取数据库连接

           Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root","r66t");

           //3.创建执行句柄

           Statement stmt = conn.createStatement();

           //4.执行sql语句

           ResultSet rs = stmt.executeQuery("select * from user");

           //5.处理执行结果

           while(rs.next()){

            System.out.println("id:"+rs.getInt(1)+"\tname:"+rs.getString(2)+"\tbirthday:"+rs.getDate(3)+"\tmoney:"+rs.getFloat(4));

           }

           //6.释放资源

           rs.close();

           stmt.close();

           conn.close();

       } catch (SQLException e) {

           e.printStackTrace();

       } catch (ClassNotFoundException e) {

           e.printStackTrace();

       }

    }


注册驱动:

方法一:

DriverManager.registerDriver(new com.mysql.jdbc.Driver());

方法二:

System.setProperty("jdbc.drivers", "com.mysql.jdbc.Driver");

方式三:

Class.forName("com.mysql.jdbc.Driver");


连接数据库:

方法一:

Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=r66t");

方法二:

Properties props = new Properties();

           props.put("user", "root");

           props.put("password", "r66t");

           Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/test",props);

方法三:

Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root","r66t");


Statement 是应用与数据库打交道最关键的一个接口,该接口包括了我们常用的CRUD操作,还可以设置抓取策略,比如设置数据库的游标是多少,可以根据数据量进行调优,也可以进行批量处理等,总之,该接口是非常关键的一个接口,包括后文中的预处理命令接口以及执行存储过程的接口。

stmt = conn.createStatement();

         // 4.执行sql语句

         String sql="insert intouser(id,name,birthday,money) values(3,'lisi','2010-05-05',13000.00)";

         stmt.executeUpdate(sql);

接口PreparedStatement,该接口是Statement的子接口,他们的主要区别是,在执行sql之前首先准备好sql语句,将其中的条件通过?进行占位,还有一个好处就是,同样的sql会被PreparedStatement有效的缓存,也就是说,数据库会减少校验的过程,减少消耗,这就是我们常说的预处理命令方式。

conn = ConnCreate.getConnection("jdbc:mysql://localhost:3306/test",

                "root", "r66t");

         String sql = "insert intoclob_test(id,info) values(?,?)";

         stmt = conn.prepareStatement(sql);

         stmt.setInt(1, 3);

          rs = stmt.executeQuery();


业务逻辑与数据操作方在一起带来的结果一定是程序混乱,解决方案就是使用DAO。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: