JDBC入门

一、JDBC基本介绍

1.1

        (1)持久化:将数据保存到可掉电式储存设备中以供之后试用。

        (2)数据持久化意味着将内存中的数据保存到硬盘上加以固化,实现过程大多通过各种关系数据库完成。

1.2Java中的数据存储技术

        (1)JDBC直接访问数据库

        (2)JDO(Java Data Object)技术

        (3)第三方O/R工具(Mybatis)

1.3JDBC介绍

        (1)JDBC是一种可用于执行SQL语句的JAVAAPI,是连接数据库的Java应用程序的纽带

        (2)JADB(Java Database Connectivity)独立于特定数据库管理系统,通用的SQL数据库存储和操作的公共接口(一组API),定义了用来访问数据库的标准Java类

        (3)简要理解:JDBC是SUM公司提供的一套API,使用这套API可以实现对具体数据库的操作(获取连接,关闭连接,DML,DDL,DCL)

1.4数据库驱动

        (1)我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道。

        (2)其实也就是数据库厂商的JDBC接口实现,即对Connection等接口的实现类的jar文件。

Driver接口

(1)表示java驱动程序接口。所有的具体的数据库厂商要来实现此接口

(2)装载SQLServer驱动

(提示:强制异常处理)

try {
			Class.forName("com.microsoft.driver.SQLServerDriver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

(2)装载MySql驱动

Class.forName("com.mysql.jdbc.Driver");

(3)装载Oracle驱动

Class.forName("oracle.jdbc.driver.OracleDriver");

DriverManager(驱动管理器)

(1)驱动管理器类,用于管理所有注册的驱动程序

(2)DriverManger(驱动管理器)的作用有:

(1注册驱动:这可以让JDBC知道要使用的是哪个驱动;

(2获取Connection:如果可以获取到Connection,那么说明已经于数据库连接上了。

String url = "jdbc:sqlserver://localhost:1433;DatabaseName=db_0924";
			Connection con = DriverManager.getConnection(url, "sa", "123");

常用的方法:

(1)createStatement():创建向数据库发送sql的statement对象。

(2)prepareStatement(sql):创建向数据库发送预编译sql的PrepareSatement对象。

二、JDBC快速入门

JDBC实现步骤(重点!!!)

 第一步:创建项目,导入jar包

第二步:注册驱动,即告诉java代码与哪个数据库进行连接

第三步:获取连接,将Java代码与数据库进行连接

第四步:定义sql语句,就是编写要执行的sql语句

第五步:获取执行sql对象,是获取的sql对象来执行sql语句,所以要先获取sql对象

第六步:执行sql语句

第七步:处理返回结果

第八步:释放资源

JDBC具体实现

1、新增操作:

public void add(String sname , String ssex , int sage , String saddress) {
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			String url = "jdbc:sqlserver://localhost:1433;DatabaseName=db_0924";
			Connection con = DriverManager.getConnection(url, "sa", "123");
//			System.out.println(con);
			String sql = "insert into tb_student values(?,?,?,?)";
			PreparedStatement ps = con.prepareStatement(sql);
			ps.setString(1, sname);
			ps.setString(2, ssex);
			ps.setInt(3, sage);
			ps.setString(4, saddress);
			int n = ps.executeUpdate();
			if (n > 0) {
				System.out.println("数据库插入数据成功");
			}else {
				System.out.println("数据插入失败");
			}
			if (ps != null) {
				ps.close();
			}
			if (con !=null && !con.isClosed()) {
				con.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

2、删除操作:

public void deletestu(int sid) {
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			String url = "jdbc:sqlserver://localhost:1433;DatabaseName=db_0924";
			Connection con = DriverManager.getConnection(url, "sa", "123");
//			System.out.println(con);
			String sql = "delete from tb_student where sid = ?";
			PreparedStatement ps = con.prepareStatement(sql);
			ps.setInt(1, sid);
			int n = ps.executeUpdate();
			if (n > 0) {
				System.out.println("删除成功");
			}else {
				System.out.println("删除失败");
			}
			if (ps != null) {
				ps.close();
			}
			if (con !=null && !con.isClosed()) {
				con.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

3、修改操作

public void modification(int sid , String sname , String ssex , int sage , String saddress) {
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			String url = "jdbc:sqlserver://localhost:1433;DatabaseName=db_0924";
			Connection con = DriverManager.getConnection(url, "sa", "123");
			String sql = "update tb_student set sname = ? , ssex = ? , sage = ? , saddress = ? where sid = ?";
			PreparedStatement ps = con.prepareStatement(sql);
			ps.setString(1, sname);
			ps.setString(2, ssex);
			ps.setInt(3, sage);
			ps.setString(4, saddress);
			ps.setInt(5, sid);
			int n = ps.executeUpdate();
			if (n > 0) {
				System.out.println("修改成功");
			}else {
				System.out.println("修改失败");
			}
			if (ps != null) {
				ps.close();
			}
			if (con !=null && !con.isClosed()) {
				con.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

4、查询所有操作

public void selectstu() {
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			String url = "jdbc:sqlserver://localhost:1433;DatabaseName=db_0924";
			Connection con = DriverManager.getConnection(url, "sa", "123");
			String sql ="select * from tb_student";
			PreparedStatement ps =con.prepareStatement(sql);
			ResultSet rs = ps.executeQuery();
			while(rs.next()) {
				System.out.println("学号:"+rs.getInt(1)+"\t姓名:"+rs.getString(2)+"\t性别:"+rs.getString(3)+"\t年龄:"+rs.getInt(4)+"\t地址:"+rs.getString(5));
			}
			if (rs != null) {
				rs.close();
			}
			if (ps != null) {
				ps.close();
			}
			if (con !=null && !con.isClosed()) {
				con.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

5、模糊查询操作

public void selectstu(String saddres) {
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			String url = "jdbc:sqlserver://localhost:1433;DatabaseName=db_0924";
			Connection con = DriverManager.getConnection(url, "sa", "123");
			String sql ="select * from tb_student where saddress like '%"+saddres+"%'";
			PreparedStatement ps =con.prepareStatement(sql);
			ResultSet rs = ps.executeQuery();
			while(rs.next()) {
				System.out.println("学号:"+rs.getInt(1)+"\t姓名:"+rs.getString(2)+"\t性别:"+rs.getString(3)+"\t年龄:"+rs.getInt(4)+"\t地址:"+rs.getString(5));
			}
			if (rs != null) {
				rs.close();
			}
			if (ps != null) {
				ps.close();
			}
			if (con !=null && !con.isClosed()) {
				con.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值