本人使用的是 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数据库之后能够显示数据库上的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)