zoukankan      html  css  js  c++  java
  • java jdbc 封装。。

    JDBC工具类。。。
    package it.cast.jdbcutils; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties;
    public class JdbcUtils { private static String JDriver=null; private static String connectDB=null; private static String username=null; private static String password=null; static { try { InputStream in =null; in= JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties"); Properties prop=new Properties(); prop.load(in); JDriver=prop.getProperty("JDriver"); connectDB=prop.getProperty("connectDB"); username=prop.getProperty("username"); password=prop.getProperty("password"); Class.forName(JDriver); System.out.println("数据库连接成功"); } catch (Exception e) { throw new ExceptionInInitializerError("连接失败"); } } public static Connection getConnection() throws SQLException { return DriverManager.getConnection(connectDB,username,password); } public static void release (Connection conn,Statement st,ResultSet rs) { if(rs!=null) { try { rs.close(); } catch(Exception e) { e.printStackTrace(); } } if(st!=null) { try { st.close(); } catch(Exception e) { e.printStackTrace(); } } if(conn!=null) { try { conn.close(); } catch(Exception e) { e.printStackTrace(); } } System.out.println("数据库已经断开连接"); } //增删改方法。 public static void query(String sql,Object params []) throws SQLException { Connection conn =null; PreparedStatement st=null; ResultSet rs = null; conn = JdbcUtils.getConnection(); try { //获取数据连接 conn = JdbcUtils.getConnection(); //获取数据库对象并对SQL进行预编译 st =conn.prepareStatement(sql); //获取传进来的SQL,和传进来的参数。并进行赋值。 for(int i=0;i<params.length;i++) { st.setObject(i+1,params[i]); System.out.println(params[i]); } //执行 st.executeUpdate(); } finally { //释放 JdbcUtils.release(conn, st, rs); } } }
    //实体类。
    package
    in.cast.dao; public class data { private String date; private Integer num; public data (String date,Integer num) { this.date=date; this.num=num; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } public int getNum() { return num; } public void setNum(Integer num) { this.num = num; } public String toString() { return date+" : "+num ; } }

      

    测试:

    package in.cast.dao;
    import it.cast.jdbcutils.JdbcUtils;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;
    public class JDBC_TEST {
        public static void main (String [] args) throws Exception
        {
            
            JDBC_TEST T=new JDBC_TEST();
            
            HashMap<Integer,data> m=T.insert();
            
            DataSearch(m);
            
        }
        public static void DataSearch(HashMap<Integer, data> m) {
            Set<Map.Entry<Integer,data>> entryset=m.entrySet();
            
            Iterator <Map.Entry<Integer,data>>it=entryset.iterator();
            
            while(it.hasNext())
            {
                Map.Entry<Integer,data> mp=it.next();
                System.out.println(mp.getKey()+" : "+mp.getValue());
                
            }
        }
        public  HashMap<Integer,data> insert() throws Exception
        {
            HashMap<Integer,data> mp = new HashMap<Integer,data>();
            String s1;
            Integer s2;
            Connection conn=null;
            Statement st=null;
            ResultSet rs=null;
            Integer iCount=0;
            try
            {
                //获取数据库连接
                conn=JdbcUtils.getConnection();
                
                //返回一个statement,作用于发送SQL语句 。
                st = conn.createStatement();
                //SQL 语句
                String sql=" select * from tt ; " ;
                //返回一个数据集
                rs = st.executeQuery(sql) ;  //update
                //循环
                while(rs.next()) 
                {
                    iCount++;
                    s1=rs.getString("日期");//等同getObject(column_name)
                    s2=Integer.parseInt(rs.getString("存入"));
                    mp.put(iCount,new data(s1,s2));
                    
                }
            } 
            catch (Exception e)
            {
                e.printStackTrace();
            }
            finally
            {
                 JdbcUtils.release(conn,st, rs);
            }
            
            return mp;
        }
        

    配置文件:

    JDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver
    connectDB=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test
    username=sa
    password=123

    JDBC。

    package in.cast.dao;
    import java.sql.*;  
    public class test1{  
        public static void main(String[] args) {  
            //com.microsoft.sqlserver.jdbc.SQLServerDriver 2008
         String JDriver
    ="com.microsoft.sqlserver.jdbc"; 2005 String connectDB="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test"; try{ Class.forName(JDriver);//通过反射加载驱动。 }catch(ClassNotFoundException e) { System.out.println("数据库连接异常"); //这里可以抛出一个自定义异常 } System.out.println("锟斤拷菘锟斤拷锟缴癸拷"); try{ String user="sa"; String password="123"; Connection con=DriverManager.getConnection(connectDB,user,password); Statement stmt=con.createStatement(); //建表 String query="create table TABLE1(ID NCHAR(2),NAME NCHAR(10))"; //提交语句 stmt.executeUpdate(query); String a1="INSERT INTO TABLE1 VALUES('1','a')"; String a2="INSERT INTO TABLE1 VALUES('2','b')"; String a3="INSERT INTO TABLE1 VALUES('3','c')"; stmt.executeUpdate(a1); stmt.executeUpdate(a2); stmt.executeUpdate(a3); ResultSet rs=stmt.executeQuery("SELECT * FROM TABLE1"); while(rs.next()){ System.out.println(rs.getString("ID")+" "+rs.getString("NAME")); } //从建表到插入数据到查询 。仅为熟悉语句。 stmt.close(); con.close(); }catch(SQLException e){ e.printStackTrace(); System.exit(0); } } }
  • 相关阅读:
    微信支付
    集成支付宝SDK流程
    使用ASIFormDataRequest完成用户的登录操作
    本地推送UILocalNotification
    iOS 远程推送通知 详解
    iOS 8 中如何集成 Touch ID 功能
    iOS指纹识别Touch ID的安全性探讨
    iOS 支付(含支付宝、银联、微信)
    iOS 社交化分享功能
    Python3内建函数sorted
  • 原文地址:https://www.cnblogs.com/1-Admin/p/6086772.html
Copyright © 2011-2022 走看看