- 浏览: 114689 次
- 性别:
- 来自: 成都
文章分类
最新评论
java.sql.DriverManager用来装载驱动程序,获取数据库连接。
java.sql.Connection完成对某一指定数据库的联接
java.sql.Statement在一个给定的连接中作为SQL执行声明的容器,他包含了两个重要的子类型。
Java.sql.PreparedSatement 用于执行预编译的sql声明
Java.sql.CallableStatement用于执行数据库中存储过程的调用
java.sql.ResultSet对于给定声明取得结果的途径
示例代码——连接mysql:
java.sql.Connection完成对某一指定数据库的联接
java.sql.Statement在一个给定的连接中作为SQL执行声明的容器,他包含了两个重要的子类型。
Java.sql.PreparedSatement 用于执行预编译的sql声明
Java.sql.CallableStatement用于执行数据库中存储过程的调用
java.sql.ResultSet对于给定声明取得结果的途径
示例代码——连接mysql:
package cn.itcast.cd.jsp.domain; import java.util.Date; public class Student { private int id; private String name; private String sex; private int age; private Date birthday; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } @Override public String toString() { return "Student [id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age + ", birthday=" + birthday + "]"; } } package cn.itcast.cd.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * 操作JDBC的工具类 * @author dendy * @version 1.0 */ public class DbUtils { private static String url = "jdbc:mysql://localhost/jdbc"; private static String user = "root"; private static String password = "admin"; private DbUtils(){ //不允许工具类拥有实例对象 } //只需要一份驱动,所以放到静态代码块中 static { try { //利用Class.forName调用com.mysql.jdbc.Driver的静态代码块,得到一个Driver对象的实例,而不需要手动创建. Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } /** * 获得数据库连接 * @return 返回Jave.sql.Connection实例,发生异常返回null. */ public static Connection getConnection(){ try { Connection connection = DriverManager.getConnection(url, user, password); return connection; } catch (SQLException e) { e.printStackTrace(); } return null; } /** * 关闭Connection、Statement、ResultSet对象. * @param connection * @param statement * @param resultSet */ public static void close(Connection connection, Statement statement, ResultSet resultSet){ close(connection); close(statement); close(resultSet); } /** * 关闭Connection、Statement对象. * @param connection * @param statement */ public static void close(Connection connection, Statement statement){ close(connection); close(statement); } /** * 关闭Connection对象 * @param connection */ public static void close(Connection connection){ try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } /** * 关闭Statement对象 * @param statement */ public static void close(Statement statement){ try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } /** * 关闭ResultSet对象 * @param resultSet */ public static void close(ResultSet resultSet){ try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } } package cn.itcast.dao.Impl; import java.sql.Connection; import java.sql.Date; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import cn.itcast.cd.jsp.dao.IStudentDao; import cn.itcast.cd.jsp.domain.Student; import cn.itcast.cd.utils.DbUtils; public class StudentDao implements IStudentDao { @Override public void add(Student stu) { // 连接数据库 Connection connection = DbUtils.getConnection(); PreparedStatement preparedStatement = null; String sql = "INSERT INTO student VALUES (null,?,?,?,?)"; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, stu.getName()); preparedStatement.setString(2, stu.getSex()); preparedStatement.setInt(3, stu.getAge()); // 第二参数为java.sql.Date类型,为java.util.Date的子类,需要处理 preparedStatement.setDate(4, new Date(stu.getBirthday().getTime())); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源 DbUtils.close(connection, preparedStatement); } } @Override public void delete(int id) { // 连接数据库 Connection connection = DbUtils.getConnection(); PreparedStatement preparedStatement = null; String sql = "DELETE FROM student WHERE id = " + id; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源 DbUtils.close(connection, preparedStatement); } } @Override public void update(int id, Student stu) { // 连接数据库 Connection connection = DbUtils.getConnection(); PreparedStatement preparedStatement = null; String sql = "UPDATE student SET name=?,sex=?,age=?,birthday=? WHERE ID=" + id; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, stu.getName()); preparedStatement.setString(2, stu.getSex()); preparedStatement.setInt(3, stu.getAge()); preparedStatement.setDate(4, new Date(stu.getBirthday().getTime())); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源 DbUtils.close(connection, preparedStatement); } } @Override public Student get(int id) { // 连接数据库 Connection connection = DbUtils.getConnection(); ResultSet resultSet = null; PreparedStatement preparedStatement = null; String sql = "SELECT * FROM student WHERE ID=" + id; try { preparedStatement = connection.prepareStatement(sql); resultSet = preparedStatement.executeQuery(); if (resultSet.next()) { Student stu = new Student(); stu.setName(resultSet.getString("name")); stu.setSex(resultSet.getString("sex")); stu.setAge(resultSet.getInt("age")); stu.setBirthday(resultSet.getDate("birthday")); stu.setId(resultSet.getInt("id")); return stu; } } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源 DbUtils.close(connection, preparedStatement, resultSet); } return null; } @Override public List<Student> getAll() { List<Student> stuList = new ArrayList<Student>(); // 连接数据库 Connection connection = DbUtils.getConnection(); ResultSet resultSet = null; PreparedStatement preparedStatement = null; String sql = "SELECT * FROM student"; try { preparedStatement = connection.prepareStatement(sql); resultSet = preparedStatement.executeQuery(); while (resultSet.next()) { Student stu = new Student(); stu.setName(resultSet.getString("name")); stu.setSex(resultSet.getString("sex")); stu.setAge(resultSet.getInt("age")); stu.setBirthday(resultSet.getDate("birthday")); stu.setId(resultSet.getInt("id")); stuList.add(stu); } } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源 DbUtils.close(connection, preparedStatement, resultSet); } return stuList; } @Override public List<Student> get(String name) { List<Student> stuList = new ArrayList<Student>(); // 连接数据库 Connection connection = DbUtils.getConnection(); ResultSet resultSet = null; PreparedStatement preparedStatement = null; String sql = "SELECT * FROM student WHERE name='"+name+"'"; try { preparedStatement = connection.prepareStatement(sql); resultSet = preparedStatement.executeQuery(); while (resultSet.next()) { Student stu = new Student(); stu.setName(resultSet.getString("name")); stu.setSex(resultSet.getString("sex")); stu.setAge(resultSet.getInt("age")); stu.setBirthday(resultSet.getDate("birthday")); stu.setId(resultSet.getInt("id")); stuList.add(stu); } } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源 DbUtils.close(connection, preparedStatement, resultSet); } return stuList; } }
发表评论
-
oracle基础知识
2012-10-10 22:29 0Oracle服务器由两大部分 ... -
数据库基础
2012-10-10 22:14 599数据库(DB)是一个按数据结构来存储和管理数据的计算机软件系统 ... -
orcale提示java.lang.Exception:Request::null的解决办法
2012-10-05 19:28 631在win7的系统下,安装好oracle后,进行em登陆后, ... -
JDBC中的连接池
2012-09-12 23:25 1282在使用开发基于数据库 ... -
初始Jdbc事务处理
2012-09-12 21:37 1141在数据库中,所谓事务是 ... -
jdbc中的Statement和PreparedStatement接口对象
2012-09-11 21:35 12251、Statement 该对象用于 ... -
MySQL登陆方式、数据类型、数据引擎及SQL查询语句,注意的问题.
2012-09-09 21:11 13151. 连接到服务器上面有三种方式: 1.1 通过m ... -
MySQL详细安装图文教程
2012-09-09 20:41 615原文地址:http://www.duote ... -
MySQL中的integer 数据类型
2012-09-09 20:33 1066MySQL 数据类型中的 intege ...
相关推荐
### JDBC连接数据库步骤详解 #### 一、简介 在Java开发中,经常需要与数据库进行交互,例如查询数据、更新数据等操作。为了方便开发者进行这些操作,Sun公司推出了一套标准的Java访问数据库的API——Java Database...
对于初学者来说,理解JDBC连接数据库的基本步骤至关重要。以下是详细解释这些步骤的知识点: 1. 加载JDBC驱动程序: 在连接数据库之前,首先需要在Java虚拟机(JVM)中加载对应的数据库驱动程序。这一步是通过使用...
本篇将详细介绍如何使用JDBC连接数据库,并通过一个简单的示例进行讲解。 首先,要连接到数据库,我们需要确保已经正确地在项目中引入了对应数据库驱动的JAR包。例如,上述代码示例中使用的数据库是Microsoft SQL ...
总的来说,了解和掌握这些JDBC连接数据库的方法是Java开发人员必备的技能之一,它们可以帮助你有效地与各种数据库进行交互,实现数据的存储和检索。在实际开发中,根据项目需求和团队偏好选择最适合的方法,并确保...
### JDBC连接数据库应用详解 #### 一、JDBC概述及DriverManager的作用 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问接口。通过JDBC,Java应用程序...
总的来说,Spring Boot JDBC连接数据库示例展示了如何利用Spring Boot的便利性高效地与数据库交互。通过自动配置、依赖注入和`JdbcTemplate`,我们可以快速构建起健壮且易于维护的数据库操作层。
"JDBC 连接数据库" JDBC(Java Database Connectivity)是一种Java API,用于连接数据库,并执行 SQL 语句以访问和操作数据库中的数据。JDBC API 由java.sql包提供,包括了 Connection、Statement、ResultSet 等...
本文将详细介绍使用JDBC连接数据库的七个步骤,并给出相应的示例代码。 #### 二、JDBC连接数据库的七个步骤 ##### 1. 加载JDBC驱动程序 在连接数据库之前,首先需要将数据库的驱动加载到Java虚拟机(JVM)中。这一步...
本资源“eclipse-jdbc连接数据库源码”提供了一系列关于如何使用Eclipse IDE进行数据库连接的示例代码,这对于初学者和有经验的开发者来说都是宝贵的参考资料。 首先,我们来理解JDBC的基本概念。JDBC是Java平台的...
MHT文件是一种单个文件存储网页的格式,可能包含了如何使用JDBC连接数据库的网页教程,包括HTML代码示例和步骤解释。 5. **常用数据库JDBC连接写法.txt** 这个文本文件很可能包含了常用的JDBC连接代码片段,例如...
2. **JDBC(Java Database Connectivity)**:JDBC是Java中用来连接数据库的标准API,它允许Java应用程序与各种类型的数据库进行交互。实验要求你掌握JDBC的基本操作,包括连接、执行SQL语句和处理结果集。 3. **...
5. **NetJavaSession.java**:这个文件的名字可能暗示了它与网络会话有关,或者是对JDBC连接的进一步封装,提供了一种基于会话的数据库操作方式。可能包含事务管理、并发控制等特性,以确保数据的一致性和完整性。 ...
### JDBC连接数据库步骤详解 #### 一、概述 在Java应用程序中,经常需要与数据库进行交互,例如查询、插入、更新或删除数据等操作。为了实现这些功能,Java提供了JDBC(Java Database Connectivity)技术,它允许...
JDBC连接数据库字符串是连接数据库的关键部分,它包含了所有必要的信息,如驱动类、数据库URL、数据库名、主机地址、端口号以及可能的其他参数。 以下是一些主流数据库的JDBC连接字符串示例: 1. **SQL Server ...
#### 三、JDBC连接数据库示例 ##### 1. Oracle数据库 Oracle数据库是全球领先的数据库管理系统之一,广泛应用于企业级应用。使用JDBC连接Oracle数据库时,通常采用thin驱动模式: ```java try { Class.forName(...
通过上述示例可以看出,使用JDBC连接不同类型的数据库时,主要的区别在于驱动类的加载、URL的格式以及可能的参数设置上。开发者需要根据所使用的数据库类型,选择合适的驱动类,并正确配置连接字符串和登录凭据。...
### 数据库实验JDBC连接数据库知识点 #### 一、实验目的 - **了解DBMS的各种语言接口编程方法:** - 数据库管理系统(DBMS)提供了多种编程接口,包括但不限于ODBC、JDBC等,这些接口允许应用程序通过标准的方式与...
本文将详细介绍如何利用JDBC连接SQL Server 2005,并验证连接是否成功,同时探讨使用SA用户和Windows身份两种不同的认证方式进行连接的方法。 #### 一、JDBC 连接 SQL Server 2005 的基本配置 为了能够顺利地使用...