元数据(MetaData),又称中介数据,中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息。元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据。
以结果集ResultSet为例。
* 1,加载驱动
* 2,建立连接
* 3,创建Statement
* 4,执行sql
* 5,处理ResultSet
* 6,释放资源
public
static
void
main(String[] args)
throw
Exception{
String driver
="com.mysql.cj.jdbc.Driver"
;
String url
="jdbc:mysql://localhost:3306/testdb?characterEncoding=utf8&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=false&useUnicode=true"
;
String username
="sa"
;
String password
="admin"
;
//
加载驱动
Class.forName(driver);
//
建立连接
Connection connection=
DriverManager.getConnection(url,username,password);
//
创建Statement
Statement statement=
connection.createStatement();
String sql
="select * from userinfo"
;
//
执行sql
ResultSet resultSet=
statement.executeQuery(sql);
//
处理ResultSet
while
(resultSet.next()){
//
处理resultSet
//
释放资源
if
(resultSet!=
null
){
resultSet.close();
if
(statement!=
null
){
statement.close();
if
(connection!=
null
){
connection.close();
从xml文件中读取数据库的配置信息,然后处理
* 1,加载驱动
* 2,建立连接
* 3,创建Statement
* 4,执行sql
* 5,处理ResultSet
* 6,释放资源
public
class
MetaDataDemo {
public
static
void
main(String[] args)
throws
Exception {
InputStream inputStream
= Resources.getResourceAsStream("SqlMapConfig.xml"
);
Configuration configuration
=
XmlConfigBuilder.loadXmlConfig(inputStream);
Class.forName(configuration.getDriver());
Connection connection
=
DriverManager.getConnection(configuration.getUrl(), configuration.getUsername(), configuration.getPassword());
Statement statement
=
connection.createStatement();
String sql
="select * from userinfo"
;
ResultSet resultSet
=
statement.executeQuery(sql);
User user;
while
(resultSet.next()){
user
=
new
User();
user.setUserId(resultSet.getInt(
"userid"
));
user.setUserName(resultSet.getString(
"username"
));
user.setUserSex(resultSet.getString(
"usersex"
));
user.setUserAge(resultSet.getInt(
"userage"
));
user.setUserAddress(resultSet.getString(
"useraddress"
));
System.out.println(user);
if
(resultSet!=
null
){
resultSet.close();
if
(statement!=
null
){
statement.close();
if
(connection!=
null
){
connection.close();
ResultSet元数据,通过getMeta方法得到一个封装所有结果集的对象ResultSetMetaData。通过metaData.getColumnCount()获取总列数,metaData.getColumnName(i)获取列的名称。其中i是从1开始的。
ResultSetMetaData metaData = resultSet.getMetaData();
for(int i=1;i<=metaData.getColumnCount();i++){
System.out.println(metaData.getColumnName(i));