Java连接数据库的方法详解 (java文件连接数据库连接)

Java是一种面向对象编程语言,它已经成为了互联网时代的主流开发语言。在开发过程中,我们会经常用到数据库。Java对于各种数据库都提供了良好的支持,既支持Oracle,也支持MySQL等。Java连接数据库的方法有很多,本文将详细介绍Java连接数据库的常用方法。

一、JDBC

JDBC是Java Database Connectivity的缩写,用于定义一个Java语言中访问数据库的标准接口。JDBC分为两个部分:JDBC API和JDBC驱动程序。JDBC API负责提供应用程序访问数据库的标准接口,而JDBC驱动程序则是实现接口的不同数据库厂商提供的软件包。

1.连接数据库

需要下载和安装相应的JDBC驱动程序。例如,如果连接Oracle数据库,则需要下载和安装Oracle数据库的JDBC驱动程序。一旦安装了驱动程序,就可以连接Oracle数据库:

“`java

Class.forName(“oracle.jdbc.driver.OracleDriver”);

String url = “jdbc:oracle:thin:@localhost:1521:orcl”;

String username = “username”;

String password = “password”;

Connection conn = DriverManager.getConnection(url, username, password);

“`

这里需要注意的是,`Class.forName`的语句是引入Oracle JDBC驱动程序类,这样才能使用Oracle的驱动程序。`url`参数指定了JDBC连接的URL,`username`和`password`则是连接Oracle数据库的用户名和密码。使用`DriverManager`的`getConnection`方法来建立连接。

2.执行SQL语句

一旦建立了JDBC连接,就可以执行SQL语句了。例如,在Oracle中创建一个表:

“`java

Statement stmt = conn.createStatement();

String sql = “CREATE TABLE users (id NUMBER(10), name VARCHAR2(20))”;

stmt.executeUpdate(sql);

“`

这里,首先创建`Statement`对象。`sql`参数指定要执行的SQL语句,然后调用`executeUpdate`方法执行SQL语句。

3.查询数据

查询数据需要使用`ResultSet`对象。例如,在Oracle中查询所有用户的名字:

“`java

Statement stmt = conn.createStatement();

String sql = “SELECT name FROM users”;

ResultSet rs = stmt.executeQuery(sql);

while (rs.next()) {

String name = rs.getString(“name”);

System.out.println(name);

}

“`

这里,首先创建`Statement`对象,然后执行SQL查询语句。查询语句返回的结果集保存在ResultSet对象中。`while`循环遍历结果集,获取每个用户的名字,并将其打印出来。

二、Spring JDBC

Spring是一个开源的Java开发框架。Spring JDBC是Spring框架的一个模块,可以方便地与数据库进行交互。Spring JDBC的好处在于可以轻松地进行数据源配置和管理,并提供了更简单和可维护的代码。

1.连接数据库

Spring JDBC使用JDBC数据源来连接数据库。数据源是一个数据库连接池,它允许Java应用程序在任何时间访问数据库。使用Spring JDBC连接Oracle数据库:

“`xml

“`

这里,使用`DriverManagerDataSource`创建JDBC数据源。`driverClassName`参数指定JDBC驱动程序类,`url`参数指定JDBC连接的URL,`username`和`password`则是连接Oracle数据库的用户名和密码。

2.执行SQL语句

一旦建立了JDBC数据源,就可以执行SQL语句了。例如,在Oracle中查询所有用户的名字:

“`java

JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

String sql = “SELECT name FROM users”;

List names = jdbcTemplate.queryForList(sql, String.class);

for (String name : names) {

System.out.println(name);

}

“`

这里,首先创建一个`JdbcTemplate`对象,它是Spring JDBC提供的一个用于执行SQL语句的高级对象。`queryForList`方法执行查询语句,返回一个字符串列表。使用`for`循环遍历列表,并打印每个用户的名字。

三、Hibernate

Hibernate是一个流行的开源框架,用于将Java对象映射到关系数据库。Hibernate把Java对象视为面向对象的模型,并自动将其转换为关系模型。Hibernate提供了丰富的映射功能,使得Java开发人员可以更容易地处理数据库操作。

1.连接数据库

Hibernate使用JDBC数据源连接数据库。连接Oracle数据库:

“`xml

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@localhost:1521:orcl

username

password

“`

这里,使用`driver_class`参数指定JDBC驱动程序类,`url`参数指定JDBC连接的URL,`username`和`password`则是连接Oracle数据库的用户名和密码。

2.执行SQL语句

Hibernate不需要手动执行SQL语句,因为它根据映射规则自动生成SQL语句。例如,在Oracle中创建一个用户对象:

“`java

Session session = sessionFactory.getCurrentSession();

Transaction tx = session.beginTransaction();

User user = new User();

user.setName(“Tom”);

session.save(user);

tx.commit();

“`

这里,首先获取当前会话的`Session`对象,然后创建事务并开始事务。创建一个新的`User`对象,将其保存到数据库中,并提交事务。

3.查询数据

Hibernate提供了一个面向对象的查询语言(HQL)来查询数据。例如,在Oracle中查询所有用户的名字:

