jdbc操作数据库通用方法

 第一步:需要的jar包是ojdbc14.jar 第二步:需要配置jdbc.properties(放在src目录下) 具体配置如下(以oracle数据库为例) 如果是mysql 1.需要替换jar包 2.替换url和driver 一般url=jdbc:mysql://localhost:3306/database;    driver=com.mysql.jdbc.Driver
url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
driver=oracle.jdbc.driver.OracleDriver
username=scott
password=tiger

 1 package com.oracle;
 2 import java.io.FileNotFoundException;
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 import java.sql.Connection;
 6 import java.sql.DriverManager;
 7 import java.sql.ResultSet;
 8 import java.sql.SQLException;
 9 import java.sql.Statement;
10 import java.util.Properties;

引入的包和相关资源

  1 /**
  2  * 增删改查操作公共类(以oracle数据库为例)
  3  * 2017-8-29 wuyafei
  4  *
  5  */
  6 public class CrudUtil {
  7     /**
  8      * 1.获取数据库连接
  9      * 2.获取statement,加载sql语句
 10      * 3.获取resultset
 11      *
 12      */
 13     public static Connection conn=null;
 14     public static Statement sm=null;
 15     public static ResultSet rs=null;
 16
 17
 18     /**
 19      * 查询操作
 20      * @param sql
 21      */
 22     private static void executeQuery(String sql) {
 23         try {
 24             rs=sm.executeQuery(sql);
 25             while(rs.next()){
 26                 Dept dept=new Dept();
 27                 dept.setDeptno(rs.getInt("deptno"));
 28                 dept.setDname(rs.getString("dname"));
 29                 dept.setLoc(rs.getString("loc"));
 30                 System.out.println(dept);
 31             }
 32         } catch (SQLException e) {
 33             // TODO Auto-generated catch block
 34             e.printStackTrace();
 35         }
 36
 37     }
 38
 39     /**
 40      * 更新操作(增删改)
 41      * @param sql
 42      */
 43     private static void executeUpdate(String sql) {
 44         try {
 45             int num=sm.executeUpdate(sql);
 46             if(num>0){
 47                 System.out.println("更新成功");
 48             }else{
 49                 System.out.println("更新失败");
 50             }
 51         } catch (SQLException e) {
 52             // TODO Auto-generated catch block
 53             e.printStackTrace();
 54         }
 55     }
 56
 57
 58
 59     /**
 60      * 关闭资源
 61      * @param rs
 62      * @param sm
 63      * @param conn
 64      */
 65     private static void closeResouce(ResultSet rs, Statement sm,
 66             Connection conn) {
 67         // TODO Auto-generated method stub
 68         if(rs!=null){
 69             try {
 70                 rs.close();
 71             } catch (SQLException e) {
 72                 // TODO Auto-generated catch block
 73                 e.printStackTrace();
 74             }
 75         }
 76         if(sm!=null){
 77             try {
 78                 sm.close();
 79             } catch (SQLException e) {
 80                 // TODO Auto-generated catch block
 81                 e.printStackTrace();
 82             }
 83         }
 84         if(conn!=null){
 85             try {
 86                 conn.close();
 87             } catch (SQLException e) {
 88                 // TODO Auto-generated catch block
 89                 e.printStackTrace();
 90             }
 91         }
 92     }
 93
 94
 95
 96     /**
 97      * 获取statement
 98      */
 99     private static Statement createStatement() {
100         try {
101             sm=conn.createStatement();
102         } catch (SQLException e) {
103             // TODO Auto-generated catch block
104             e.printStackTrace();
105         }
106         return sm;
107
108     }
109
110
111     /**
112      * 获取Connection
113      */
114     private static Connection getConnection() {
115         // TODO Auto-generated method stub
116         //Connection conn=null;
117 //        String url="jdbc:oracle:thin:@localhost:1521:orcl";
118 //        String driver="oracle.jdbc.OracleDriver";
119 //        String username="scott";
120 //        String password="tiger";
121         Properties pt=new Properties();
122         InputStream is=null;
123         try {
124             //通过类加载器加载配置文件
125             is=CrudUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
126             //通过类加载配置文件,文件名称需要加上"/"
127             //is = CrudUtil.class.getResourceAsStream("/jdbc.properties");
128             pt.load(is);
129             //数据库驱动
130             String driver=pt.getProperty("driver");
131             String url=pt.getProperty("url");
132             String username=pt.getProperty("username");
133             String password=pt.getProperty("password");
134             try {
135                 //注册加载驱动
136                 Class.forName(driver);
137                 conn=DriverManager.getConnection(url, username, password);
138                 System.out.println("get connection success!~"+conn);
139             } catch (ClassNotFoundException e) {
140                 // TODO Auto-generated catch block
141                 e.printStackTrace();
142             } catch (SQLException e) {
143                 // TODO Auto-generated catch block
144                 e.printStackTrace();
145             }
146         } catch (FileNotFoundException e1) {
147             // TODO Auto-generated catch block
148             e1.printStackTrace();
149         } catch (IOException e1) {
150             // TODO Auto-generated catch block
151             e1.printStackTrace();
152         }finally{
153             if(is!=null){
154                 try {
155                     is.close();
156                 } catch (IOException e) {
157                     // TODO Auto-generated catch block
158                     e.printStackTrace();
159                 }
160             }
161         }
162         return conn;
163
164
165     }
166
167     public static void main(String[] args) {
168         //1.获取Connection
169         conn=getConnection();
170         //2.获取Statement
171         sm=createStatement();
172         //3.操作
173
174         /**
175          * 3.1.查询操作
176          */
177
178         String sql="select * from dept";
179         executeQuery(sql);
180
181         /**
182          * 3.2.添加操作
183          */
184
185 //        String sql="insert into dept values (50,‘招生部‘,‘8楼‘)";
186 //        executeUpdate(sql);
187
188         /**
189          * 3.3.修改操作
190          */
191
192 //        String sql="update dept set dname=‘就业部‘ where deptno=50";
193 //        executeUpdate(sql);
194
195         /**
196          * 3.4.删除操作
197          */
198
199 //        String sql="delete from dept where deptno=60";
200 //        executeUpdate(sql);
201
202         //4.关闭资源
203         closeResouce(rs,sm,conn);
204
205     }
206
207 }

