1、JDBC封装访问数据库的基类,目的是重用数据库访问代码
封装以下方法:
MySQL数据库的连接
数据库关闭
开启数据库事务
提交数据库事务
事务回滚
注意没有封装存储过程的调用
/** * <p>Title: BaseDao.java</p> * <p>Description: </p> * <p>Copyright: Copyright (c) </p> * <p>Company: </p> * @author liuhaibing* @date 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 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 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 12月18日 * @version 1.0*/public void closeConnection() {try {if(conn != null) {conn.close();}}catch(SQLException e) {e.printStackTrace();}}/*** 关闭数据库的自动事务提交功能,从自己控制事务的提交或者回滚* @author liuhaibing* @date 12月18日 * @version 1.0*/public void openTransaction() {if(conn != null) {try {// 关闭数据库操作的自动commit功能conn.setAutoCommit(false);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}/*** 手动提交事务* @author liuhaibing* @date 12月18日 * @version 1.0*/public void commit() {if(conn != null) {try {mit();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public void rollback() {if(conn != null) {try {conn.rollback();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}