java数据库操作界面(java怎么输出数据库数据到界面?)

本文目录一览:

用Java做一个简单的界面,连接到数据库(SQL Server),大家有没有具体的例子,跪求解答

你可以做一个下拉框,选项有教师和学生,不过这个的话,一般是通过权限来控制的,这样教师和学生登录之后,看到的菜单就不一样了。

JDBC连接数据库

•创建一个以JDBC连接数据库的程序,包含7个步骤:

1、加载JDBC驱动程序:

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),

这通过java.lang.Class类的静态方法forName(String className)实现。

例如:

try{

//加载MySql的驱动类

Class.forName(“com.mysql.jdbc.Driver”) ;

}catch(ClassNotFoundException e){

System.out.println(“找不到驱动程序类 ,加载驱动失败!”);

e.printStackTrace() ;

}

成功加载后,会将Driver类的实例注册到DriverManager类中。

2、提供JDBC连接的URL

•连接URL定义了连接数据库时的协议、子协议、数据源标识。

•书写形式:协议:子协议:数据源标识

协议:在JDBC中总是以jdbc开始

子协议:是桥连接的驱动程序或是数据库管理系统名称。

数据源标识:标记找到数据库来源的地址与连接端口。

例如:(MySql的连接URL)

jdbc:mysql:

//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为

gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。

3、创建数据库的连接

•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,

该对象就代表一个数据库的连接。

