Java_ jdbc___Java 数据库连接

概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库
    JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。

实现 步骤:
     1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
         1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下
在这里插入图片描述
        2.右键–>build path–>Add to build path
    2. 注册驱动
在这里插入图片描述
在这里插入图片描述
    3. 获取数据库连接对象 Connection conn = DriverManager.getConnection(url, user, password);
这里的url是指要运行sql文件的路径,user指用户名,password指密码。
    4. 定义sql
    5. 获取执行sql语句的对象 Statement
Statement statment = conn.createStatement();用于调用执行sql语句
    6. 执行sql,接受返回结果
    7. 处理结果
    8. 释放资源

public class Until {

	public static void main(String[] args) {
		query();	 
	}
	
	public static void query() {
		Connection conn = null;
		Statement statment = null;
		ResultSet rs = null;
		try {
			//注册驱动
			Class.forName("com.mysql.cj.jdbc.Driver");
			//获取数据库连接对象 Connection
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/school?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai", "root", "qwerdf");
			//定义sql
			String sql = "select s_id,s_name,s_birth,s_sex from student";
			//获取执行sql语句的对象 Statement
			statment = conn.createStatement();
			//执行sql,接受返回结果
			rs = statment.executeQuery(sql);
			//处理结果
			while(rs.next()) {
				int s_id = rs.getInt(1);
				String s_name = rs.getString(2);
				Date s_birth = rs.getDate(3);
				String s_sex = rs.getString(4);
				System.out.println(s_id+"=="+s_name+"=="+s_birth+"=="+s_sex);
			}
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			//释放资源
				try {
					if(rs!=null) {
						rs.close();
					}
					if(statment!=null) {
						statment.close();
							}
					if(conn!=null) {
						conn.close();
					}
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
	}

    上述是一个查阅的基本样式,可以简化很多,即封装。
运行结果:

1==赵雷==1990-01-01==2==钱电==1990-12-21==3==孙风==1990-05-20==4==李云==1990-08-06==5==周梅==1991-12-01==6==吴兰==1992-03-01==7==郑竹==1989-07-01==8==王菊==1990-01-20==9==小虹==1997-11-11==10==小白==1997-11-01==

    下面用删除函数为例来封装:

public class PackDemo {
	
	private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
	
	private static final String URL = "jdbc:mysql://localhost:3306/school?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
	
	private static final String USER = "root";
	
	private static final String PASSWORD = "qwerdf";
	
	private static Connection conn = null;
	private static Statement statment = null;
	private static ResultSet rs = null;
	
	public static void main(String[] args) {
		String sql = "delete from student where s_id=9";
		delete(sql);	 
	}
	/**
	 * 删除
	 */
	public static void delete(String sql) {
		try {
			Class.forName(DRIVER);
			conn = DriverManager.getConnection(URL, USER, PASSWORD);
			statment = conn.createStatement();
//			String sql = "delete from student where s_id=9";
			int ida = statment.executeUpdate(sql);
			 if(ida > 0){
		                System.out.println("添加成功!");
		            }else{
		                System.out.println("添加失败!");
		            }
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			close(statment,conn,null);
		}
	}
	public static void close(Statement statment,Connection conn,ResultSet rs) {
		try {
			if(rs != null) {
				rs.close();
			}
			if(statment!=null) {
				statment.close();
					}
			if(conn!=null) {
				conn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

    上述为删除函数的样式:直接将注册驱动路径,数据库路径,用户名,密码等常量直接用变量代替以及将释放资源的部件直接封装以简便多次使用,其实增、删、改的步骤差不多,唯一不同的就是主函数内的String类型的sql到底是增、是删、是改。就到这吧!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值