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()
}
}
-----------------
这是其中一个例子 你照着上面做就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)