基于Oracle的jdbc增删查改
时间:2020-04-25
本文章向大家介绍基于Oracle的jdbc增删查改,主要包括基于Oracle的jdbc增删查改使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
pom依賴:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.changping.jdbcdemo</groupId> <artifactId>jdbcdemo</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>oracle</groupId> <artifactId>ojdbc6-connector-java</artifactId> <version>10.2.0.1.0</version> </dependency> </dependencies> </project>
pojo.User.java
package com.changping.jdbc.pojo; public class User { private String userid; private String userpass; private String username; private String db_source; public String getUserid() { return userid; } public void setUserid(String userid) { this.userid = userid; } public String getUserpass() { return userpass; } public void setUserpass(String userpass) { this.userpass = userpass; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getDb_source() { return db_source; } public void setDb_source(String db_source) { this.db_source = db_source; } @Override public String toString() { return "User [userid=" + userid + ", userpass=" + userpass + ", username=" + username + ", db_source=" + db_source + "]"; } public User(String userid, String userpass, String username, String db_source) { super(); this.userid = userid; this.userpass = userpass; this.username = username; this.db_source = db_source; } public User(String userpass, String username, String db_source) { super(); this.userpass = userpass; this.username = username; this.db_source = db_source; } public User() { super(); } }
dao.UserDao.java
package com.changping.jdbc.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.changping.jdbc.pojo.User; public class UserDao { /** * 1.查全部 * * @return */ public List<Map<String, Object>> queryUser() { List<Map<String, Object>> list_user = new ArrayList<Map<String, Object>>(); // 1声明jdbc对象 Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; // 2加载驱动 try { Class.forName("oracle.jdbc.driver.OracleDriver"); // 3声明连接信息 String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String username = "scott"; String password = "tiger"; // 4建立连接 try { conn = DriverManager.getConnection(url, username, password); // 5声明sql语句 String sql = "select * from db_user"; // 6声明预编译对象 pstmt = conn.prepareStatement(sql); // 7返回resultset结果集 rs = pstmt.executeQuery(); // 8得到结果集元数据——方法的集合体,返回有column相关的一切信息 ResultSetMetaData rsmd = rs.getMetaData(); // 9得到结果集总列数 int columnCount = rsmd.getColumnCount(); // 10通过结果集列数进行遍历 while (rs.next()) { Map<String, Object> map = new HashMap<String, Object>(); // 遍历每一列并放入map中 for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) { String columnName = rsmd.getColumnName(columnIndex); Object value = rs.getObject(columnName); map.put(columnName, value); } list_user.add(map); } } catch (SQLException e) { e.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); } if (pstmt != null) { pstmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return list_user; } /** * 2.增 * * @param user * @return */ public int add_User(User user) { // 声明计数器 int result = 0; // 1声明连接信息 Connection conn = null; PreparedStatement pstmt = null; // 2加载驱动 try { Class.forName("oracle.jdbc.driver.OracleDriver"); // 3声明连接信息 String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String username = "scott"; String password = "tiger"; // 4建立连接 try { conn = DriverManager.getConnection(url, username, password); // 5声明sql语句 String sql = "insert into db_user (userid,userpass,username,db_source) values (seq_new_user.nextval,?,?,?)"; // 6执行预编译sql,给参数赋值 pstmt = conn.prepareStatement(sql); pstmt.setObject(1, user.getUserpass()); pstmt.setObject(2, user.getUsername()); pstmt.setObject(3, user.getDb_source()); // 7执行sql,返回受影响的条目数 result = pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { try { if (pstmt != null) { pstmt.close(); } if (conn != null) { conn.close(); } } catch (Exception e) { e.printStackTrace(); } } return result; } /** * 3.根据姓名查询 * * @param username * @return */ public Map<String, Object> find_User(String username) { Map<String, Object> user_map = new HashMap<String, Object>(); // 1声明jdbc对象 Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; // 2加载驱动 try { Class.forName("oracle.jdbc.driver.OracleDriver"); // 3声明连接信息 String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String user = "scott"; String password = "tiger"; // 4建立连接 try { conn = DriverManager.getConnection(url, user, password); // 5声明sql语句 String sql = "select * from db_user where username = ?"; // 6执行预编译sql,给参数赋值 pstmt = conn.prepareStatement(sql); pstmt.setObject(1, username); // 7返回结果集信息 rs = pstmt.executeQuery(); // 8得到结果集元数据——方法的集合体,返回有column相关的一切信息 ResultSetMetaData rsmd = rs.getMetaData(); // 9从元数据类中返回结果集的列数 int columnCount = rsmd.getColumnCount(); // 10根据元数据里的列信息,得到每一类的字段名 if (rs.next()) { for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) { String columnName = rsmd.getColumnName(columnIndex);// 根据对应列,返回列名 Object value = rs.getObject(columnName);// 根据列名返回该列所有值 user_map.put(columnName, value); } } } catch (SQLException e) { e.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); } if (pstmt != null) { pstmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } return user_map; } /** * 4.通过姓名修改 * * @param user * @return */ public int update_user_by_username(User user) { int result = 0; // 1声明jdbc对象 Connection conn = null; PreparedStatement pstmt = null; // 2加载驱动 try { Class.forName("oracle.jdbc.driver.OracleDriver"); // 3声明连接信息 String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String username = "scott"; String password = "tiger"; // 4建立连接 try { conn = DriverManager.getConnection(url, username, password); // 5声明sql语句 String sql = "update db_user set userpass=?,db_source=? where username=?"; // 6执行预编译sql,给参数赋值 pstmt = conn.prepareStatement(sql); pstmt.setObject(1, user.getUserpass()); pstmt.setObject(2, user.getDb_source()); pstmt.setObject(3, user.getUsername()); // 7返回受影响的条目数 result = pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { try { if (pstmt != null) { pstmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } return result; } /** * 5.通过姓名删除 * * @param username * @return */ public int delete_user_by_username(String username) { int result = 0; // 1.声明jdbc对象 Connection conn = null; PreparedStatement pstmt = null; // 2加载驱动 try { Class.forName("oracle.jdbc.driver.OracleDriver"); // 3声明连接信息 String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String user = "scott"; String password = "tiger"; // 4建立连接 conn = DriverManager.getConnection(url, user, password); // 5声明sql语句 String sql = "delete from db_user where username=?"; // 6执行预编译sql,给参数赋值 pstmt = conn.prepareStatement(sql); pstmt.setObject(1, username); // 7返回受影响的条目数 result = pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (conn != null) { conn.close(); } if (pstmt != null) { pstmt.close(); } } catch (SQLException e) { e.printStackTrace(); } } return result; } }
test.User_Add_Test.java
package com.changping.jdbc.test; import com.changping.jdbc.dao.UserDao; import com.changping.jdbc.pojo.User; public class User_Add_Test { public static void main(String[] args) { UserDao userDao = new UserDao(); User user = new User("123","jerry","db_oracle_0424");//三参构造 int result = userDao.add_User(user);//return 1 System.out.println(result); } }
test.User_Delete_Test.java
package com.changping.jdbc.test; import com.changping.jdbc.dao.UserDao; public class User_Delete_Test { public static void main(String[] args) { UserDao userDao = new UserDao(); int result = userDao.delete_user_by_username("tom"); System.out.println(result); } }
test.User_Find_by_Name_Test.java
package com.changping.jdbc.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import com.changping.jdbc.dao.UserDao; public class User_Find_by_Name_Test { public static void main(String[] args) { UserDao userDao = new UserDao(); Map<String, Object> user_map = userDao.find_User("tom"); // foreach遍历 Set<Entry<String, Object>> entryset = (Set<Entry<String, Object>>) user_map.entrySet(); for (Entry<String, Object> entry : entryset) { System.out.println(entry.getKey() + " : " + entry.getValue()); } System.out.println("------------------------------------------"); // 迭代遍历 Set<String> keyset = user_map.keySet(); Iterator<String> it = keyset.iterator(); while (it.hasNext()) { System.out.println(user_map.get(it.next())); } System.out.println("------------------------------------------"); // map转entryset转list,转的真正含义是换个数据结构装数据 Set<Entry<String, Object>> set = user_map.entrySet(); Iterator<Entry<String, Object>> iteratory = set.iterator(); List<Object> list = new ArrayList<Object>(); while (iteratory.hasNext()) { Entry<String, Object> entry = iteratory.next(); list.add(entry.getKey()); list.add(entry.getValue()); } System.out.println(list); } }
test.User_Query_Test.java
package com.changping.jdbc.test; import java.util.List; import java.util.Map; import com.changping.jdbc.dao.UserDao; public class User_Query_Test { public static void main(String[] args) { UserDao userDao = new UserDao(); List<Map<String,Object>> user_list = userDao.queryUser(); System.out.println(user_list); } }
test.User_Update_Test.java
package com.changping.jdbc.test; import com.changping.jdbc.dao.UserDao; import com.changping.jdbc.pojo.User; public class User_Update_Test { public static void main(String [] args) { UserDao userDao = new UserDao(); User user = new User(); user.setDb_source("db0425"); user.setUserpass("789"); user.setUsername("tom"); int result = userDao.update_user_by_username(user); System.out.println(result); } }
原文地址:https://www.cnblogs.com/timingstarts/p/12773837.html
- 【学术】你真的知道什么是随机森林吗?本文是关于随机森林的直观解读
- Spring boot 将 Session 放入 Redis
- 【教程】估算一个最佳学习速率,以更好地训练深度神经网络
- SNS 数据库设计
- CentOS7 下 MySQL 5.7 重置root密码
- 通过简单的线性回归理解机器学习的基本原理
- 消息队列在使用中的注意事项
- 【教程】OpenCV—Node.js教程系列:用Tensorflow和Caffe“做游戏”
- 验证码,再见!利用机器学习在15分钟内破解验证码
- Spring boot with Redis
- SOA 面向服务框架设计与实现
- Java·日期时间处理
- MySQL·身份证校验
- PostgreSQL·国家地区表的设计
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Qt5.5.1版本中QString().arg()和qss在处理路径及文件名需要注意的地方
- Typecho将Gravatar头像改为QQ头像
- python socket 简单示例
- 深入了解C++虚函数
- Mathematica 在高考数学与高等数学等学习中的简单应用与思考
- 数据结构之【实现数组】
- 数据结构【单链表基本操作】
- Django Models 随机获取指定数量数据方法
- 数据结构【静态栈】代码实现
- Qt官方示例解析-Address Book-基于单个数据模型在不同视图呈现不同数据
- React 中请求远程数据的四种方法
- 数据结构【动态队列】代码实现
- C++抽象工厂
- 数据结构【动态栈】代码实现
- UOS安装chrome谷歌浏览器依赖Fonts-Liberation的问题