JDBC 实现连接和增删改查功能 JDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。JDBC 提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 JDBC 的基本连接过程包括加载驱动、建立连接、执行查询和删除等语句的操作。在 Java 中提供了 java.sql 的 jar 包,用于连接数据库。下面是一个基本的连接语法结构: Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="root"; 加载和建立连接,这就是基本的一个语法结构,在连接数据库当然还有其他的属性可以设置,比如说最大的连接数了,和如何建立连接池,都可以在配置中用到,这里我就简单的介绍如何连接,后面跟的是这个连接的字符集,防止出现乱码。 在 JDBC 中,Statement 对象用于执行 SQL 语句,包括查询、插入、更新和删除等操作。下面是一个简单的查询语句的实现: package dbtest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; public class DbTest { public static void main(String[] args) { Employee employee1 =new Employee(); employee1.setEmpno(555); employee1.setEname("hakly"); employee1.setSal(5400); employee1.setHiredate(new Date()); addEmployee(employee1); List<Employee>employees=getEmployees(); for(Employee employee:employees){ System.out.println(employee); } Employee employee =new Employee(); employee.setEmpno(999); employee.setEname("jack"); employee.setSal(5000); employee.setHiredate(new Date()); addEmployee(employee); } public static List<Employee> getEmployees() { ResultSet rs=null; Connection conn=null; Statement stat=null; List<Employee> employees=new ArrayList<Employee>(); try{ Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="root"; conn= DriverManager.getConnection(url,user,password); stat=conn.createStatement(); String sql="select * from employee"; rs=stat.executeQuery(sql); while(rs.next()){ Employee employee=new Employee(); employee.setEmpno(rs.getInt(1)); employee.setEname(rs.getString(2)); employee.setSal(rs.getDouble(3)); employee.setHiredate(rs.getDate(4)); employees.add(employee); } }catch(SQLException e){ e.printStackTrace(); }finally{ try{ if(rs!=null)rs.close(); if(stat!=null)stat.close(); if(conn!=null)conn.close(); }catch(SQLException e){ e.printStackTrace(); } } return employees; } public static void addEmployee(Employee employee) { Connection conn=null; Statement stat=null; try{ Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="root"; conn= DriverManager.getConnection(url,user,password); stat=conn.createStatement(); String sql="insert into employee values(null,'"+employee.getEname()+"',"+employee.getSal()+",'"+employee.getHiredate()+"')"; stat.executeUpdate(sql); }catch(SQLException e){ e.printStackTrace(); }finally{ try{ if(stat!=null)stat.close(); if(conn!=null)conn.close(); }catch(SQLException e){ e.printStackTrace(); } } } } 在上面的代码中,我们使用了 Statement 对象来执行查询语句,并将结果存储到 ResultSet 对象中,然后将结果转换成 Employee 对象,并将其添加到 List 中。同时,我们也实现了添加员工的功能,使用 Statement 对象来执行插入语句。 JDBC 提供了一种统一的方式来访问不同的关系数据库,为开发人员提供了便捷的数据库操作方式。
- 粉丝: 8
- 资源: 953
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助