java查询数据库的数据并显示出来

java查询数据库的数据并显示出来,第1张

本人使用的是 Jena-257 MySQL 50 mysql-connector-java-3110 jdk160_07

源代码:

import javaio;

import javasqlSQLException;

import comhphpljenadb;

import comhphpljenardfmodel;

public class MysqlTest{

public static final String strDriver = "commysqljdbcDriver"; // path of driver class

public static final String strURL = "jdbc:mysql://localhost/ontodb"; // URL of database

public static final String strUser = "root"; // database user id

public static final String strPassWord = "4408"; // database password

public static final String strDB = "MySQL"; // database type

public static void main(String[] args){

try{

// 创建一个数据库连接

IDBConnection conn = new DBConnection ( strURL, strUser, strPassWord, strDB );

// 加载数据库驱动类,需要处理异常

try

{

ClassforName(strDriver);

}catch(ClassNotFoundException e){

Systemoutprintln("ClassNotFoundException, Driver is not available");

}

// 使用数据库连接参数创建一个模型制造器

ModelMaker maker = ModelFactorycreateModelRDBMaker(conn);

// 创建一个默认模型,命名为 MyOntology

Model defModel = makercreateDefaultModel();

// 准备需要存入数据库的本体文件,建立输入文件流

FileInputStream inputSreamfile = null;

try

{

File file = new File("D:/Personowl");

inputSreamfile = new FileInputStream(file);

} catch (FileNotFoundException e) {

eprintStackTrace();

Systemoutprintln("Ontology File is not available");

}

InputStreamReader in = null;

try

{

in = new InputStreamReader(inputSreamfile, "UTF-8");

} catch (UnsupportedEncodingException e) {

Systemoutprintln("Exceptions occur33");

eprintStackTrace();

}

// 读取文件

defModelread(in,null);

// 关闭输入流读取器

try

{

inclose();

} catch (IOException e) {

Systemoutprintln("Exceptions occurclose1");

eprintStackTrace();

}

// 执行数据转换,将本体数据存入数据库

defModelcommit();

// 关闭数据库连接

try

{

connclose();

} catch (SQLException e) {

Systemoutprintln("Exceptions occur22");

eprintStackTrace();

}

}catch(RDFRDBException e){

Systemoutprintln("Exceptions occur");

}

}

}

输出结果

Tue Dec 30 17:07:06 CST 2008 TRACE:

Tue Dec 30 17:07:06 CST 2008 TRACE:

Tue Dec 30 17:07:06 CST 2008 TRACE:

Tue Dec 30 17:07:06 CST 2008 TRACE:

Exceptions occur

帮忙解决一下。。。

- -,,java怎么可能跟。Net似的,拖一拖控件,设置一下属性,绑定一下就出来了数据。

要不然。Net叫做快速开发呢。就是因为有了控件。

java没办法。只能通过jdbc连接数据库,读取数据库中数据使用DataReader,读取出的数据用List接收。

想用表格显示的话,使用jstl标签或者struts标签,用小脚本也可以,将<table>循环遍历显示。

用jdbc 连接mysql数据库就行了,网上搜下一大把。

--记得在classpath下加入mysql 的jdbc驱动包。

/

@author :来自互联网

/

import javasqlDriverManager;

import javasqlResultSet;

import javasqlSQLException;

import javasqlConnection;

import javasqlStatement;

public class MysqlDemo {

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

Connection conn = null;

String sql;

// MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称参数=值

// 避免中文乱码要指定useUnicode和characterEncoding

// 执行数据库 *** 作之前要在数据库管理系统上创建一个数据库,名字自己定,

// 下面语句之前就要先创建javademo数据库

String url = "jdbc:mysql://localhost:3306/javademo"

+ "user=root&password=root&useUnicode=true&characterEncoding=UTF8";

try {

// 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,

// 可以通过ClassforName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以

ClassforName("commysqljdbcDriver");// 动态加载mysql驱动

// or:

// commysqljdbcDriver driver = new commysqljdbcDriver();

// or:

// new commysqljdbcDriver();

Systemoutprintln("成功加载MySQL驱动程序");

// 一个Connection代表一个数据库连接

conn = DriverManagergetConnection(url);

// Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等

Statement stmt = conncreateStatement();

sql = "create table student(NO char(20),name varchar(20),primary key(NO))";

int result = stmtexecuteUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功

if (result != -1) {

Systemoutprintln("创建数据表成功");

sql = "insert into student(NO,name) values('2012001','陶伟基')";

result = stmtexecuteUpdate(sql);

sql = "insert into student(NO,name) values('2012002','周小俊')";

result = stmtexecuteUpdate(sql);

sql = "select from student";

ResultSet rs = stmtexecuteQuery(sql);// executeQuery会返回结果的集合,否则返回空值

Systemoutprintln("学号\t姓名");

while (rsnext()) {

Systemout

println(rsgetString(1) + "\t" + rsgetString(2));// 入如果返回的是int类型可以用getInt()

}

}

} catch (SQLException e) {

Systemoutprintln("MySQL *** 作错误");

eprintStackTrace();

} catch (Exception e) {

eprintStackTrace();

} finally {

connclose();

}

}

}

