用JAVA设计一个连接数据库的程序,打印输出数据表中的记录

用JAVA设计一个连接数据库的程序,打印输出数据表中的记录,第1张

package 数据库测试

import java.sql.*

/**

* @author qingsongwang

* @2008.11.16

*

* 说明:实现与数据库相连,取出数据库的内容显示

*/

public class JDBCTest

{

//主函数main()

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

{

String kongge=new String(" ")

//为后面的结果集输出好看点

Class.forName("com.mysql.jdbc.Driver")

//驱动

Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/greatwqs?user=root&password=greatwqs")

/*连接数据库,jdbc:mysql://localhost:3306/greatwqs 数据库为greatwqs数据库

* 端口为3306

*

* 用户名user=root

*

* 用户密码password=greatwqs

*/

Statement stmt=conn.createStatement()

//创建SQL语句,实现对数据库的 *** 作功能

ResultSet rs=stmt.executeQuery("select * from person")

//返回查询的结果

while(rs.next())

{

System.out.print(rs.getString("id")+kongge)

System.out.print(rs.getString("name")+kongge)

System.out.print(rs.getString("gender")+kongge)

System.out.print(rs.getString("major")+kongge)

System.out.print(rs.getString("phone")+kongge)

System.out.println()

}//输出结果集的内容

rs.close()

stmt.close()

conn.close()

//关闭语句,结果集,数据库的连接.

}

}

我运行的结果如下

看需求,如果只需要区分三种角色的话一个表就够了,加个识别字段

如果角色有特殊的用处,比如相应的角色可以后台设置角色能 *** 作的权限,比如看那些页面之类的,就两个表,用户表关联角色id,角色表里放相应的角色信息

如果不是所有人都有角色的话,需要第三个表,用户_角色关联表

一般情况下都是两个表

import java.sql.*

import java.awt.*

import javax.swing.*

import javax.swing.table.*

//import java.awt.event.*

public class DisplayDemo extends JFrame

//implements ActionListener

{

// private String dbURL="jdbc:microsoft:sqlserver://202.115.26.181:1433"// 数据库标识名

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[5][4]//表格数据

ok=new JButton("确定")

canel=new JButton("取消")

// ok.addActionListener(this)

// canel.addActionListener(this)

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

Connection con=DriverManager.getConnection("jdbc:odbc:example","sa","")

// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver") //加载驱动器

// Connection con=DriverManager.getConnection(dbURL,user,password)//获取连接

String sqlStr="select * from users"//查询语句

PreparedStatement ps=con.prepareStatement(sqlStr)//获取PreparedStatement对象

ResultSet rs=ps.executeQuery()//执行查询

String name,sex,email//查询结果

int age

int count=0

while (rs.next()){ //遍历查询结果

rowData[count][0]=rs.getString("name")//初始化数组内容

rowData[count][1]=Integer.toString(rs.getInt("age"))

rowData[count][2]=rs.getString("sex")

rowData[count][3]=rs.getString("email")

count++

}

con.close() //关闭连接

}

catch(Exception ex){

ex.printStackTrace() //输出出错信息

}

Container container=getContentPane() //获取窗口容器

//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 JScrollPane(table),BorderLayout.CENTER)//增加组件

setSize(300,200) //设置窗口尺寸

setVisible(true) //设置窗口可视

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)//关闭窗口时退出程序

}

public static void main(String[] args){

new DisplayDemo()

}

}

-----------------

这是其中一个例子 你照着上面做就可以了


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

原文地址: https://outofmemory.cn/sjk/6422586.html

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

发表评论

登录后才能评论

评论列表(0条)

保存