JDBC的基本步骤
2015-10-27 15:04
176 查看
JDBC全名是Java Data Base Connectivity就是Java数据库连接,这是Java用于向数据库执行SQL语句的API,JDBC可以为多种关系型数据库提供统一的访问,而不用考虑细节,这样在应用程序开发中,就能够很方便的对数据库进行增删改查的基本操作,数据库的操作也是MVC架构中Model层数据访问的重要内容,下面简单的看一下JDBC的基本方式和步骤
这里以MySQL数据库为例,首先去mysql官网下载提供给java的标准驱动,下载链接:http://dev.mysql.com/downloads/connector/j/
然后点击Download按钮下载zip的包即可,
这一步网站会提示登录或者注册oracle的账户,这时候直接点击下面的No thanks,just start my download 继续下载
然后把zip包解压出来就得到最新版的:mysql-connector-java-5.1.37-bin.jar
为了以后的使用建议将这个jar包放到项目目录下,这里放在项目目录下的lib目录当中,然后在eclipse中刷新项目就看到了,
然后在项目上右击选择"Build Path"-->"Configure Build Path..."
然后在新对话框中,点击"Add JARs..."按钮,选择项目下的jar包,单击OK完成jar包的导入,现在就可以使用了
另外还可以先单击"Add External JARs...",然后导入计算机中任意目录的jar包,但是不建议使用,因为此时jar包并没有被放在项目目录下,而是引用的一个绝对路径,当项目被移植的时候,该调用就失效了,所以为了防止错误的发生,建议直接将该包放在项目下,然后使用Add JARs实现真正的导入到项目中
现在,工具准备完毕了,可以进行接下来的开发了,简单的测试代码如下:
注意一下,所有调用的类或者包都是java.sql下的,JDBC的基本步骤就可以概括为:加载驱动、获得连接、获取Statement对象,执行sql语句
最终都是使用连接句柄conn这个参数来操作数据库中的数据,查询数据库不用担心编码的问题,但是建议文件编码,数据库连接编码,数据库编码保持一致,向数据库中添加数据时,连接参数必须要包含Unicode字符支持,URL成员可以这样写:jdbc:mysql://127.0.0.1:3306/jdbctest?useUnicode=true&characterEncoding=UTF-8,然后添加的字符就能被数据库识别并且正常显示了
最后,JDBC只是一种数据库操作的基础,我们可以将初始化工作和增删改查的操作封装到一个类中,后续调用方法返回数据即可,另外从数据库中读取数据和向数据库中插入数据,在实际开发中,一般都用实体类的对象方式来传递数据,即传递的是一个对象,而不是字符串等,所以在java中所有的数据操作和开发都是操作的目标都是对象,然后把对象放到List等集合中进行交互,让程序结构层次更加清晰
这里以MySQL数据库为例,首先去mysql官网下载提供给java的标准驱动,下载链接:http://dev.mysql.com/downloads/connector/j/
然后点击Download按钮下载zip的包即可,
这一步网站会提示登录或者注册oracle的账户,这时候直接点击下面的No thanks,just start my download 继续下载
然后把zip包解压出来就得到最新版的:mysql-connector-java-5.1.37-bin.jar
为了以后的使用建议将这个jar包放到项目目录下,这里放在项目目录下的lib目录当中,然后在eclipse中刷新项目就看到了,
然后在项目上右击选择"Build Path"-->"Configure Build Path..."
然后在新对话框中,点击"Add JARs..."按钮,选择项目下的jar包,单击OK完成jar包的导入,现在就可以使用了
另外还可以先单击"Add External JARs...",然后导入计算机中任意目录的jar包,但是不建议使用,因为此时jar包并没有被放在项目目录下,而是引用的一个绝对路径,当项目被移植的时候,该调用就失效了,所以为了防止错误的发生,建议直接将该包放在项目下,然后使用Add JARs实现真正的导入到项目中
现在,工具准备完毕了,可以进行接下来的开发了,简单的测试代码如下:
package net.zengzhiying.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DbTest { private static final String URL = "jdbc:mysql://127.0.0.1:3306/jdbctest"; private static final String USER = "root"; private static final String PASSWORD = "123456"; public static void main(String[] args){ try { //反向加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); //获得数据库的连接 Connection conn = DriverManager.getConnection(URL,USER,PASSWORD); //操作数据库 //获取Statement对象 Statement stmt = conn.createStatement(); //执行sql语句,获取结果集 ResultSet rs = stmt.executeQuery("SELECT user_name,age FROM imooc_goddess"); //获取返回的数据 while(rs.next()){ System.out.println("用户名:" + rs.getString("user_name") + " 年龄:" + rs.getInt("age")); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } }
注意一下,所有调用的类或者包都是java.sql下的,JDBC的基本步骤就可以概括为:加载驱动、获得连接、获取Statement对象,执行sql语句
最终都是使用连接句柄conn这个参数来操作数据库中的数据,查询数据库不用担心编码的问题,但是建议文件编码,数据库连接编码,数据库编码保持一致,向数据库中添加数据时,连接参数必须要包含Unicode字符支持,URL成员可以这样写:jdbc:mysql://127.0.0.1:3306/jdbctest?useUnicode=true&characterEncoding=UTF-8,然后添加的字符就能被数据库识别并且正常显示了
最后,JDBC只是一种数据库操作的基础,我们可以将初始化工作和增删改查的操作封装到一个类中,后续调用方法返回数据即可,另外从数据库中读取数据和向数据库中插入数据,在实际开发中,一般都用实体类的对象方式来传递数据,即传递的是一个对象,而不是字符串等,所以在java中所有的数据操作和开发都是操作的目标都是对象,然后把对象放到List等集合中进行交互,让程序结构层次更加清晰
相关文章推荐
- Light OJ 1037 - Agent 47(预处理状态压缩DP)
- 利用AVFoundation实现录音和播放
- MZOJ2007:路灯的改建计划
- jQuery结合elevateZoom演示多种放大镜效果
- 【Linux】系统 之 Load
- 一个随机数生成函数
- mysql中模糊查询的四种用法介绍
- startActivityForResult的用法
- eclipse导入已有的工程时,在maven dependencies里有项目所需jar,但是启动项目时,报错不能找到jar
- Systemd这个有争议的项目正在接管你身边的Linux发行版
- 方形View和ViewGroup
- LINUX 服务器之间文件传输SCP命令
- 为OpenStack制作Windows 2008 R2镜像
- 5、数组
- Android 调试native的crash和anr
- JavaScript的动态特性(通过eval,call,apply和bind来体现)
- 信息安全系统设计基础第六周学习总结
- PowerDesigner15在生成SQL时报错Generation aborted due to errors detected during the verification of the mod
- D3.js学习笔记(一)——DOM上的数据绑定
- oracle日期函数部分用法