JDBC-Day01

2019年6月26日数据库

MySQL JDBC
MySQL JDBC英文文档

JDBC

Java 数据库连接:将java程序连接到数据的桥梁(webserver)

  • 1、Sun(Java) 设计了JDBC API底层封装了Socket,简化数据库的访问。
  • 2、JDBC为数据库提供了统一访问接口。

在这里插入图片描述

使用JDBC步骤:

1. 利用maven导入数据库驱动

  1. 创建Maven项目

  2. 找到 JDBC驱动程序的 坐标

       <dependencies>
       <dependency>
       	<groupId>mysql</groupId>
       	<artifactId>mysql-connector-java</artifactId>
       	<version>5.1.47</version>
       </dependency>
       </dependencies>
    
  3. 将JDBC坐标添加到 pom.xml

2. 注册数据库驱动: 告诉JDBC如何找到数据库驱动的实现类

  1. 最新的数据库驱动,会自动注册(有些驱动程序不支持).

  2. 建议手动注册:

     1. Class.forName("数据库驱动程序类名")
     2. Class.forName("com.mysql.jdbc.Driver")
    

3. 建立与数据库之间的连接

	String usr ="root";
	String pwd = "";
	
	//          jdbc:mysql://数据库IP:3306/数据库名   
	String url ="jdbc:mysql://localhost:3306/db6";
	//	~~固定SQL端口号3306~~ 

	Connection conn=DriverManger.getConnection(url,usr.pwd);

4. 创建Statement(语句)对象: 用于执行SQL(操作数据库)

1. DDL create drop 等 一般使用 execute
2. DML insert delete update 一般使用 executeUpdate 执行
3. DQL select 一般使用 executeQuery
		String sql = "create table t_user(id int, name varchar(50))";
		Statement st = conn.createStatement();
		st.execute(sql);
		st.close();

5.处理结果

6. 关闭资源和连接!!!

	st.close();
	conn.close();

** 注意: 数据库最好与驱动程序版本一致,否则MySQL JDBC 连接常用参数, 要添加在连接url上: **

  1. characterEncoding 字符编码, 可以设置为utf8

  2. useUnicode 是否使用unicode字符编码, 设置为true

  3. 关闭ssl加密, useSSL 设置为false

     jdbc:mysql://localhost:3306/t1?characterEncoding=utf8&useUnicode=true&useSSL=false
    

案例:

1、完整的建表案例:
package jdbc01;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class Demo01 {
	public static void main(String[] args) throws Exception{
		//注册数据库驱动(手动注册(推荐);不写,会自动注册,但可能会出错(不推荐))
		Class.forName("com.mysql.jdbc.Driver");
		//建立连接
		String usr="root";
		String pwd="";//密码无
		//数据库最好与驱动程序版本一致	
		//jdbc:mysql://localhost:3306/t1?
		//characterEncoding=utf8&useUnicode=true&useSSL=false
		String url="jdbc:mysql://localhost:3306/t1"; 
		Connection conn=DriverManager.getConnection(url, usr, pwd);
		//测试:
		System.out.println(conn);
		//com.mysql.jdbc.JDBC4Connection@133ddba表示成功链接了数据库
			
		/**
			* 创建Statement对象,执行SQL
		 */
		Statement st = conn.createStatement();
		// t_user不能重复建表
		String sql = "create table t_user (id int,name varchar(100))";

		//执行SQL语句
		st.execute(sql);
		st.close();
		//关闭连接
		conn.close();
	}
}
2、完整的插入数据案例:
package jdbc01;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class Demo02 {
	public static void main(String[] args) throws Exception{
		/**
		 * 利用JDBC执行插入数据语句
		 */
		String sql = "insert into t_user values(2,'乾隆')"; 
		//连接数据库
		String url="jdbc:mysql://localhost:3306/t1";
		String username="root";
		String password="";
		Connection conn = DriverManager.getConnection(url, username, password);
				
		//创建Statement对象
		Statement st = conn.createStatement();
		//executeUpdate 返回数据库中更新行数!
		int n = st.executeUpdate(sql);
		//处理SQL结果
		if(n==1){
			System.out.println("插入成功!");
		}
		//关闭资源 和连接
		st.close();
		conn.close();
		
	}
}
3、完整的删除数据案例:
package jdbc01;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class Demo03 {
	public static void main(String[] args) throws Exception{
		/**
		 * 利用JDBC执行删除语句
		 */
		String sql = "delete from t_user where id=1"; 
		//连接数据库
		String url="jdbc:mysql://localhost:3306/t1";
		String username="root";
		String password="";
		Connection conn = DriverManager.getConnection(url, username, password);
				
		//创建Statement对象
		Statement st = conn.createStatement();
		//executeUpdate 返回数据库中更新行数!
		int n = st.executeUpdate(sql);
		//处理SQL结果
		if(n>=1){
			System.out.println("删除成功!");
		}else{
			System.out.println("删除失败");
		}
		//关闭资源 和连接
		st.close();
		conn.close();
		
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值