JDBC的使用实例

 

使用JDBC的步骤
加载JDBC驱动程序 → 建立数据库连接Connection → 创建执行SQL的语句Statement → 处理执行结果ResultSet → 释放资源

1.注册驱动 (只做一次)
  方式一:Class.forName(“com.MySQL.jdbc.Driver”);
  推荐这种方式,不会对具体的驱动类产生依赖。
  方式二:DriverManager.registerDriver(com.mysql.jdbc.Driver);
  会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖。

2.建立连接

Connection conn = DriverManager.getConnection(url, user, password);

3. 创建执行SQL的语句的Statement
 

public void saveInfo(List<Map<String, Object>> dataList) throws Exception {
	Connection setDbConnInfo = null;
	PreparedStatement setDbStmtInfo = null;
	try {
		//  建立数据库连接
		setDbConnInfo = this.getConnection();
		
		//  将数据插入到数据库表t_find01中
		setDbStmtInfo = setDbConnInfo.prepareStatement("insert into t_find01(id,name,date)values(?,?,?)");
		
		 //  将自动提交设置为 false,
        	        //  若设置为 true 则数据库将会把每一次数据更新认定为一个事务并自动提交
		setDbConnInfo.setAutoCommit(false);

		while (dataList.size() > 0) {
			Map<String, Object> dataMap02 = dataList.get(0);
			dataList.remove(0);
			String id = (String) dataMap02.get("id");
			String name = (String) dataMap02.get("name");
			String date = (String) dataMap02.get("date");
			setDbStmtInfo.setString(1, id);
			setDbStmtInfo.setString(2, name);
			setDbStmtInfo.setString(3, date);
			//  将数据添加到同一批处理中
			setDbStmtInfo.addBatch();
		}
		//  执行批处理
		setDbStmtInfo.executeBatch();
		//  执行完后,手动提交事务
		setDbConnInfo.commit();
	} catch (Exception e) {
		logger.error("MonitorDao.saveInfo Error!!!", e);
	} finally {
		// 把自动提交打开
		setDbConnInfo.setAutoCommit(true);
		//  关闭连接,释放资源
		setDbStmtInfo.close();
		setDbConnInfo.close();
	}
}

配置文件config.properties的设置

//  注册驱动程序
task.db.driverClassName=com.mysql.jdbc.DriveruseUnicode=true&characterEncoding=UTF-8

//  数据库连接地址
task.db.url=jdbc:mysql://localhost:3306/crplt?useUnicode=true&characterEncoding=UTF-8

// 数据库的用户名和密码
task.db.username=root
task.db.password=root

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

庭一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值