JDBC连接数据库

一、简单的连接

创建一个DBConnectionManager类,方便使用。
package Util;

import java.sql.*; 

 

public class DBConnectionManager {
    //private String driverName = "com.mysql.jdbc.Driver";//加载驱动程序  SQLServer
    private String driverName = "oracle.jdbc.driver.OracleDriver";//加载驱动程序  Oracle
    private String url = "jdbc:oracle:thin:@192.168.0.1:1521:nossdb1";//设置数据库连接串

    
    private String user = "wh";//数据库登录用户名
    private String password = "wh123";//数据库登录密码
    
    
    private static String message = "恭喜,数据库连接正常!";
    public void setDriverName(String newDriverName) {
        driverName = newDriverName;
    }
    public String getDriverName() {
        return driverName;
    }
    
    public void setUrl(String newUrl) {
        url = newUrl;
    }
    public String getUrl() {
        return url;
    }
    public void setUser(String newUser) {
        user = newUser;
    }
    public String getUser() {
        return user;
    }
    public void setPassword(String newPassword) {
        password = newPassword;
    }
    public String getPassword() {
        return password;
    }
    public Connection getConnection() {
        try {
        	Connection conn=null;
            Class.forName(driverName);
            conn= DriverManager.getConnection(url, user, password);
            return conn;
        } catch (Exception e) {
            e.printStackTrace();
            message = "数据库连接失败!";
            return null;
        }
    }
    public  void close(Connection conn){
		if(conn!=null){
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
    public static void main(String[] args) {
        try{
            DBConnectionManager dcm = new DBConnectionManager();
            Connection	conn = dcm.getConnection();
            System.out.println(message);
			conn.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}


二、批量更新数据库

        try {
            Connection conn = null;
			//PreparedStatement ps = null;
			
			Statement ps = null;
			ResultSet rs = null;
			int count = 0;
			boolean is_true=false;//判断给的文件标题是否正确
			try {
				DBConnectionManager dcm = new DBConnectionManager();
				conn = dcm.getConnection();
				conn.setAutoCommit(false); //关闭自动提交
			} catch (Exception e1) {
				e1.printStackTrace();
			}
			 
			ps=conn.createStatement();
			
			for(i=0,i<10;i++){
			    String sql ="insert into  table_name (列1, 列2,...) VALUES (值1, 值2,....) ";
    			ps.addBatch(sql); 
    	 		if (count % 200 == 0) {
    				ps.executeBatch();
    				conn.commit();
    				ps.clearBatch();
    			}
			}
			
			ps.executeBatch();
			conn.commit();
			conn.close();
			ps.close();	
		} catch ( Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		

三、result结果

       try{
        /** 连接数据库 查询 */
		Connection conn = null;
		// PreparedStatement ps = null;

		Statement ps = null;
		ResultSet rs = null;
		int count = 0;
		boolean is_true = false;// 判断给的文件标题是否正确
		 
			DBConnectionManager dcm = new DBConnectionManager();
			conn = dcm.getConnection();
			conn.setAutoCommit(false);
	 
		 
		ps = conn.createStatement();
		rs = ps.executeQuery("select ZIDUAN,  upper(COUTER)  COUTER from A_PANSHI_DIC");

		Map countMap = new HashMap();// 存放 counter 跟 字段
		while (rs.next()) {
		    System.out.println(rs.getObject(1));//速度最快
			System.out.println(rs.getObject(2));//速度最快
			System.out.print ( rs.getString("ZIDUAN") );//查询慢
			System.out.println( rs.getString("COUTER") );//查询慢
			countMap.put(rs.getObject(2).trim(), rs.getObject(1).trim());
		}
		
	    } catch (Exception e) {
	        
			// TODO: handle exception
		}

四、PreparedStatement防止sql注入

        Connection conn = null;
		PreparedStatement stmt = null;
	
		try {
			DBConnectionManager dcm = new DBConnectionManager();
			conn = dcm.getConnection();
			
			stmt = conn.prepareStatement("INSERT INTO users VALUES(?,?,?,?,?)");
			stmt.setInt(1, 5);
			stmt.setString(2, "tom");
			stmt.setString(3, "333");
			stmt.setString(4, "tom@163.com");
			stmt.setString(5, "2015-09-11");
			
			int i = stmt.executeUpdate();
			if(i>0){
				System.out.println("success");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBUtils.closeAll(null, stmt, conn);
		}


带开环升压转换器和逆变器的太阳能光伏系统 太阳能光伏系统驱动开环升压转换器和SPWM逆变器提供波形稳定、设计简单的交流电的模型 Simulink模型展示了一个完整的基于太阳能光伏的直流到交流电力转换系统,该系统由简单、透明、易于理解的模块构建而成。该系统从配置为提供真实直流输出电压的光伏阵列开始,然后由开环DC-DC升压转换器进行处理。升压转换器将光伏电压提高到适合为单相全桥逆变器供电的稳定直流链路电平。 逆变器使用正弦PWM(SPWM)开关来产生干净的交流输出波形,使该模型成为研究直流-交流转换基本操作的理想选择。该设计避免了闭环和MPPT的复杂性,使用户能够专注于光伏接口、升压转换和逆变器开关的核心概念。 此模型包含的主要功能: •太阳能光伏阵列在标准条件下产生~200V电压 •具有固定占空比操作的开环升压转换器 •直流链路电容器,用于平滑和稳定转换器输出 •单相全桥SPWM逆变器 •交流负载,用于观察实际输出行为 •显示光伏电压、升压输出、直流链路电压、逆变器交流波形和负载电流的组织良好的范围 •完全可编辑的结构,适合分析、实验和扩展 该模型旨在为太阳能直流-交流转换提供一个干净高效的仿真框架。布局简单明了,允许用户快速了解信号流,检查各个阶段,并根据需要修改参数。 系统架构有意保持模块化,因此可以轻松扩展,例如通过添加MPPT、动态负载行为、闭环升压控制或并网逆变器概念。该模型为进一步开发或整合到更大的可再生能源模拟中奠定了坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值