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.5mysql-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文件连接数据库连接)
转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:www.88531.cn资享网,谢谢!^^