随着互联网的发展和数据的日益增多,数据库已成为现代信息化建设的基础设施之一,而Java是世界上更流行的编程语言之一。掌握Java中数据库编程操作的方法,将使我们从繁琐、重复的数据库操作中解放出来,专注于数据处理和业务逻辑的实现。
一、数据库与Java
Java EE平台中提供了多种访问关系型数据库的API接口,包括JDBC、ODBC、SQLJ等。其中,JDBC是Java程序员最熟悉、最广泛使用的数据库访问API。
JDBC(Java Database Connectivity)是Java程序与关系型数据库进行通信的标准API,它是一个基于Java语言的数据库访问技术,提供了一种与数据库沟通的统一方式,可以实现对各种数据库的访问。开发者通过JDBC访问数据库的过程,就好比是通过打通两个人之间的联系,JDBC就像是中间的传话人,起到了中间桥梁和缓冲的作用。
使用JDBC作为数据库访问方式,比起使用基于专有协议的ORM框架(如Hibernate、MyBatis等)可以更好地控制数据访问过程中的细节,提供了更具灵活性和效率的开发方案。
二、数据库编程前期准备
在Java程序中使用JDBC访问关系型数据库时,需要完成以下几个步骤:
1.获取数据库连接
在Java程序中,访问数据库的操作需要通过网络中的连接完成,因此首先需要建立与数据库的连接。JDBC规定,连接由驱动程序管理,具体实现过程中,需要查找相应的驱动程序并获得数据库连接对象,通过这个对象就可与数据库进行通信。
2.选择数据库
在建立了与数据库的连接后,程序需要选择要操作的数据库。一个数据库服务器通常会提供多个数据库,程序需要明确所要选择的数据库名称。
3.完成数据访问操作
连接到数据库并选择了要操作的数据库之后,可以进行数据的插入、修改、删除、查询等操作。通过JDBC,程序可以使用SQL语句直接访问数据库,还可以使用存储过程等高级技术完成复杂的数据操作。
三、JDBC API详解
1.获取数据库连接
使用JDBC API获取数据库连接,需要下面几个参数:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JdbcDemo {
// 数据库连接URL,不同数据库有不同的格式
private static final String URL = “jdbc:mysql://localhost:3306/test”;
// 数据库用户名
private static final String USER = “root”;
// 数据库密码
private static final String PASSWORD = “123456”;
public static void mn(String[] args) {
Connection conn = null;
try {
// 注册 JDBC 驱动
Class.forName(“com.mysql.jdbc.Driver”);
// 打开链接
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭连接
try {
if(conn!=null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
以上代码实现了获取数据库连接并关闭连接的操作。
2.选择数据库
连接到数据库之后,需要选择要操作的数据库。可以通过如下方式实现:
// 打开链接
conn = DriverManager.getConnection(URL, USER, PASSWORD);
// 选择数据库
String sql = “use test;”;
conn.prepareStatement(sql).execute();
这里的use test;是SQL语句,表示选择test数据库。
3.数据操作
通过获取数据库的Connection对象,就可以使用JDBC API中的Statement、PreparedStatement等接口进行数据的增、删、改、查等操作。这里先贴出常见的基本SQL操作:
// 查询语句
String querySql = “select * from user”;
ResultSet resultSet = conn.createStatement().executeQuery(querySql);
while(resultSet.next()) {
String id = resultSet.getString(1);
String name = resultSet.getString(2);
System.out.println(id + “\t” + name);
}
// 新增一条数据
String insertSql = “insert into user(id,name) values(‘3′,’test’)”;
int insertCount = conn.createStatement().executeUpdate(insertSql);
// 修改一条数据
String updateSql = “update user set name=’tester’ where id=3”;
int updateCount = conn.createStatement().executeUpdate(updateSql);
// 删除一条数据
String deleteSql = “delete from user where id=3”;
int deleteCount = conn.createStatement().executeUpdate(deleteSql);
通过上述代码,我们熟悉了JDBC API中的ResultSet、Statement等接口的基本用法。
四、封装数据库连接池
使用JDBC API连接数据库时,每次操作都需要打开数据库连接、向数据库发送请求数据、关闭连接等,当频繁地执行这些操作时,就会带来不小的性能问题。为了解决这个问题,可以使用数据库连接池技术。
数据库连接池是一种用于管理大量数据库连接的技术,它可以避免因频繁打开和关闭数据库连接而导致的性能问题,并提高数据库操作的可靠性。Java EE平台中提供了标准的数据库连接池API-DataSource,接口较为复杂,可以通过第三方库如Druid等进行封装,简化API。
Druid是阿里巴巴开源的数据库连接池技术,与官方提供的DataSource接口相比,使用Druid可以方便地实现各种连接池设置等高级功能。以下是使用Druid实现连接池功能的示例代码:
// 数据源
private static DruidDataSource druidDataSource;
// 初始化数据源
static {
druidDataSource = new DruidDataSource();
druidDataSource.setUrl(URL);
druidDataSource.setUsername(USER);
druidDataSource.setPassword(PASSWORD);
druidDataSource.setInitialSize(5);
druidDataSource.setMinIdle(5);
druidDataSource.setMaxActive(20);
}
// 获取连接
public static Connection getConnection() throws SQLException {
return druidDataSource.getConnection();
}
// 关闭连接
public static void release(Connection connection) throws SQLException {
if(connection != null) {
connection.close();
}
}
本文主要介绍了Java中使用JDBC API进行数据库操作的基本步骤和方法,同时介绍了数据库连接池技术的使用。通过学习,我们了解到了Java中使用JDBC API进行数据操作的便捷性和高效性,同时也认识到了连接池技术的使用价值。在实际开发工作中,应选择恰当的API,通过优化连接和数据操作的代码,提高系统稳定性和可靠性。
相关问题拓展阅读:
Mysql默认关闭远程登录权限,需要给远程用户添加权限才能连接。
通过select*from mysql.user\G 查看用户及权限。
一.允许root用户在任何地方进行远程登录,并具有所有库慧陵闷任何操作权限,具体操作如下:
1、在本机先使用root用户登录mysql:
mysql -u root -p”password”
2、进行授权操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
3、重载授权表:flush privileges;
二汪梁.允许root用户在一个特定的IP进前弯行远程登录,并具有所有库任何操作权限,具体操作如下:
1、在本机先使用root用户登录mysql:
mysql -u root -p”password”
2、进行授权操作:
GRANT ALL PRIVILEGES ON *.* TO root@”172.16.16.152″ IDENTIFIED BY “password” WITH GRANT OPTION;
3、重载授权表:flush privileges;
“jdbc:
直接指定野拍行呢?
服务器禁止连接
import java.sql.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
//import java.awt.event.*;
public class DisplayDemo extends JFrame
//implements
{
// private String dbURL=”jdbc:microsoft: // 数据库标拦衡识名
private String user=”devon”; // 数简做做据库用户
private String password=”book”;// 数据库用户密码
private JTable table;
private JButton ok,canel;
public DisplayDemo(){
super(“显示数据库查询结果”); //调用父类构造函数
String columnNames={“用户名”,”年龄”,”性别”,”Email”}; //列名
Object rowData=new Object; //表格数据
ok=new JButton(“确定”);
canel=new JButton(“取消”);
// ok.(this);
// canel.(this);
try {
Class.forName(“sun.jdbc.odbc.”);
Connection con=.(“jdbc:odbc:example”,”sa”,””);
// Class.forName(“com.microsoft.jdbc.sqlserver.”);//加载驱动器
// Connection con=.(dbURL,user,password); //获取连接
String sqlStr=”select * from users”; //查询语句
ps=con.(sqlStr); //获取对象
ResultSet rs=ps.(); //执行查询
String name,sex,email; //查询结果
int age;
int count=0;
while (rs.next()){ //遍历查询结果
rowData=rs.getString(“name”); //初始化数组内容
rowData=Integer.toString(rs.getInt(“age”));
rowData=rs.getString(“sex”);
rowData=rs.getString(“email”);
count;
}
con.close();//关闭连接
}
catch(Exception ex){
ex.();//输出出错信息
}
Container container=();//获取窗口容器
//container.setLayout(null);
container.add(ok);container.add(canel); ok.setBounds(10,120,70,20);
canel.setBounds(100,120,70,20);
table=new JTable(rowData,columnNames); //实例化表格
table.getColumn(“年龄”).setMaxWidth(25);//设置行宽
container.add(new crollPane(table),.CENTER); //增加组件
setSize(300,200);//设置窗口尺寸
setVisible(true);//设置窗胡乎口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
public static void main(String args){
new DisplayDemo();
}
}
—
关于java数据库编操作实例的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都创新互联建站主营:成都网站建设、网站维护、网站改版的网站建设公司,提供成都网站制作、成都网站建设、成都网站推广、成都网站优化seo、响应式移动网站开发制作等网站服务。
分享名称:Java实例:学习数据库编程操作(java数据库编操作实例)
URL分享:http://www.shufengxianlan.com/qtweb/news39/430389.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联