0725 JDBC 技术(增删查改) Emp类/DBUtils/EmpDao /TestDemo

本文介绍了JDBC(Java Database Connectivity)技术,它是由Sun设计的一套规范,各数据库厂商如微软、Oracle、IBM等提供具体实现。文章详细讲解了JDBC的四个关键参数——驱动字符串、URL连接、用户名和密码,并强调了Connection、Statement和ResultSet这三个核心接口的作用。此外,还重点阐述了预编译语句PrepareStatement的优势,即预编译的SQL能提升程序性能,避免重复编译,适合于执行多次但参数不同的SQL操作。
摘要由CSDN通过智能技术生成

jdbc技术

   java database connectivity--java 数据库 连接
   sun设计的技术规范
       接口
      
   各个数据厂商做具体的实现
     sqlserver -- 微软
     Oracle、mysql -- Oracle
     DB2 -- IBM
     ...

JDBC四个重要参数
  四个重要参数
    a.驱动字符串
        com.microsoft.sqlserver.jdbc.SQLServerDriver
        com.microsoft.sqlserver.jdbc.SQLServerDriver.class
    b.url连接字符串
       jdbc:sqlserver://localhost:1433;dataBaseName=数据库名
    c.user(数据库用户名)
    d.pwd(数据库密码)


  三个核心接口(java.sql)
    a.Connection接口(连接对象)
    b.Statement接口(语句操作对象)
    c.ResultSet接口(结果集对象)
  

 预编译语句对象PrepareStatement
    预编译:在java程序这一段就将sql语句编译好,生成编译文件
               向数据库发送的是预编译文件,而非sql
               相同sql(参数可以不同),不会重复发送预编译文件
   大大提升了程序的性能

 

 建表
  部门表
    删除表
    drop table Dept
	drop table Emp

     create table Dept(
	    deptno int primary key, --部门编号
		dname varchar(200) not null,--部门名称
		location varchar(400) not null -- 部门地址
	 )

  员工表
    create table Emp(
	     empno int primary key identity,--员工编号
		 ename varchar(50) not null,--姓名
		 sex char(3)  check(sex in('男','女')) default '男',--性别
		 age int check(age between 18 and 60),--年龄
		 sal float check(sal>=3000) default 3000,--薪资
		 deptno int  references Dept(deptno)
	)

	select * from dept
	select * from emp

	添加
	insert into dept values(10,'java开发部','北京'),(20,'市场','上海'),
	(30,'企划部','长沙')

	select * from dept

	insert into emp values('熊大','男',25,12000,10),('熊二','男',23,11000,10),
('张三','女',21,9000,10),('李四','女',26,15000,20),('王五','男',27,16000,20),
('赵六','女',20,6000,20),('孙七','男',21,10000,30),('吴八','女',23,13000,30),
('邓九','男',20,9000,30),('常十','女',21,8000,30);

	select * from emp

	删除表中所有的记录,如果再添加记录标识列,会重新开始
truncate table emp
package demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

import org.junit.Test;

public class TestDemo {
      /**
       * 使用jdbc往数据库dept表中插入一条记录
       *  增删改
       */
	@Test
	 public void test1(){
		     try {
			      //加载数据的驱动类
				Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
				//连接字符串
				String url = "jdbc:sqlserver://localhost:1433;dataBaseName=db01";
				//用户名
				String user = "sa";
				//密码
				String pwd = "123";
				//获得连接对象(java和数据库之间搭建桥梁)
				Connection conn = DriverManager.getConnection(url, user, pwd);
				//增
				//String sql = "insert into dept values(50,'人力资源部','武汉') ";
				//删
				//String sql = "delete from dept where deptno=50";
				//改
				String sql = "update emp set sal += 1000";
				//获得语句对象,语句对象通过连接对象获得
				Statement stmt = conn.createStatement();
				//发送sql,操作数据库 ,增删改都使用executeUpdate()
				int num = stmt.executeUpdate(sql);
				System.out.println(num);//1 表示成功
				//关闭资源(三个接口)
				//顺序 先打开的后关闭
				stmt.close();
				conn.close();
			} cat
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值