在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.1 Java中的数据存储技术 在Java中,数据库存取技术可分为如下几类: JDBC是java访问数据库的基石,JDO、Hibernate、MyBatis,JDO,Hibernate、MyBatyis等只是更好的封装的JDBC。 第一步成功,我们套用jdbc的代码,基本上这个大家都能明白,咱也可以把它封装在一个类里边,必要的时候拿过来使用。 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Scanner; //与数据库建立连接 public class ConnectionTest { //获取连接的三个基本信息 private String dbURL = "jdbc:oracle:thin:@localhost:1521:orcl"; private String dbUser = "test"; private String dbPwd = "test"; // 获取数据库连接方法, 返回Connection对象 private Connection con = null; //创建数据库连接 public Connection getDBConnect() { try { // 加载数据库驱动 不同的数据库下面这个驱动是不同的,这个千万要注意!!! Class.forName("oracle.jdbc.driver.OracleDriver"); con = DriverManager.getConnection(dbURL, dbUser, dbPwd); } catch (Exception e) { System.out.println(e); } return con; } } 然后我们写一个主方法测试一下:也就是程序执行的出口,运行至下面这句话说明连接成功! 连接数据库成功仅仅是第二步,接下来更重要的是进行对数据库的增删改操作!! 连接数据库成功之后,就是为了下面增删改操作服务的。注意看对数据库进行插入操作的方法如下:(插入操作的方法要写在Connection这个类里边) public void testInsert() { PreparedStatement ps1 = null; //使用该类执行增删改操作不会发生sql注入现象!! //在进行插入操作的时候 保证你的表、以及对应的列名都存在 ?在这里表示占位符 String sql = "insert into t_user(ID,USERNAME,PASSWORD1,EMAIL) values(?,?,?,?)"; try { //1、预编译sql语句 返回PreparedStatement的实例给ps1 con表示Connection的对象 ps1 = con.prepareStatement(sql); //2、填充占位符=? ps1.setString(1, "2"); ps1.setString(2, "ww"); ps1.setString(3, "12345"); ps1.setString(4, "[email protected]"); //执行操作 ps1.execute(); } catch (SQLException e) { e.printStackTrace(); } //资源的关闭 try { if (ps1 != null) ps1.close(); } catch (SQLException e) { e.printStackTrace(); } try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } } 插入方法写好之后,在主函数里面调用即可实现插入操作,千万注意自己写的sql语句写的有没有存在问题。 同样往下是删除操作的方法(ps:注意观察关闭资源的方法,将其写在一个方法体里,减少代码的重用性!!) public void testUpdate() { PreparedStatement ps2 = null; //编写sql语句 返回PreparedStatement的实例 String sql = "update T_USER set USERNAME = ? where ID = ? "; try { ps2 = con.prepareStatement(sql); //填充占位符=? ps2.setObject(1,"newgg"); ps2.setObject(2,"1"); //执行 ps2.execute(); } catch (SQLException e) { e.printStackTrace(); } //实现资源关闭的方法 closeSources(ps2,con); } //实现资源关闭的方法如下: public void closeSources(PreparedStatement ps, Connection con) { try { if (ps != null) ps.close(); } catch (SQLException e) { e.printStackTrace(); } try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } } 接下来实现修改某一行的属性的方法,逻辑实现同插入删除一样。 public void testUpdate() { //编写sql语句 返回PreparedStatement的实例 PreparedStatement ps2 = null; String sql = "update T_USER set USERNAME = ? where ID = ? "; try { ps2 = con.prepareStatement(sql); //填充占位符=? ps2.setObject(1,"newgg"); ps2.setObject(2,"1"); //执行 ps2.execute(); } catch (SQLException e) { e.printStackTrace(); } //实现资源的关闭 closeSources(ps2,con); } 套路都是一样,细心的人会发现,增删改的操作步骤都是一样的,但唯独SQL语句不一样,进而填充占位符的参数是不一样的,利用Java 具有可变长参数的性质,我们可以写出一个通用的增删改的方法 //实现增删改的通用操作 // sql占位符中的个数与可变长参数的长度一致!! public void insert_Delete_Update(String sql, Object ...args) { //预编译SQL语句,返回PreparedStatement的实例 PreparedStatement ps4 = null; try { ps4 = con.prepareStatement(sql); //填充占位符 for(int i=0; i<args.length; i++) { ps4.setObject(i+1,args[i]); } //执行 ps4.execute(); } catch (SQLException e) { e.printStackTrace(); } //实现资源的关闭 closeSources(ps4,con); } 于是进而实现代码块分离,SQL语句写在另一个方法里,代码实现如下: public void test_Insert_Delete_Update() { String sql1 = "update T_USER set username = ? where ID = ? "; //仔细观察这个调用的方法 username=“newQ” ID=“2”这两个参数传入这个方法里 insert_Delete_Update(sql1,"newQ","2"); } 在主函数调用该方法,即可实现对表的增删改操作! 到此这篇关于使用IDEA对Oracle数据库进行简单增删改查操作的文章就介绍到这了,更多相关IDEA对Oracle数据库增删改查内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论