JAVA JDBC封装简单的访问MySQL数据库类(BaseDao)

1、JDBC封装访问数据库的基类,目的是重用数据库访问代码

封装以下方法:

MySQL数据库的连接

数据库关闭

开启数据库事务

提交数据库事务

事务回滚

注意没有封装存储过程的调用

/**  
* <p>Title: BaseDao.java</p>  
* <p>Description: </p>  
* <p>Copyright: Copyright (c) 2019</p>  
* <p>Company: www.nosprings.com</p>  
* @author liuhaibing
* @date 2019年12月18日  
* @version 1.0  
*/
package com.chinasofti.shop.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * @author liuhaibing
 * @date 2019年12月18日
 * @version 1.0
 */
public class BaseDao {

	private String url = "jdbc:mysql://localhost:3306/db_test_myshop2?useUnicode=true&characterEncoding=utf-8";
	private String dbUserName = "root";
	private String dbUserPwd = "123456";

	protected Connection conn = null;

	/**
	 * 返回数据库连接的方法
	 * @author liuhaibing
	 * @date 2019年12月18日
	 * @version 1.0
	 */
	public Connection getConnection() {

		if (conn != null)
			return conn;

		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection(url, dbUserName, dbUserPwd);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}

		return conn;
	}
	
	/**
	 * 封装底层数据库连接关闭方法
	 * @author liuhaibing
	 * @date 2019年12月18日  
	 * @version 1.0
	 */
	public void closeConnection() {
		try {
			if(conn != null) {
				conn.close();
			}
		}catch(SQLException e) {
			e.printStackTrace();
		}
	}
	/**
	 * 关闭数据库的自动事务提交功能,从自己控制事务的提交或者回滚
	 * @author liuhaibing
	 * @date 2019年12月18日  
	 * @version 1.0
	 */
	public void openTransaction() {
		if(conn != null) {
			try {
				// 关闭数据库操作的自动commit功能
				conn.setAutoCommit(false);
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * 手动提交事务
	 * @author liuhaibing
	 * @date 2019年12月18日  
	 * @version 1.0
	 */
	public void commit() {
		if(conn != null) {
			try {
				conn.commit();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	public void rollback() {
		if(conn != null) {
			try {
				conn.rollback();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
}
发布了34 篇原创文章 · 获赞 54 · 访问量 5017

猜你喜欢

转载自blog.csdn.net/nosprings/article/details/103641102