博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaWeb系列-JDBC
阅读量:6317 次
发布时间:2019-06-22

本文共 2060 字,大约阅读时间需要 6 分钟。

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。

转载地址:http://jtdaa.baihongyu.com/

你可能感兴趣的文章
Maven搭建SpringMVC+Mybatis项目详解
查看>>
关于量子理论:最初无意的简化,和一些人有意的强化和放大
查看>>
CentOS 6.9通过RPM安装EPEL源(http://dl.fedoraproject.org)
查看>>
“区块链”并没有什么特别之处
查看>>
没有功能需求设计文档?对不起,拒绝开发!
查看>>
4星|《先发影响力》:影响与反影响相关的有趣的心理学研究综述
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
python之 列表常用方法
查看>>
vue-cli脚手架的搭建
查看>>
在网页中加入百度搜索框实例代码
查看>>
在Flex中动态设置icon属性
查看>>
采集音频和摄像头视频并实时H264编码及AAC编码
查看>>
3星|《三联生活周刊》2017年39期:英国皇家助产士学会于2017年5月悄悄修改了政策,不再鼓励孕妇自然分娩了...
查看>>
高级Linux工程师常用软件清单
查看>>
堆排序算法
查看>>
folders.cgi占用系统大量资源
查看>>
路由器ospf动态路由配置
查看>>
zabbix监控安装与配置
查看>>
python 异常
查看>>
last_insert_id()获取mysql最后一条记录ID
查看>>