JDBC复习一(mysql)
2016-06-27 07:27
507 查看
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
不同的数据库连接改变的是url 基本的逻辑结构不变
步骤如下:
先定义好四大参数 带上包名的驱动包完整名字 url(每个数据库都不同) 用户名 和密码
然后 利用反射加载驱动包
建立连接
创建statment
得到结果集
得到数据
所有java.sql.Driver 实现类,都提供了静态代码块,块内的代码就是把自己注册到DriverManager中
jdbc4.0 以后 每个驱动jar包中在meta-inf 目录下提供了一个名为java.sql.Driver 的文件 文件的内容就是接口实现类
所以Class.forname(“com.mysql.jdbc.Driver”) 可以写可以不写 最好写着
如何增删改查:
代码示列:
还有一个Prestatement 它是预编译的 可以批处理 首先需要给出sql 模板
不同的数据库连接改变的是url 基本的逻辑结构不变
步骤如下:
先定义好四大参数 带上包名的驱动包完整名字 url(每个数据库都不同) 用户名 和密码
然后 利用反射加载驱动包
建立连接
创建statment
得到结果集
得到数据
所有java.sql.Driver 实现类,都提供了静态代码块,块内的代码就是把自己注册到DriverManager中
jdbc4.0 以后 每个驱动jar包中在meta-inf 目录下提供了一个名为java.sql.Driver 的文件 文件的内容就是接口实现类
所以Class.forname(“com.mysql.jdbc.Driver”) 可以写可以不写 最好写着
如何增删改查:
ResultSet rs = st.executeQuery(查询语句); ResultSet rs = st.executeUpdate(增删改语句);
代码示列:
public class Jdbc { private static Connection con = null; private static Statement st = null; private static ResultSet rs = null; public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydata"; String driverClassName = "com.mysql.jdbc.Driver"; String username ="root"; String password ="****"; try { Class.forName(driverClassName); con = DriverManager.getConnection(url,username,password); st = con.createStatement(); rs = st.executeQuery("select * from dept "); while(rs.next()){ System.out.print(rs.getString("dname")); } } catch (Exception e) { throw new RuntimeException(); }finally{ try { if(rs != null) rs.close(); if(st != null) st.close(); if(con != null) con.close(); } catch (Exception e) { throw new RuntimeException(); } } }
还有一个Prestatement 它是预编译的 可以批处理 首先需要给出sql 模板
String psql = "select id,loginName,email from user where id=?"; time = System.currentTimeMillis(); for (int i = 0; i < count; i++) { int id=(int) (Math.random() * 100); PreparedStatement preStatement = conn.prepareStatement(psql); preStatement.setLong(1, new Long(id)); ResultSet pSet = preStatement.executeQuery(); preStatement.close(); } System.out.println("preStatement cost:" + (System.currentTimeMillis() - time)); //用于记录运行时间
相关文章推荐
- MySQL性能优化的最佳21条经验
- MySQL触发器简单使用
- MySQL如何避免使用swap
- 在EF中使用MySQL的方法及常见问题
- MySQL的InnoDB扩容及ibdata1文件瘦身方案完全解析
- MySQL出现SQL Error (2013)连接错误的解决方法
- 所有配置正确,安装成功,但MySQL 服务无法启动(mysql-5.7.13-winx64)
- MYSQL连接函数
- Mysql优化(基础*转载)
- Mysql学习总结
- mysqldump
- 使用LVM快照备份Mysql
- mysql 修改datadir
- MySQL事务
- mysql5.6 TIME,DATETIME,TIMESTAMP
- MYSQL Index Usage
- MYSQL Index Usage
- MySQl之最全且必会的sql语句
- mysql 数据库乱码问题
- MySQL 5.6 for Windows 解压缩版配置安装