2020-12-03

*JDBC 封装

  • 思考:
  • 封装提取出来的是多个方法公共的部分 就像是数学里面的提取公因式
  • 首先应该明白封装是为了更加简便,所以在纠结应不应该提出来的时候对比一下提取与不提取哪个更加的方便就有答案了
  • 其次封装的部分不会对程序的逻辑造成影响。
  • 提取出来的变量分析是否需要设置为全局变量,以及局部变量的初始值。
定义全局变量
public class JdbcUtil {
	//注册驱动、选择数据库、登录名、登录密码
	private static final String DRIVER = "com.mysql.cj.jdbc.Driver/这个是Driver文件的地址";
	private static final String URL = "jdbc:mysql://localhost:3306/'注意:自己的数据库名'?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
	private static final String USER = "root";
	private static final String PASSWORD = "root";
	
	//连接数据库可以作为全局变量  使用static修饰
	private static Connection conn = null;//局部变量需要给一个初始值;
注册方法
	//注册驱动
	static {
		try {
			Class.forName(DRIVER);
		} catch (ClassNotFoundException e) {
			System.out.println("驱动注册失败");
			e.printStackTrace();
		}
	}
获取数据库连接对象
	public static Connection newInstance() throws SQLException {
		if(conn == null){
			conn = DriverManager.getConnection(URL,USER,PASSWORD);
		}
		return conn;
	}
增删改的公共方法
	public static int curdMethod(String sql) {
		Statement statement = null;
		try {
			newInstance();//获取数据库连接对象 
			statement = conn.createStatement();
			int result = statement.executeUpdate(sql);
			return result;//返回值的类型为int型 0和1 1代表操作成功反之不成功
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			//关闭 null是因为只有在查看操作中会值
			close(conn,statement,null);
		}
		return 0;//返回值为0代表 没有进行增删改操作
	}
关闭数据库连接方法
	public static void close(Connection conn,Statement statement,ResultSet rs) {
		try {
			if(rs != null) {
				rs.close();
			}
			if(statement != null) {
				statement.close();
			}
			if(conn != null) {
				conn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值