•使用DriverManager的getConnectin(String url , String username ,

String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和

密码来获得。

例如:

//连接MySql数据库,用户名和密码都是root

String url = “jdbc:mysql://localhost:3306/test” ;

String username = “root” ;

String password = “root” ;

try{

Connection con =

DriverManager.getConnection(url , username , password ) ;

}catch(SQLException se){

System.out.println(“数据库连接失败!”);

se.printStackTrace() ;

}

4、创建一个Statement

•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3

种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过PreparedStatement实例实现。

3、执行数据库存储过程。通常通过CallableStatement实例实现。

具体的实现方式:

Statement stmt = con.createStatement() ;

PreparedStatement pstmt = con.prepareStatement(sql) ;

CallableStatement cstmt =

con.prepareCall(“{CALL demoSp(? , ?)}”) ;

5、执行SQL语句

Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate

和execute

1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句

,返回一个结果集(ResultSet)对象。

2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或

DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等

3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的

语句。

具体实现的代码:

ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ; 法长瘁短诓的搭痊但花

int rows = stmt.executeUpdate(“INSERT INTO …”) ;

boolean flag = stmt.execute(String sql) ;

6、处理结果

两种情况:

1、执行更新返回的是本次操作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些

行中数据的访问。

• 使用结果集(ResultSet)对象的访问方法获取数据:

while(rs.next()){

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

String pass = rs.getString(1) ; // 此方法比较高效

}

(列是从左到右编号的,并且从列1开始)

7、关闭JDBC对象

操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声

明顺序相反:

1、关闭记录集

2、关闭声明

3、关闭连接对象

if(rs != null){ // 关闭记录集

try{

rs.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(stmt != null){ // 关闭声明

try{

stmt.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(conn != null){ // 关闭连接对象

try{

conn.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

java中如何实现登录界面与数据库正确连接?

使用JDBC进行数据库的增删改查操作1.下载Microsoft SQL Server 2005 JDBC 驱动包jar文件 将jar文件引入工程中2.封装数据库链接的获取和关闭操作import java.sql.*;public class BaseDao {

/**

* 数据库驱动类的字符串,完整的包名加类名 在工程中查看添加的jar文件 能看到这个类

*/

private static final String DRIVE = “com.microsoft.sqlserver.jdbc.SQLServerDriver”; /**

* 数据库连接地址

*

* DataBaseName=数据库名称 其它固定

*/

private static final String URL = “jdbc:sqlserver://localhost:1433;DataBaseName=bbs”; /**

* 连接数据库的用户名

*/

private static final String USER = “sa”; /**

* 用户密码

*/

private static final String PASSWORD = “”; /**

* 获取连接 异常直接抛出 或者捕获后自定义异常信息再抛出

*/

public static Connection getConnection() throws Exception {

Class.forName(DRIVE);

return DriverManager.getConnection(URL, USER, PASSWORD);

} /**

* 关闭与数据库的连接 释放资源

*/

public static void closeAll(ResultSet resultSet, PreparedStatement pst,

Connection connection) throws Exception {

if (resultSet != null)

resultSet.close();

if (pst != null)

pst.close();

if (connection != null)

connection.close();

}}3.创建图书的实体类public class Book {

/**

* 数据库主键

*/

private Long id; /**

* 作者

*/

private String author; /**

* 书名

*/

private String name;

/**

* 默认构造

*

*/

public Book() {

}

/**

* 全字段构造

* @param id

* @param author

* @param name

*/

public Book(Long id, String author, String name) {

this.id = id;

this.author = author;

this.name = name;

}

/**

* 以下为读写属性的方法

* @return

*/

public String getAuthor() {

return author;

}

public void setAuthor(String author) {

this.author = author;

}

public Long getId() {

return id;

}

public void setId(Long id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

4.创建与图书表交互的工具类import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.ArrayList;

import java.util.List;public class BookDao {

/**

* 添加新书

*

* @param book 要添加入数据库的图书 作者 书名 必须给定

*/

public void addBook(Book book) throws Exception {

// 连接

Connection connection = null;

// 执行语句

PreparedStatement pst = null;

try {

connection = BaseDao.getConnection();

// 构造执行语句

String sql = “insert into book values(” + book.getAuthor() + “,”

+ book.getName() + “)”;

pst = connection.prepareStatement(sql);

pst.executeUpdate(); } catch (Exception e) {

// 抛出异常

throw e;

} finally {

// 无论是否异常 均关闭数据库

BaseDao.closeAll(null, pst, connection);

}

} /**

* 查询所有书籍列表

*/

public ListBook getBooks() throws Exception {

// 用于存放查寻结果的集合

ListBook books = new ArrayListBook();

// 连接

Connection connection = null;

// 执行语句

PreparedStatement pst = null;

// 查询结果

ResultSet resultSet = null;

try {

connection = BaseDao.getConnection();

// 构造查询语句

String sql = “select * from book”;

pst = connection.prepareStatement(sql);

resultSet = pst.executeQuery(); // 循环读取查询结果行

while (resultSet.next()) {

// getXXX的参数为数据表列名

Book book = new Book(resultSet.getLong(“id”), resultSet

.getString(“author”), resultSet.getString(“name”));

// 将封装好的图书对象存入集合

books.add(book);

}

} catch (Exception e) {

// 抛出异常

throw e;

} finally {

// 无论是否异常 均关闭数据库

BaseDao.closeAll(resultSet, pst, connection);

}

// 返回查询结果

return books;

}/***其它方法类似上面 只是语句不同*/

}当然 以上只是简单的封装 初学者可以在理解以上代码的基础上 进行更高级的封装

5.使用BookDao添加书籍和获取所有书籍列表import java.util.List;/**

* 测试类

* @author Administrator

*

*/

public class Test { /**

* @param args

* @throws Exception

*/

public static void main(String[] args) throws Exception {

//创建工具类对象

BookDao dao = new BookDao();

//创建一本图书

Book book = new Book(null,”QQ:495691293″,”编程菜鸟”);

//添加书籍到数据库

dao.addBook(book);

//获取所有图书列表

ListBook books = dao.getBooks();

//输出结果

for (Book b : books) {

System.out.println(b.getId()+”\t”+b.getAuthor()+”\t”+b.getName());

}

}}

JAVA在界面上如何实现数据库 表的删除\添加数据

建议你找一本java方面书,注意里面有介绍jdbc的(Java DateBase Connect即Java数据库链接)。

下面我写一些链接代码,尽量写详细点,初次接触没有书本理论作铺垫的话肯定不太容易理解。下面以sqlserver数据库为例进行说明,使用不同的数据库只是在方法的参数上有微小的不同。

每一步:注册数据库驱动

Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);//从类路径中加载驱动,参数为SQLServer的驱动类完整包名

第二步:获取数据库连接

Connection conn=DriverManager.getConnection(“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=数据库名”,”用户名”,”密码”)//代码中的中文直接替换为你的数据库的相关值

第三步:获取 Statement对像用于执行SQL语句

Statement sta=conn.createStatement();

第四步:使用Statement对像执行SQL语句

ResultSet rs=sta.executeUpdate(“SQL 表数据删除/添加语句”);//若对表进行插入删除操作则使用此语句,至此便结束。否则使用下述语句

ResultSet rs=sta.executeQuery(“SQL查询语句”);//表查询操作

第五步:遍历结果集,对结表查询结果中的数据集进行操作

while(rs.next()){

System.out.println(rs.getObject(1));//输出表中的第一列数据

System.out.println(rs.getObject(2));输出表中的每二列数据

……..}

第六步:关闭数据库连接

rs.close();

sta.close;

conn.close()//关闭步骤必须先关闭结果集对象再关闭Statement对像,最后关闭Connection对像

以上便是对数据库中表进行操作的JAVA语句,无论对java web程序还是对java应用程序都有效!当然这里面还需要包括一些容错处理捕获异常,同时导入数据库的驱动包。

我这儿还有些相关教学视频,方便我话可以转给你,你也可以去电驴上下。

java中做一个连接数据库的学生教师登陆的界面,学生教师的 用户名、密码都是通过数据库来访问,

你可以做一个下拉框,选项有教师和学生,不过这个的话,一般是通过权限来控制的,这样教师和学生登录之后,看到的菜单就不一样了。

JDBC连接数据库

•创建一个以JDBC连接数据库的程序,包含7个步骤:

1、加载JDBC驱动程序:

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),

这通过java.lang.Class类的静态方法forName(String className)实现。

例如:

try{

//加载MySql的驱动类

Class.forName(“com.mysql.jdbc.Driver”) ;

}catch(ClassNotFoundException e){

System.out.println(“找不到驱动程序类 ,加载驱动失败!”);

e.printStackTrace() ;

}

成功加载后,会将Driver类的实例注册到DriverManager类中。

2、提供JDBC连接的URL

•连接URL定义了连接数据库时的协议、子协议、数据源标识。

•书写形式:协议:子协议:数据源标识

协议:在JDBC中总是以jdbc开始

子协议:是桥连接的驱动程序或是数据库管理系统名称。

数据源标识:标记找到数据库来源的地址与连接端口。

例如:(MySql的连接URL)

jdbc:mysql:

//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为

gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。

3、创建数据库的连接

•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,

该对象就代表一个数据库的连接。

•使用DriverManager的getConnectin(String url , String username ,

String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和

密码来获得。

例如:

//连接MySql数据库,用户名和密码都是root

String url = “jdbc:mysql://localhost:3306/test” ;

String username = “root” ;

String password = “root” ;

try{

Connection con =

DriverManager.getConnection(url , username , password ) ;

}catch(SQLException se){

System.out.println(“数据库连接失败!”);

se.printStackTrace() ;

}

4、创建一个Statement

•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3

种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过PreparedStatement实例实现。

3、执行数据库存储过程。通常通过CallableStatement实例实现。

具体的实现方式:

Statement stmt = con.createStatement() ;

PreparedStatement pstmt = con.prepareStatement(sql) ;

CallableStatement cstmt =

con.prepareCall(“{CALL demoSp(? , ?)}”) ;

5、执行SQL语句

Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate

和execute

1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句

,返回一个结果集(ResultSet)对象。

2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或

DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等

3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的

语句。

具体实现的代码:

ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ;

int rows = stmt.executeUpdate(“INSERT INTO …”) ;

boolean flag = stmt.execute(String sql) ;

6、处理结果

两种情况:

1、执行更新返回的是本次操作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些

行中数据的访问。

• 使用结果集(ResultSet)对象的访问方法获取数据:

while(rs.next()){

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

String pass = rs.getString(1) ; // 此方法比较高效

}

(列是从左到右编号的,并且从列1开始)

7、关闭JDBC对象

操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声

明顺序相反:

1、关闭记录集

2、关闭声明

3、关闭连接对象

if(rs != null){ // 关闭记录集

try{

rs.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(stmt != null){ // 关闭声明

try{

stmt.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(conn != null){ // 关闭连接对象

try{

conn.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/158991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-19 18:57
下一篇 2024-11-19 18:57

相关推荐

  • Python读取CSV数据画散点图

    本文将从以下方面详细阐述Python读取CSV文件并画出散点图的方法: 一、CSV文件介绍 CSV(Comma-Separated Values)即逗号分隔值,是一种存储表格数据的…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • 如何用Python统计列表中各数据的方差和标准差

    本文将从多个方面阐述如何使用Python统计列表中各数据的方差和标准差, 并给出详细的代码示例。 一、什么是方差和标准差 方差是衡量数据变异程度的统计指标,它是每个数据值和该数据值…

    编程 2025-04-29
  • openeuler安装数据库方案

    本文将介绍在openeuler操作系统中安装数据库的方案,并提供代码示例。 一、安装MariaDB 下面介绍如何在openeuler中安装MariaDB。 1、更新软件源 sudo…

    编程 2025-04-29
  • Python多线程读取数据

    本文将详细介绍多线程读取数据在Python中的实现方法以及相关知识点。 一、线程和多线程 线程是操作系统调度的最小单位。单线程程序只有一个线程,按照程序从上到下的顺序逐行执行。而多…

    编程 2025-04-29
  • Python爬取公交数据

    本文将从以下几个方面详细阐述python爬取公交数据的方法: 一、准备工作 1、安装相关库 import requests from bs4 import BeautifulSou…

    编程 2025-04-29
  • Python两张表数据匹配

    本篇文章将详细阐述如何使用Python将两张表格中的数据匹配。以下是具体的解决方法。 一、数据匹配的概念 在生活和工作中,我们常常需要对多组数据进行比对和匹配。在数据量较小的情况下…

    编程 2025-04-29
  • Python数据标准差标准化

    本文将为大家详细讲述Python中的数据标准差标准化,以及涉及到的相关知识。 一、什么是数据标准差标准化 数据标准差标准化是数据处理中的一种方法,通过对数据进行标准差标准化可以将不…

    编程 2025-04-29
  • 如何使用Python读取CSV数据

    在数据分析、数据挖掘和机器学习等领域,CSV文件是一种非常常见的文件格式。Python作为一种广泛使用的编程语言,也提供了方便易用的CSV读取库。本文将介绍如何使用Python读取…

    编程 2025-04-29

发表回复

登录后才能评论