“`java

Session session = sessionFactory.getCurrentSession();

Transaction tx = session.beginTransaction();

String hql = “FROM User”;

Query query = session.createQuery(hql);

List users = query.list();

for (User user : users) {

String name = user.getName();

System.out.println(name);

}

tx.commit();

“`

这里,首先获取当前会话的`Session`对象,然后创建事务并开始事务。使用HQL语句`FROM User`查询所有用户的列表。使用`list`方法将列表保存到`List`对象中。使用`for`循环遍历列表,并获取每个用户的名字,并将其打印出来。

四、MyBatis

MyBatis是一个流行的开源持久化框架,用于将Java对象映射到关系数据库。与Hibernate不同,MyBatis可以手动编写SQL或使用MyBatis提供的映射规则进行自动化映射。

1.连接数据库

MyBatis使用JDBC数据源连接数据库。连接Oracle数据库:

“`xml

“`

这里,使用`driver`参数指定JDBC驱动程序类,`url`参数指定JDBC连接的URL,`username`和`password`则是连接Oracle数据库的用户名和密码。

2.执行SQL语句

MyBatis使用Mapper接口来定义SQL语句。例如,在Oracle中查询所有用户的名字:

“`java

SqlSession session = sqlSessionFactory.openSession();

UserMapper mapper = session.getMapper(UserMapper.class);

List names = mapper.getUserNames();

for (String name : names) {

System.out.println(name);

}

session.commit();

“`

这里,首先获取一个`SqlSession`对象,然后获取`UserMapper`接口的实例。使用`getUserNames`方法执行SQL查询语句。使用`for`循环遍历结果集,并打印每个用户的名字。最后提交事务。

3.查询数据

MyBatis提供了XML或注解来定义SQL语句。例如,在Oracle中查询所有用户的名字:

“`xml

SELECT name FROM users

“`

这里,使用XML定义查询语句。`select`元素中的`id`属性指定查询方法名,`resultType`属性指定返回结果的类型。使用`SELECT`语句查询所有用户的名字,并返回一个字符串列表。

五、

相关问题拓展阅读:

java怎么连接mysql数据库

首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具体如下:“我的电脑”-> “属性” ->“高级” ->“环境变量”,在系统变量那里编辑classpath,将D:\mysql-connector-java-5.0.5\mysql-connector-java-5.0.5-bin.jar加到最裤伏梁后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。

环境配置好了,很简单。现在,先配置MySQL,设胡运其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。

我是用SQLyog的前端软件来创建Database的。

先创建数据库:

CREATE DATABASE SCUTCS;

接着,创建表:

CREATE TABLE STUDENT

(

SNO CHAR(7) NOT NULL,

SNAME VARCHAR(8) NOT NULL,

SEX CHAR(2) NOT NULL,

BDATE DATE NOT NULL,

HEIGHT DEC(5,2) DEFAULT 000.00,

PRIMARY KEY(SNO)

);

然后插入数据,可以用SQL语句insert into values(value1, value2, …);

也可以用SQLyog来操作

好了,创建好了。

下面,我们来编写.java文件来演示一下如何访问MySQL数据库。

import java.sql.*;

public class JDBCTest {

public static void main(String args){

// 驱动程序名

String driver = “com.mysql.jdbc.Driver”;

// URL指向要访问的数据库名scutcs

String url = “jdbc:

// MySQL配置时的用户名

String user = “root”;

// MySQL配置时的密码

String password = “root”;

try {

// 加载驱动程序

Class.forName(driver);

// 连续数据库

Connection conn = DriverManager.getConnection(url, user, password);

if(!conn.isClosed())

System.out.println(“Succeeded connecting to the Database!”);

// statement用来执行SQL语句

Statement statement = conn.createStatement();

// 要执行的SQL语句

String sql = “select * from student”;

// 结果集

ResultSet rs = statement.executeQuery(sql);

System.out.println(“—“);

System.out.println(“执行结果如下所示:”);

System.out.println(“—“);

System.out.println(“厅芦 学号” + “\t” + ” 姓名”);

System.out.println(“—“);

String name = null;

while(rs.next()) {

// 选择sname这列数据

name = rs.getString(“sname”);

/* 何问起 hovertree.com */

// 首先使用ISO字符集将name解码为字节序列并将结果存储新的字节数组中。

// 然后使用GB2312字符集解码指定的字节数组

name = new String(name.getBytes(“ISO”),”GB2312″);

// 输出结果

System.out.println(rs.getString(“sno”) + “\t” + name);

}

rs.close();

conn.close();

} catch(ClassNotFoundException e) {

System.out.println(“Sorry,can`t find the Driver!”);

e.printStackTrace();

} catch(SQLException e) {

e.printStackTrace();

} catch(Exception e) {

e.printStackTrace();

}

}

}

java文件连接数据库连接的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java文件连接数据库连接,Java连接数据库的方法详解,java怎么连接mysql数据库的信息别忘了在本站进行查找喔。


数据运维技术 » Java连接数据库的方法详解 (java文件连接数据库连接)