JDBC与数据库连接代码详解
Java实现与数据库的交互:
package com.tangjiang.crm; import java.io.Serializable; /** * @author TangJiang 2017年10月30日 下午8:12:49 * */ public class Customer implements Serializable { /** 客户编号 */ private long cId; /** 客户姓名 */ private String cName; /** 客户电话 */ private String cPhone; /** 客户地址 */ private String cAddress; public Customer() { super(); } public Customer(long cId, String cName, String cPhone, String cAddress) { super(); this.cId = cId; this.cName = cName; this.cPhone = cPhone; this.cAddress = cAddress; } public long getcId() { return cId; } public void setcId(long cId) { this.cId = cId; } public String getcName() { return cName; } public void setcName(String cName) { this.cName = cName; } public String getcPhone() { return cPhone; } public void setcPhone(String cPhone) { this.cPhone = cPhone; } public String getcAddress() { return cAddress; } public void setcAddress(String cAddress) { this.cAddress = cAddress; } }
package com.tangjiang.crm; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.LinkedList; import java.util.List; /** * 数据库操作类 * @author TangJiang 2017年10月30日 下午8:35:51 * */ public class CustomerDao { /** * 将对象保存到数据库中 * * @param 要保存到数据库的对象 * @return */ public void save(Customer c) { String sql = "insert into customers values(customer_sq.nextval,?,?,?)"; // 获得数据库连接 Connection conn = DbUtil.getCon(); // 预编译sql语句 try { PreparedStatement ps = conn.prepareStatement(sql); // 设置参数的值 ps.setString(1, c.getcName()); ps.setString(2, c.getcPhone()); ps.setString(3, c.getcAddress()); // 执行sql ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 根据id删除客户信息 * * @param * @return */ public void remove(long id) { String sql = "delete from customers where id=?"; // 获得数据库连接 Connection conn = DbUtil.getCon(); // 获得预编译sql语句 try { PreparedStatement ps = conn.prepareStatement(sql); // 设置参数值 ps.setLong(1, id); // 执行sql语句 ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 根据对象更新数据库 * * @param 对象 * @return */ public void update(Customer c) { String sql = "update customers set name=?,phone=?,address=? where id=?"; // 获得数据库连接 Connection conn = DbUtil.getCon(); // 预编译sql语句 try { PreparedStatement ps = conn.prepareStatement(sql); // 设置参数值 ps.setString(1, c.getcName()); ps.setString(2, c.getcPhone()); ps.setString(3, c.getcAddress()); ps.setLong(4, c.getcId()); // 执行sql ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 查询所有的数据 * * @param * @return 返回数据列表 */ public List<Customer> list() { // 设置集合存储结果集数据 LinkedList<Customer> list = new LinkedList<Customer>(); String sql = "select *from customers"; Connection conn = DbUtil.getCon(); try { // 预编译sql语句 PreparedStatement ps = conn.prepareStatement(sql); // 执行获得结果集 ResultSet rs = ps.executeQuery(); // 将结果集转换成LinkedList while (rs.next()) { Customer c = new Customer(); c.setcId(rs.getInt("id")); c.setcName(rs.getString("name")); c.setcPhone(rs.getString("phone")); c.setcAddress(rs.getString("address")); list.add(c); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }
package com.tangjiang.crm; import java.io.IOException; 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.Properties; /** * 数据库工具类,使用懒汉单例模式, * @author TangJiang * 2017年10月30日 下午8:18:54 * */ public class DbUtil { //定义一个Properties对象 static Properties p=new Properties(); //定义存放获取到的数据属性 private static String driver; private static String url; private static String user; private static String pwd; //定义static块实现配置文件加载 static{ try { p.load(DbUtil.class.getClassLoader() .getResourceAsStream("com/tangjiang/crm/jdbc.properties")); //通过配置文件对象来获得每个key对应的value driver=p.getProperty("driver"); url=p.getProperty("url"); user=p.getProperty("user"); pwd=p.getProperty("pwd"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 数据库连接建立方法(只能有一个地址) * @return */ public static Connection getCon(){ /**数据库连接对象,默认为null*/ Connection con=null; try { // 加载数据库驱动包 Class.forName(driver); //获得数据库连接对象 con=DriverManager.getConnection( url, user, pwd); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("数据库连接成功"); return con; } /** * 定义一个关闭数据库链接对象,释放资源 */ public static void closeCon(Connection con,ResultSet rs,Statement stm,PreparedStatement ps){ try { //实现对象的关闭 if(rs!=null){ rs.close(); } if(stm!=null){ stm.close(); } if(ps!=null){ ps.close(); } if(con!=null){ con.close(); } }catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
package com.tangjiang.crm; import java.util.List; public class Test { public static void main(String[] args) { CustomerDao cd = new CustomerDao(); List<Customer>list=cd.list(); for(Customer c:list){ System.out.println(c.getcName()); } } }
配置文件代码就没粘贴上了!!!
相关推荐
### JDBC连接数据库步骤详解 #### 一、简介 在Java开发中,经常需要与数据库进行交互,例如查询数据、更新数据等操作。为了方便开发者进行这些操作,Sun公司推出了一套标准的Java访问数据库的API——Java Database...
### Java JDBC连接数据库代码大全详解 #### 一、JDBC基础概述 JDBC(Java Database Connectivity)是一种标准的Java API,允许Java程序连接并操作各种类型的数据库。它为开发人员提供了一种统一的方式,以便使用...
### JDBC:数据库连接与文件配置详解 #### 一、JDBC概述 JDBC(Java Database Connectivity)是Java中用于执行SQL语句的一种标准应用程序接口,它为开发人员提供了与多种数据库(如Oracle、MySQL、SQL Server等)...
以上介绍了如何使用Java通过JDBC连接不同类型的数据库,并详细解释了各个数据库连接的配置参数。在实际应用中,根据不同的数据库类型选择合适的驱动程序,并正确设置URL、用户名、密码以及其他连接参数是非常重要的...
### JDBC数据库连接代码详解 #### 一、引言 在软件开发过程中,数据库连接是必不可少的一个环节。Java作为主流的编程语言之一,提供了强大的数据库连接工具——Java Database Connectivity(JDBC)。通过JDBC,...
本文详细介绍了如何使用 JDBC 连接 SQL Server 数据库的方法,包括加载 JDBC 驱动、建立数据库连接、执行 SQL 语句(创建表、插入数据)以及查询数据。通过以上步骤,可以实现 Java 应用程序与 SQL Server 数据库的...
这里我们将详细讲解如何使用Java进行数据库连接,包括JDBC(Java Database Connectivity)驱动的使用、连接代码的编写以及不同数据库的连接方法。 1. **Microsoft SQL Server 和 Sybase** - 对于Microsoft SQL ...
### 数据库连接JDBC详解 #### 一、JDBC基本概念及重要性 JDBC (Java Database Connectivity) 是 Sun 公司(现已被 Oracle 收购)推出的一种标准技术,它属于 JavaSE 范畴,主要用于实现 Java 应用程序与各种不同...
Java数据库连接(JDBC)是Java平台中的一个重要组件,它允许Java程序与多种关系型数据库进行交互。通过使用JDBC,开发者可以使用纯Java API来编写数据库应用程序,而无需依赖于特定数据库供应商提供的API。尽管如此...
`Class.forName()`用于加载JDBC驱动,然后`DriverManager.getConnection()`方法用于建立实际的数据库连接。 执行SQL查询通常分为三个步骤: 1. **获取数据库连接**:通过`getConnection()`方法。 2. **创建...
### JDBC 数据库连接写法详解 #### 一、引言 在Java开发中,与数据库进行交互是一项非常常见的任务。JDBC(Java Database Connectivity)是Java中用来对关系型数据库进行统一访问的标准API,它为Java应用程序提供...
**JDBC连接数据库的步骤详解** Java Database Connectivity (JDBC) 是Java编程语言中用于与各种类型数据库交互的标准API。了解并熟练掌握JDBC连接数据库的步骤是每个Java开发人员的基础技能之一。以下是一个详尽的...
### JDBC:Java数据库连接技术详解 #### 引言 在Java开发中,JDBC(Java Database Connectivity)是一项关键的技术,它允许Java应用程序与各种类型的数据库进行交互,包括但不限于Oracle、DB2、SQL Server、Sybase...
**JDBC数据库连接JAR包详解** Java Database Connectivity(JDBC)是Java平台中的一个标准API,它允许Java应用程序与各种类型的数据库进行交互。JDBC为开发者提供了统一的接口,使得开发者无需关心底层数据库的具体...
### JDBC与数据库交互详解 #### 一、JDBC概述 JDBC(Java Database Connectivity)是Java平台上用于连接数据库的一种标准接口。它允许开发者通过统一的API来访问多种类型的数据库,从而实现了应用程序与不同数据库...
### JDBC与多种数据库连接详解 在Java开发领域中,JDBC(Java Database Connectivity)是一种用于执行SQL语句的标准Java API,它可以为多种关系数据库提供统一访问接口,这使得Java应用程序可以方便地与不同类型的...
在以上示例代码中,我们使用了Jdbc连接Oracle数据库,加载了Oracle驱动程序,创建了连接对象,创建了SQL语句的执行对象,执行了SQL语句,对执行结果进行处理,并关闭了相关连接对象。 Jdbc连接数据库的基本步骤非常...
**DriverManager**:是JDBC的核心服务类,用于加载JDBC驱动并获取数据库连接。其关键方法`getConnection()`用于建立数据库连接。 **Connection**:表示与数据库之间的物理连接,是所有数据库操作的基础。通过`...