社区
Java SE
帖子详情
请教,如何得到一个表得主键是哪几列?使用jdbc,可以得到吗?我查了没查到.
superzrb
2005-03-03 06:22:29
如题,万分感谢!
...全文
165
3
打赏
收藏
请教,如何得到一个表得主键是哪几列?使用jdbc,可以得到吗?我查了没查到.
如题,万分感谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fog628
2005-07-08
打赏
举报
回复
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.sql.DriverManager;
import java.util.List;
import java.util.ArrayList;
class AutoScrollTest{
public static Connection getConnection(String driver,
String url,
String user,
String pwd) throws Exception{
Class.forName(driver);
Connection cnn = DriverManager.getConnection(url, user, pwd);
return cnn;
}
public static List getPrimaryKeysByTableName(Connection cnn, String tableName)
throws Exception{
List list = new ArrayList();
DatabaseMetaData dbMetaData = cnn.getMetaData();
ResultSet rs = dbMetaData.getPrimaryKeys(null, null, tableName);
/* getPrimaryKeys()返回了一个ResultSet,ResultSet里面有:
*
* TABLE_CAT String => table catalog (may be null)
* TABLE_SCHEM String => table schema (may be null)
* TABLE_NAME String => table name
* COLUMN_NAME String => column name
* KEY_SEQ short => sequence number within primary key
* PK_NAME String => primary key name (may be null)
*
**/
while(rs.next()){
//只从ResultSet里面取了COLUMN_NAME
//就是主键的列名
list.add((rs.getString("COLUMN_NAME")));
System.out.println( rs.getString("TABLE_CAT") + "\t" +
rs.getString("TABLE_SCHEM") + "\t" +
rs.getString("TABLE_NAME") + "\t" +
rs.getString("COLUMN_NAME") + "\t" +
rs.getShort("KEY_SEQ") + "\t" +
rs.getString("PK_NAME"));
}
return list;
}
public static void main(String[] args){
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user = "sa";
String pwd = "";
try{
Connection c = getConnection(driver, url, user, pwd);
List primaryKeys = getPrimaryKeysByTableName(c, "authors");
System.out.println();
System.out.print("primary keys are: ");
System.out.println(primaryKeys);
}catch(Exception e){
e.printStackTrace();
}
}
}
haha-mark
2005-07-08
打赏
举报
回复
这个应该充数据库中得到,各个数据库得到的方法不同,一般都提供存储过程
shoulders
2005-07-08
打赏
举报
回复
谢谢楼上的,学到知识了。
java获取表主外键_通过
jdbc
分析数据库中的表结构和
主键
外键
文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/在某项目中用到了 hibernate ,大家都知道 hibernate 是 ORM 框架,他是有能力根据实体生成数据库表的。我们在单元测试的时候用到了 dbUnit ,dbUnit 可以帮助我们在测试前把数据库的测试数据准备好,然后我们就利用现成的数据库环境测...
JDBC
的基本
使用
JDBC
:Java Database Connectivity,java数据库连接,其实就是用java语言来操作数据库。
JDBC
的本质:其实就是官方(sun公司)定义的一套用来操作所有关系型数据库的规则,即接口。然后各个厂商去实现这套接口,提供数据库驱动jar包。我们可以
使用
这套接口(
JDBC
)来编程,而真正执行的是驱动jar包中的实现类,即多态的方式。
JDBC
的
使用
步骤 导入驱动j...
MySQL
JDBC
使用
Java Database Connectivity,简称
JDBC
JDBC
:sun公司定义的一套操作数据库的规范,就是接口。
JDBC
的
使用
获取每一列resultSet.getString(),括号中的参数可以是数字,从1开始,表示第
几列
,也可以是字符串,列名的字符串。ResultSet,可以把ResultSet看成我们java里的set,迭代的时候用next()方法。2.增删改executeUpdate(增删改SQL),返回
一个
数据,表示数据库中受影响的行数。1.查询executeQuery(SQL),会有返回值ResultSet,保存了查询的结果。获取数据库连接对象 Connection,故名思意,连接肯定需要连接的地址,用户名和密码。
在IJ中
使用
jdbc
连接Mysql
一:
JDBC
连接 在IJ中
使用
maven构建
一个
项目,在pom.xml中加入依赖: <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</versi
Java SE
62,622
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章