具体代码

注意:想要成功连接本地的数据库,需要同时开启数据库的监听和服务
				
时间: 2024-08-10 17:20:48

jdbc操作数据库通用方法的相关文章

几种通过JDBC操作数据库的方法,以及返回数据的处理

1.SQL TO String :只返回一个查询结果 例如查询某条记录的总数 rs = stmt.executeQuery(replacedCommand);             if (rs != null && rs.next()) // rs only contains one row and one column             {                    String tempStr = rs.getString(1);                 

封装JDBC操作数据库的方法

自己动手封装java操作数据库的方法: 一:目录结构 二:所需依赖的第三方jar包 这里只需引入mysql-connector-java-5.1.8-bin.jar,mysql数据库驱动jar包 三:代码 1:和数据库进行交互,首先是数据源,获取连接,代码如下: 1 /** 2 * 3 */ 4 package com.hlcui.datasource; 5 6 import java.sql.Connection; 7 import java.sql.DriverManager; 8 impo

JDBC操作数据库的学习(2)

在上一篇博客<JDBC操作数据库的学习(1)>中通过对例1,我们已经学习了一个Java应用如何在程序中通过JDBC操作数据库的步骤流程,当然我们也说过这样的例子是无法在实际开发中使用的,本篇就在简单开发中如何对上一篇的例子进行“升级”,满足简单开发中对数据库的增删改查(CRUD). 如果按照上一篇中的例子,那么我们在做增删改查的话将会出现每个方法都要获取连接,释放资源,代码会出现很大的重复性,因此我们应该将每个增删改查每个方法中可以复用的代码抽取出来,同时为了能切换数据库方便,也该将一些配置信

JDBC操作数据库的学习(1)

单单对数据库的操作,比如说MySQL,我们可以在命令行窗口中执行,但是一般是应用程序要操作数据库,因此我们应该在程序中的代码上体现对数据库的操作,那么使用程序应用如何操作数据库呢?那就要使用到数据库的连接驱动,应用程序通过这些驱动来操作数据库: 但是这里就又有一个问题了,不同的数据库有各自的驱动程序,而一个应用程序要操作不同的数据库,那么就要懂得要使用的数据库的驱动如何操作,这样就增加了学习成本.好在我们使用Java开发应用,而Java中只需要使用JDBC就能操作所有的数据库,因为JDBC提供的

JDBC操作数据库的三种方式比较

JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL.oracle.DB2等关系型数据库均是通过JDBC来访问的,现在主流的ORM框架Hibernate.Mybatis等均是在JDBC的基础上做的进一步封装.优化.一般小型的项目,可以直接用JDBC来访问数据库,简单方便.我在进过几个项目后,总结了三总JDBC的基本用法,对这几种用法做一个总结. 第一种

JDBC操作数据库的详细步骤

JDBC操作数据库的步骤: 1.注册驱动 告知JVM使用的是哪一个数据库的驱动 2.获得连接 使用JDBC中的类,完成对MySQL数据库的连接 3.获得语句执行平台 通过连接对象获取对SQL语句的执行者对象 4.执行sql语句 使用执行者对象,向数据库执行SQL语句 获取到数据库的执行后的结果 5.处理结果 6.释放资源  一堆close() 1.注册驱动,发射技术,将驱动加入到内容 使用java.sql.DriverManager类静态方法 registerDriver(Driver driv

用ADO操作数据库的方法步骤(ZT)

http://www.cppblog.com/changshoumeng/articles/113437.html 学习ADO时总结的一些经验 用ADO操作数据库的方法步骤 ADO接口简介 ADO库包含三个基本接口:_ConnectionPtr接口._CommandPtr接口和_RecordsetPtr接口. _ConnectionPtr接口返回一个记录集或一个空指针. 通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程.使用_ConnectionPtr接口返回一个

jdbc操作数据库语句

非常有用的jdbc操作数据库语句,记录下来,以方便以后的查询. public class PersonDao { // 增加操作 public void insert(Person person) throws Exception; // 修改操作 public void update(Person person) throws Exception; // 删除操作 public void delete(String id) throws Exception ; // 按ID查询操作 publi

用ADO操作数据库的方法步骤

用ADO操作数据库的方法步骤 学习ADO时总结的一些经验 - 技术成就梦想 - 51CTO技术博客 http://freetoskey.blog.51cto.com/1355382/989218 ADO接口简介 ADO库包含三个基本接口:_ConnectionPtr接口._CommandPtr接口和_RecordsetPtr接口. _ConnectionPtr接口返回一个记录集或一个空指针. 通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程.使用_Connecti