zoukankan      html  css  js  c++  java
  • 20160406javaweb JDBC 实例工具类

    一、建立静态的数据库配置文件:

    config.properties

    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/database01
    user=root
    password=

    二、创建工具类 :

    JDBCUtils.java

    package com.dzq.util;
    
    import java.io.FileReader;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    public class JDBCUtils {
        
       private static  Properties prop=null;
       
       private JDBCUtils(){
        
       }
       
       /**
        * 静态代码块,加载数据库配置文件
        */
       static{
           try{
            prop=new Properties();
            prop.load(new FileReader(JDBCUtils.class.getClassLoader().getResource("config.properties").getPath()));
           }catch(Exception e){
               e.printStackTrace();
               throw new RuntimeException();
           }
       }
       
       /**
        * 获取连接
        */
       public static Connection getConn() throws Exception{
          
           
           Class.forName(prop.getProperty("driver"));
           return DriverManager.getConnection(prop.getProperty("url"), prop.getProperty("user"), prop.getProperty("password"));
       }
       
       /**
        * 关闭连接
        */
       public static void close(ResultSet rs,Statement stat,Connection conn){
           if(rs!=null){
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }finally{
                    rs=null;
                }
            }
            if(stat!=null){
                try {
                    stat.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }finally{
                    stat=null;
                }
            }
            if(conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }finally{
                    conn=null;
                }
            }
       }
    }

    三、查询、增删改测试代码:

    JDBCDemo2.java

    package com.dzq.jdbc;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    import org.junit.Test;
    
    import com.dzq.util.JDBCUtils;
    
    public class JDBCDemo2 {
        
        /**
         * 该类中方法均以JUnit测试的形式给出
         */
        
        
        @Test
        public void delete(){
            Connection conn=null;
            Statement stat=null;
            ResultSet rs=null;
            try{
            //2.获取连接    
                conn=JDBCUtils.getConn();
            //3.获取传输器对象
                stat=conn.createStatement();
                stat.executeUpdate("delete from user where name='zhaoliu'");
            }catch(Exception e){
                e.printStackTrace();
            }finally{
                JDBCUtils.close(rs, stat, conn);
            }
        }
        
        @Test
        public void find(){
            Connection conn=null;
            Statement stat=null;
            ResultSet rs=null;
            try{
            //2.获取连接    
                conn=JDBCUtils.getConn();
            //3.获取传输器对象
                stat=conn.createStatement();
                rs=stat.executeQuery("select * from user where name='zhaoliu'");
                while(rs.next()){
                    String name=rs.getString("name");
                    String password=rs.getString("password");
                    String email=rs.getString("email");
                    System.out.println("name:"+name+"pwd:"+password+"email:"+email);
                }
            }catch(Exception e){
                e.printStackTrace();
            }finally{
                JDBCUtils.close(rs, stat, conn);
            }
        }
        @Test
        public void update(){
            Connection conn=null;
            Statement stat=null;
            try {
            //2.获取连接    
                conn=JDBCUtils.getConn();
            //3.获取传输器对象
                stat=conn.createStatement();
                stat.executeUpdate("update user set password=999 where name='zhangsan'");
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                JDBCUtils.close(null, stat, conn);
            }
        }
        @Test
        public void add(){
            Connection conn=null;
            Statement stat=null;
        //1.注册数据库驱动
            try{
            
        //2.获取连接    
            conn=JDBCUtils.getConn();
        //3.获取传输器对象
            stat=conn.createStatement();
        //4.执行sql语句
            int count=stat.executeUpdate("insert into user values (null,'zhangsan','123456','zhaoliu@qq.com','1999-09-09')");
        //5.处理结果
            if(count>0){
                System.out.println("添加数据成功,影响行数为"+count);
            }else{
                System.out.println("执行失败");
            }
            }catch(Exception e){
                e.printStackTrace();
            }finally{
        //6.关闭资源
                JDBCUtils.close(null, stat, conn);
            }
       }
    }
  • 相关阅读:
    常用正则表达式应用
    iOS 通知推送APNS
    IOS生活圈开发练习记录
    [转]定时器
    JavaScript如何在webView跳转到指点的位置
    用imageNamed加载图片产生的问题
    如何再分类中添加属性
    CADisplayLink定时器
    自定义UIBtton类后,在@implementation重写方法的作用
    CAAnimationGroup(组合动画)创建
  • 原文地址:https://www.cnblogs.com/xiaoduc-org/p/5360769.html
Copyright © 2011-2022 走看看