欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JDBC的使用实例

程序员文章站 2022-05-28 17:48:29
...

 

使用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