实训日志

您所在的位置:网站首页 吴语是语言体系吗 实训日志

实训日志

#实训日志 | 来源: 网络整理| 查看: 265

1、JDBC理解

JDBC( Java DataBase Connectivity )称为Java数据库连接,它是一种用于数据库访问的应用程序 API ,由一组用Java语言编写而成的类和接口组成,有了JDBC就可以用统一的语法对多种关系数据库进行访问,而不用担心其数据库操作语言的差异。

JDBC是sun提供一套用于操作数据库的标准接口,不同的数据厂商都提供了一套JDBC接口的实现,达成一个jar包发布,这个包叫驱动包; JDBC接口中提供了: 1.DriverManager:加载驱动并负责与数据库连接; 2.Connection:表示与数据库的连接,负责管理事务,创建执行SQL语句的对象Statement; 3.Statement:用来执行SQL语句,若执行的是查询语句,会得到查询的结果集ResultSet; 4.ResultSet:表示查询的结果集,遍历结果集可以获取查询的具体数据

 

2、JDBC的体系结构

JDBC结构可以划分为两层:一个是面向底层的的JDBC Driver interface(驱动程序管理接口),另一个是面向程序员的JDBC  API。

3、JDBC执行步骤

1)导入驱动jar包

2)加载驱动包

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

3)获取连接(DriverManager提供了连接数据的方法getConnecttion(url,name,password)),返回Connection)

//建立连接地址(不同的数据库有不同的连接格式) String url="jdbc:mysql://localhost:3306/gcddb"; //数据库账号 String name = "root"; //数据库密码 String pwd = "123456"; //获取连接 connection = DriverManager.getConnection(url,name,pwd);

4)定义SQL语句

String sql = "create table 数据库名(建表语句)"; //以创建表为例

5)获取PreparedStatement对象执行sql语句及相关方法

//PreparedStatement执行sql语句 ps = connection.prepareStatement(sql);

6)执行sql语句

ps.execute();

7)处理结果

8)释放资源

//释放资源 try{ if(connection!=null) { connection.close(); } if(ps != null){ ps.close(); } } catch(Exception e){ e.printStackTrace(); } ***完整代码 package practice01; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; //创建表 public class DemoJDBC01 { public static void main(String[] args) { Connection connection = null; PreparedStatement ps = null; try{ //1.加载驱动包(不同的数据库有不同的驱动包) Class.forName("com.mysql.cj.jdbc.Driver"); //2.建立连接地址(不同的数据库有不同的连接格式) String url="jdbc:mysql://localhost:3306/gcddb"; //3.数据库账号 String name = "root"; //4.数据库密码 String pwd = "123456"; //5.获取连接(DriverManager提供了连接数据的方法getConnecttion(url,name,password)),返回Connection connection = DriverManager.getConnection(url,name,pwd); String sql = "create table myjdbc(id int primary key auto_increment,uname varchar(15),upwd varchar(10),money double)"; //6.获取PreparedStatement对象执行sql语句及相关方法 //PreparedStatement执行sql语句 ps = connection.prepareStatement(sql); //7.执行sql ps.execute(); System.out.println("连接成功"); }catch(Exception e){ System.out.println("连接失败"); }finally { //释放资源 try{ if(connection!=null) { connection.close(); } if(ps != null){ ps.close(); } } catch(Exception e){ e.printStackTrace(); } } } } 4.JDBC数据库连接池 1)为什么需要数据库连接池

①传统的JDBC数据库连接使用DriverManager来获取,每次向数据库建立连接的时候都要将Connection加载到内存中,再验证IP地址,用户名和密码。每次需要数据库连接的时候,就向数据库要求一个,频繁的进行数据库连接操作将占用很多的系统资源,容易造成服务器崩溃。 ②每一次数据库连接,使用完后都得断开,如果程序出现异常而未能关闭,将导致数据库内存泄漏,最终将导致重启数据库。 ③传统获取连接的方式,不能控制创建的连接数量,如连接过多,可能会导致MySQL崩溃。

2)连接步骤 *properties配置文件 driveName=com.mysql.cj.jdbc.Driver url=jdbc:mysql: name = root password = 123456 maxActive = 5 maxWait = 8000; *示例代码  package day02; import practice01.DBUtil; import java.sql.Connection; import java.sql.PreparedStatement; /** * 使用DBUtil对数据库进行操作 */ //插入数据 public class DemoPreparedStatement01 { public static void main(String[] args) { Connection conn = null; PreparedStatement ps = null; try { //插入数据 //获取Connection conn = DBUtil.getConnection(); String sql = "insert into myjdbc values(null,?,?,?)"; //获取执行SQL的对象PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1,"admin100"); ps.setString(2,"00000"); ps.setDouble(3,8000); ps.executeUpdate(); System.out.println("插入成功"); } catch (Exception e) { e.printStackTrace(); //日志跟踪 } finally { } } }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3