查询数据时,我们所使用的是Session的find()方法,并在当中指定HQL设定查询条件,查询的结果会装载在List对象中传回,您所需要的是将它们一一取出,一个最简单的例子如下:
创新互联公司主要从事成都做网站、成都网站制作、成都外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务梁子湖,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
HibernateTest.java
import onlyfun.caterpillar.*;import net.sf.hibernate.*;import net.sf.hibernate.cfg.*;import java.util.*; public class HibernateTest { public static void main(String[] args) throws HibernateException { SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); Session session = sessionFactory.openSession(); List users = session.find("from User"); session.close(); sessionFactory.close(); for (ListIterator iterator = users.listIterator(); iterator.hasNext(); ) { User user = (User) iterator.next(); System.out.println(user.getName() + "\n\tAge: " + user.getAge() + "\n\tSex: " + user.getSex()); } }}
find()中的“from User”即HQL,User指的是User类别,藉由映射文件,它将会查询USER表格中的数据,相当于SQL中的SELECT * FROM USER,实际上我们的User类别是位于onlyfun.caterpillar下,Hibernate会自动看看import中的package名称与类别名称是否符合,您也可以直接指定package名称,例如:
session.find("from onlyfun.caterpillar.User");
看明白没?
--读取库中的所有表名
select name from sysobjects where xtype='u'
--读取指定表的所有列名
select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')
获取数据库表名和字段
sqlserver中各个系统表的作用
sysaltfiles 主数据库 保存数据库的文件
syscharsets 主数据库 字符集与排序顺序
sysconfigures 主数据库 配置选项
syscurconfigs 主数据库 当前配置选项
sysdatabases 主数据库 服务器中的数据库
syslanguages 主数据库 语言
syslogins 主数据库 登陆帐号信息
sysoledbusers 主数据库 链接服务器登陆信息
sysprocesses 主数据库 进程
sysremotelogins主数据库 远程登录帐号
syscolumns 每个数据库 列
sysconstrains 每个数据库 限制
sysfilegroups 每个数据库 文件组
sysfiles 每个数据库 文件
sysforeignkeys 每个数据库 外部关键字
sysindexs 每个数据库 索引
sysmenbers 每个数据库 角色成员
sysobjects 每个数据库 所有数据库对象
syspermissions 每个数据库 权限
systypes 每个数据库 用户定义数据类型
select 列名=name from syscolumns where id=object_id(N'要查的表名')
查询一个数据库中的所有表sql语句是show tables;
显示所有数据库的命令是:show databases;要查看某个数据库先要进入数据库使用user 数据库名命令;进入数据库之后才能查询数据库中有哪些表。使用以下命令即可查出所有表:
show tables;
扩展资料
mysql数据库的基本sql操作命令介绍:
1、显示当前数据库服务器中的数据库列表:mysql SHOW DATABASES;
2、建立数据库:mysql CREATE DATABASE 库名;
3、建立数据表:mysql USE 库名;mysql CREATE TABLE 表名 (字段名 VARCHAR(20), 字
名 CHAR(1));
4、删除数据库:mysql DROP DATABASE 库名;
5、删除数据表:mysql DROP TABLE 表名;
6、将表中记录清空:mysql DELETE FROM 表名;
7、往表中插入记录:mysql INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中数据:mysql- UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
9、用文本方式将数据装入数据表中:mysql load data local infile "d:/mysql.txt" into table 表名;
10、导入.sql文件命令:mysql USE 数据库名;mysql source d:/mysql.sql;
--查询数据库里所有表名和字段名的语句
--SQL
查询所有表名:
SELECT
NAME
FROM
SYSOBJECTS
WHERE
TYPE='U'
SELECT
*
FROM
INFORMATION_SCHEMA.TABLES
--查询表的所有字段名:
SELECT
NAME
FROM
SYSCOLUMNS
WHERE
ID=OBJECT_ID('
表名'
)
SELECT
*
FROM
INFORMATION_SCHEMA.TABLES
SELECT
*
FROM
INFORMATION_SCHEMA.VIEWS
SELECT
*
FROM
INFORMATION_SCHEMA.COLUMNS
---------以下为其他数据库查询表----------
--ORACLE
查看所有表名:
SELECT
TABLE_NAME
FROM
USER_TABLES
--ACCESS
查看所有表名:
SELECT
NAME
FROM
MSYSOBJECTS
WHERE
TYPE=1
AND
FLAGS=0
--MSYSOBJECTS
是系统对象,默认情况是隐藏的。通过工具、选项、视图、显示、系统对象可以使之显示出来。
1、查询SQL中的所有表:SelectTABLE_NAMEFROM数据库名称.INFORMATION_SCHEMA.TABLESWhereTABLE_TYPE='BASETABLE'执行之后,就可以看到数据库中所有属于自己建的表的名称2、查询SQL中所有表及列:Selectdbo.sysobjects.nameasTable_name,dbo.syscolumns.nameASColumn_nameFROMdbo.syscolumnsINNERJOINdbo.sysobjectsONdbo.syscolumns.id=dbo.sysobjects.idWhere(dbo.sysobjects.xtype='u')AND(NOT(dbo.sysobjects.nameLIKE'dtproperties'))3、在Sql查询分析器,还有一个简单的查询方法:EXECsp_MSforeachtable@command1="sp_spaceused'?'"执行完之后,就可以看到数据库中所有用户表的信息4、查询总存储过程数:selectcount(*)总存储过程数fromsysobjectswherextype='p'附:xtype类型D=默认值或DEFAULT约束F=FOREIGNKEY约束L=日志FN=标量函数IF=内嵌表函数P=存储过程PK=PRIMARYKEY约束(类型是K)RF=复制筛选存储过程S=系统表TF=表函数TR=触发器U=用户表UQ=UNIQUE约束(类型是K)V=视图X=扩展存储过程另:在sqlserver中取得某个数据库中所有表名的sql语句selectsysobjects.namefromsysobjects.xtype='U';SELECTnameWHERE(xtype='U')在数据库的sysobjects表里有这个数据库全部表的信息,xtype值为'U'的就是表名注意:一般通过上述方法获得全部用户表示都会有一个dtproperties表,SQLSERVER默认它也是用户表,想要从用户表中排出,需要加上限定条件status0,即:select*fromsysobjectswherextype='U'andstatus0
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款