你要显示数据库中的数据,首先要建立连接,连到数据库。至于在servlet还是struts类,还是jsp页面是设计问题。最笨的方法就是在jsp里面嵌入java代码,连接数据库,写查询语句,将返回结果保存在容器中,如vector,然后显示。

使用lablesetText("str");将查询出抄来的数据百放进JLlabe。

1,给查询按钮一个监听事件,点击触发。

2,连接数据库进行查询 *** 作,返回rs结果集。

3,获取度rs结果集中的数据,例如获取表中字段为知name的数据:String name = rsgetString("name")。

4,将数道据插入到JLable。name_lablesetText(name);

5,刷新界面显示数据。framesetVisible(true);

JTable的有一个方法是getTableModel()返回提供此 JTable 所显示数据的 TableModel

TableModel是一个接口,实际上返回的是DefaultTableModel类,它实现了TableModel接口。这个类中有一个方法是void addRow(Object[] rowData)。它就是将一行插入到JTable中。

不过JTable的setValueAt方法应该就可以实现。

楼主可以定义个一个线程类来完成。

比如你需要插入100行数据,可以在线程的run方法中写一个循环,在循环中写两行代码,一行是setValueAt,一行是刷新JTable,然后再让线程睡眠,这样一行一行的显示的效果就可以出来了!

或者楼主可以用进度条来打发等待的时间,就像打开netbeans的那个进度条一样,这个可以用JProgressBar类。楼主可以去查看一下源代码。如果楼主还是没有头绪,我干脆就写个例子得了!

关于组件的添加或者类似设置窗口的大小,布局管理器等我就不做解释了!

import javaxswing;

import javaawtevent;

import javaawt;

import javaxswingtable;

public class Test extends JFrame implements ActionListener

{

private JButton button1;

private JButton button2;

private JButton button3;

private DefaultTableModel model;

private JTable table;

private JProgressBar bar;

private JScrollPane scrollpane;

private JPanel panel;

public Test()

{

button1=new JButton("演示1");

button2=new JButton("演示2");

button3=new JButton("清空");

panel=new JPanel();

bar=new JProgressBar(0,100);

String[] colnames={"数据一","数据二"};

model=new DefaultTableModel(colnames,100);

table=new JTable(model);

scrollpane=new JScrollPane(table);

panelsetLayout(new FlowLayout());

button1addActionListener(this);

button2addActionListener(this);

button3addActionListener(this);

paneladd(button1);

paneladd(button2);

paneladd(button3);

paneladd(bar);

thissetLayout(new GridLayout(2,1));

thissetSize(500,600);

thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

thisadd(scrollpane);

thisadd(panel);

}

public void actionPerformed(ActionEvent e)

{

String command=egetActionCommand();

if(commandequals("演示1"))

{

ShowModel show=new ShowModel(true);

Thread thread=new Thread(show);

threadstart();

}

else if(commandequals("演示2"))

{

ShowModel show=new ShowModel(false);

Thread thread=new Thread(show);

threadstart();

}

else

{

String[] colnames={"数据一","数据二"};

model=new DefaultTableModel(colnames,100);

tablesetModel(model);

}

}

private class ShowModel implements Runnable

{

private boolean type;//当type为true时,则说明是“演示1”的线程,false则相反

public ShowModel(boolean type)

{

thistype=type;

}

public void run()

{

if(type)//这个就是让线程睡眠,并且设置JTable的值

{

try{

for(int i=0;i<100;i++)

{

TestthistablesetValueAt(StringvalueOf(i),i,0);

TestthistablesetValueAt(StringvalueOf(i),i,1);

Threadsleep(100);

}

}catch(Exception e)

{

eprintStackTrace();

}

}

else//这个就是进度条的演示

{

try{

TestthistablesetVisible(false);

for(int i=0;i<100;i++)

{

TestthistablesetValueAt(StringvalueOf(i),i,0);

TestthistablesetValueAt(StringvalueOf(i),i,1);

TestthisbarsetValue(i+1);

TestthisbarsetString(StringvalueOf(i+1)+"%");

Threadsleep(40);

if(i==99)

{

TestthistablesetVisible(true);

JOptionPaneshowMessageDialog(Testthis,"OK");

TestthisbarsetValue(0);

}

}

}catch(Exception e)

{

eprintStackTrace();

}

}

}

}

public static void main(String[] args)

{

Test test=new Test();

testsetVisible(true);

}

}

以上就是关于java查询数据库的数据并显示出来全部的内容,包括:java查询数据库的数据并显示出来、JAVA中显示数据库中的数据、大神帮忙写一个简单地java页面,连接MySQL数据库之后能够显示数据库上的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9748142.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存