zoukankan      html  css  js  c++  java
  • JAVA JDBC 连接 Oracle

    使用 Junit 测试类编写

    public class JdbcTest {
    
         private Connection con = null;// 创建一个数据库连接
         private PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
         private ResultSet result = null;// 创建一个结果集对象
    
        @Before
        public void init(){
        try {
                System.out.println("创建数据库连接...");
                Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
                String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:orcl";// 127.0.0.1是本机地址,ORCL 是Oracle的数据库名字
                Properties po = new Properties();
                po.put("user", "***");
                po.put("password", "*****");
                con = DriverManager.getConnection(url,po);// 获取连接
                System.out.println("数据库连接成功!");
            } catch (Exception e) {
                System.out.println("数据连接失败!");
                e.printStackTrace();
            }
        }
    
        @Test
        public void select() {
            try {
                 String sql = "select * from t_product";// 预编译语句,“?”代表参数
                    pre = con.prepareStatement(sql);// 实例化预编译语句
                    result = pre.executeQuery();// 执行查询(select使用),注意括号中不需要再加参数
                    ArrayList<TProduct> productsList = new ArrayList<TProduct>();
                    while (result.next()){
                        // 当结果集不为空时
                        TProduct product = new TProduct(result.getInt("product_id"), result.getString("product_name"), result.getDouble("product_price"));
                        productsList.add(product);
                    }
                    System.out.println(productsList);
            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }
        }
    
        @Test
        public void update(){
            try {
                String sql = "update t_product set product_name = ? where product_id = ?";
                pre = con.prepareStatement(sql);
                pre.setString(1, "可口可乐");
                pre.setInt(2, 0);
                if(pre.executeUpdate() == 1)    //update, delete, insert, 使用 executeUpdate()
                    System.out.println("update successful!");
                else
                    System.out.println("update fail!");
    
            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
    
            }
    
        }
    
    
        @After
        public void end(){
            //不管如何,连接的对象必须释放
             try
                {
                    // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
                    // 注意关闭的顺序,最后使用的最先关闭
                    if (result != null)
                        result.close();
                    if (pre != null)
                        pre.close();
                    if (con != null)
                        con.close();
                    System.out.println("数据库连接已关闭!");
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
        }
    
    }
    
  • 相关阅读:
    011 Go语言基础之map
    009 Go语言基础之切片
    计算机组成原理 — GPU 图形处理器
    js 实现各浏览器全屏
    js 实现各浏览器全屏
    IIS-真正解决ASP.NET每一个页面首次访问超级慢的问题
    IIS-真正解决ASP.NET每一个页面首次访问超级慢的问题
    首次启动速度慢的问题记录IIS性能优化
    首次启动速度慢的问题记录IIS性能优化
    C#-执行cmd命令,获取结果
  • 原文地址:https://www.cnblogs.com/TianyuSu/p/9382807.html
Copyright © 2011-2022 走看看