zoukankan      html  css  js  c++  java
  • java 访问数据库公共类

    package com.javaweb.mvc;
    
    import java.sql.*;
    
    /**
     * @author 公共数据访问类
     *
     * Statement 和 PreparedStatement之间的关系和区别
     * 关系:PreparedStatement继承自Statement,都是接口
     * 区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高
     * 注意:Statement执行SQL语句有SQL注入,一般不使用
     * 
     */
    public class SqlHelper {
        private static String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";     
        private static String dbURL = "jdbc:sqlserver://mssql-rw-cyp_coopbusiness.vip.test.suixinhuan.com;DatabaseName=CYP_CoopBusiness";
        private static String userName = "sa";
        private static String userPwd = "123";
                
        private static Connection getCoonection()
            {
            Connection conn = null;
            try
            {
                // 加载JDBC驱动
                Class.forName(driverName);
                // 获取连接
                conn = DriverManager.getConnection(dbURL, userName, userPwd);
                return conn;
            } 
            catch(Exception e)
            {
                e.printStackTrace();           
            }     
            return null;
        }
          
        /**
         * PreparedStatement执行查询操作
         * @param SQL
         * @param args
         * @return
         */
        public static ResultSet executeQuery(String SQL, Object[] args)
        {  
            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try 
            { 
               conn = getCoonection();    
               ps = conn.prepareStatement(SQL);    
               // 设置参数  
               if (args != null && args.length > 0) {  
                   for (int i = 0; i < args.length; i++) {  
                       ps.setObject(i + 1, args[i]);  
                   }  
               }             
               rs = ps.executeQuery();
               return rs;
            }
            catch(Exception e)
            {
                e.printStackTrace();        
            } 
            finally {
                try {
                    if (rs != null)
                        rs.close();
                    if (ps != null)
                        ps.close();
                    if (conn != null)
                        conn.close();
                } catch (SQLException e) {                
                    e.printStackTrace();
                }
            }
            return null;
        }
        
        /**
         * PreparedStatement执行增删改操作
         * @param SQL
         * @param args
         * @return
         */
        public static boolean executeUpdate(String SQL, Object[] args)
        {  
            Connection conn = null;
            PreparedStatement ps = null;
            try
            {
                conn = getCoonection();              
                ps = conn.prepareStatement(SQL);    
                // 设置参数  
                if (args != null && args.length > 0) {  
                   for (int i = 0; i < args.length; i++) {  
                       ps.setObject(i + 1, args[i]);  
                   }  
                }             
                int result = ps.executeUpdate();    //返回受影响的行数        
                if(result > 0)
                   return true;
            }
            catch(Exception e)
            {
                e.printStackTrace();           
            } 
            finally {
                try {                
                    if (ps != null)
                        ps.close();
                    if (conn != null)
                        conn.close();
                } catch (SQLException e) {                
                    e.printStackTrace();
                }
            }
            return false;
        }
    
        /**
         * Statement执行查询操作
         * @param SQL
         * @return
         */
        public static ResultSet executeQuery(String SQL)
        {  
            Connection conn = null;
            Statement sm = null;
            ResultSet rs = null;
            try 
            { 
               conn = getCoonection();        
               sm = conn.createStatement();
               rs = sm.executeQuery(SQL);          
               return rs;
            }
            catch(Exception e)
            {
                e.printStackTrace();        
            } 
            finally {
                try {
                    if (rs != null)
                        rs.close();
                    if (sm != null)
                        sm.close();
                    if (conn != null)
                        conn.close();
                } catch (SQLException e) {                
                    e.printStackTrace();
                }
            }
            return null;
        }
        
        /**
         * Statement执行增删改操作
         * @param SQL
         * @return
         */
        public static boolean executeUpdate(String SQL)
        {  
            Connection conn = null;
            Statement sm = null;        
            try
            {
                conn = getCoonection();              
                sm = conn.createStatement();
                int result = sm.executeUpdate(SQL);    //返回受影响的行数        
                if(result > 0)
                   return true;
            }
            catch(Exception e)
            {
                e.printStackTrace();           
            } 
            finally {
                try {                
                    if (sm != null)
                        sm.close();
                    if (conn != null)
                        conn.close();
                } catch (SQLException e) {                
                    e.printStackTrace();
                }
            }
            return false;
        }
    }

     下面是调用实例:

    package com.javaweb.mvc;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.sql.*;
    
    /**
     * @author 数据访问类
     *
     */
    public class ServiceStationDao {
        /**
         * @return 查询所有服务站
         * 
         */
        public List<ServiceStation> getAll() {
            List<ServiceStation> list = new ArrayList<ServiceStation>();
            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
    
            try {
    
                // 加载JDBC驱动
                // Class.forName("com.mysql.jdbc.Driver");
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    
                // 连接服务器和数据库
                // String url = "jdbc:mysql://localhost:3306/student?user=root&password=1234";
                String url = "jdbc:sqlserver://mssql-rw-cyp_coopbusiness.vip.test.suixinhuan.com;DatabaseName=CYP_CoopBusiness";
                String user = "Umanager";
                String password = "ASD123asd!1";
                String sql = "SELECT ROW_NUMBER() over(order by CreateDate) as RowNum,* FROM T_TRA_ServiceStation WHERE DeleteTag = 0 AND CityCode = ? ORDER BY CreateDate";
                conn = DriverManager.getConnection(url, user, password);
                ps = conn.prepareStatement(sql);
                ps.setString(1, "110100");
                rs = ps.executeQuery();
                while (rs.next()) {
                    int RowNum = rs.getInt(1);
                    String ID = rs.getString(2);
                    String StationName = rs.getString("StationName");
                    String CityCode = rs.getString("CityCode");
                    String CityName = rs.getString("CityName");
                    String StationAddr = rs.getString("StationAddr");
                    int IsEnabled = rs.getInt("IsEnabled");
                    String Createor = rs.getString("Createor");
                    String strCreateDate = rs.getString("CreateDate");
                    java.util.Date CreateDate = CommonHelper.strToDateLong(strCreateDate);
    
                    ServiceStation obj = new ServiceStation(RowNum, ID, StationName, CityCode, CityName, StationAddr,
                            IsEnabled, Createor, CreateDate);
                    list.add(obj);
                }
            } 
            catch (ClassNotFoundException e) {        
                e.printStackTrace();
            } 
            catch (SQLException e) {        
                e.printStackTrace();
            }
            finally {
                try {
                    if (rs != null)
                        rs.close();
                    if (ps != null)
                        ps.close();
                    if (conn != null)
                        conn.close();
                } 
                catch (SQLException e) {            
                    e.printStackTrace();
                }
            }
            return list;
        }
        
        /**
         * @return 新增服务站
         * 
         */
        public boolean addServiceStation(ServiceStation obj) {
    //        //方式一
    //        String SQL = "INSERT INTO dbo.T_TRA_ServiceStation (ID,StationName,CityCode,CityName,StationAddr,Lng,lat,IsEnabled,Createor,DeleteTag,CreateorUser,CreateDate,LastOperName,LastOperUser,LastOperDate)";
    //        SQL += " VALUES ('598212333755587533', '"+obj.getStationName()+"', '110100', '北京-北京市', '"+obj.getStationAddr()+"', 116.420574, 40.012993, 0, 'System', 0, 'System', '"+CommonHelper.getStringDate()+"', 'zhouruibj', '周锐北京', '"+CommonHelper.dateToStrLong(obj.getCreateDate())+"')";
    //        boolean result = SqlHelper.executeUpdate(SQL);
            //方式二
            String SQL = "INSERT INTO dbo.T_TRA_ServiceStation VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";    
            Object[] args = new Object[15];
            args[0] = CommonHelper.getCard(9) + CommonHelper.getCard(9);
            args[1] = obj.getStationName();
            args[2] = "110100";
            args[3] = "北京-北京市";
            args[4] = obj.getStationAddr();
            args[5] = 116.420574;
            args[6] = 40.012993;
            args[7] = 0;
            args[8] = "System";
            args[9] = 0;
            args[10] = "System";
            args[11] = CommonHelper.getStringDate();
            args[12] = "zhouruibj";
            args[13] = "周锐北京";
            args[14] = CommonHelper.dateToStrLong(obj.getCreateDate());
            boolean result = SqlHelper.executeUpdate(SQL, args);
            return result;
        }
        
        /**
         * @return 删除服务站
         * 
         */
        public boolean deleteServiceStation(String ID)
        {
            String SQL = "DELETE FROM T_TRA_ServiceStation WHERE ID = ?";    
            Object[] args = new Object[1];
            args[0] = ID;    
            boolean result = SqlHelper.executeUpdate(SQL, args);
            return result;
        }
    }
  • 相关阅读:
    day23
    day22
    day21
    day20
    day19
    day18
    day17
    day16
    day15
    PowerDesigner中NAME和COMMENT的互相转换,需要执行语句
  • 原文地址:https://www.cnblogs.com/li150dan/p/9523794.html
Copyright © 2011-2022 走看看