0
点赞
收藏
分享

微信扫一扫

JAVA从数据库中拿到数据


我们都知道从数据库中拿到数据需要使用的是jdbc链接数据,然后将数据存储到ResultSet这样的集合中,然后利用Resultset的方法getObject获取里面的记录并且打印到页面上,当然我们可以将数据存在map中或者是list中,然后打印到页面上,那么这个具体的过程怎样的来实现。

jdbc,我们链接数据库需要导入一个包mysql-connector-java.jar,我们将这个包添加到项目中,然后创建路径biulder path,下面的代码就是让我们自己写了,其实我们可以做的是根据数据库里里面的数据,我们可以创建一个对象来存储这个一条记录,一般我们都是这样的,下面是我在数据库中创建的一个表,我们可以看到的是这个表是有三个字段

分别是id,username,password,然后我们就可以想在创建一个User类,然后面的属性我们可以使用数据表中的字段,

JAVA从数据库中拿到数据_数据库

上面是我们做的第一步,然后我们就需要链接数据库并且将数据拿出来

public static Connection getConnection() throws ClassNotFoundException, SQLException
{
Class.forName("com.mysql.jdbc.Driver");
        String string="jdbc:mysql://localhost:3306/jdbcdemo";
       Connection connection=DriverManager.getConnection(string,"root","123456");
       return connection;
}

解析上面的代码:上面的代码是获得和数据库的链接,那么什么是看链接:我们可以看文档中解释这样的

A connection (session) with a specific database. SQL statements are executed and results are returned within the context of a connection.

A ​​Connection​​​ object's database is able to provide information describing its tables, its supported SQL grammar, its stored procedures, the capabilities of this connection, and so on. This information is obtained with the ​​getMetaData​​ method. 

一个到指定的数据库的链接,sql语句就可以通过这个链接在数据库中执行,并且得到返回的结果。

在Connection中有这样的一个方法:Statement createStatement();



Creates a ​​Statement​​ object for sending SQL statements to the database.


这个函数是创建一个Statement对象,这个对象是可以发送sql语句到数据,其实在java中我们可以感觉参数的传递是一种无形的,我们的链接创建一个statement,然后得到statement的一个实例,这个实例中其实要包含中我们的数据库链接的一些信息,是因为在创建的时候Connection对象的本身就携带了很多的信息,当然也包括数据的链接的信息。我们可以看到下面就是我们从数据库中获取到数据并且存储到ResultSet 这样的一个中:


public static ResultSet getUserData() throws ClassNotFoundException, SQLException{


String sql="select * from user limit 10";
Statement statement=getConnection().createStatement();
ResultSet set=statement.executeQuery(sql);
return set;
}

现在ResultSet的set对象也就携带者我们从数据库中得到的信息,现在将起拿出来,我们可以存放到一个list表中我们将数据首先是放到user中,然后将user装进list

public ArrayList<User> getUserArray() throws ClassNotFoundException, SQLException
{
ArrayList<User> list=new ArrayList<User>();
ResultSet set=InsertData.getUserData();
while(set.next()){
   User user =new User();
user.setId((int)set.getObject(1));
user.setUsername((String)set.getObject(2));
   user.setPassword((String)set.getObject(3));
list.add(user);
}
return list;

}

我们可以通过list的get(int index)取到指定的对象,进而显示到页面上




举报

相关推荐

0 条评论