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

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

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

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

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)取到指定的对象,进而显示到页面上

JAVA从数据库中拿到数据相关推荐

  1. java数据库的优化_用Java向数据库中插入大量数据时的优化

    使用jdbc向数据库插入100000条记录,分别使用statement,PreparedStatement,及PreparedStatement+批处理3种方式进行测试: public void ex ...

  2. Java向数据库中插入数据出错时怎么避免插入错误数据

    Java向数据库中插入数据出错时怎么避免插入错误数据 对于初学者,向数据库写数据时,当程序输错,会有错误的数据写入了数据库,这是可以用捕获异常回滚的方法避免这种情况的发生 代码如下: /** 完成增删 ...

  3. Java删除数据库中的数据

    Java删除数据库中的数据 1:删除数据库中数据表中的数据同样也是一个非常用的技术,使用executeUpdate()方法执行用来做删除SQL的语句可以删除数据库表中的数据 2:本案例使用Statem ...

  4. java 将数据库中的每一条数据取出放入数组或者List中

    1.如何将数据库中数据按照行(即一整条数据)取出来,存入到数组当中? public static String str = null; // 将StringBuffer转化成字符串public sta ...

  5. 【MapReduce】使用MapReduce处理数据库中的豆瓣数据

    使用MapReduce处理数据库中的豆瓣数据 数据及需求 代码实现 自定义接收数据类 自定义接收输出数据类 Mapper阶段 Reduce阶段 Driver阶段 结果 数据及需求 需求 去掉rank列 ...

  6. 清空SQL Server数据库中所有表数据的方法(转)

    清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...

  7. oracle 数据 导出 excel 自动分多个文件,从oracle数据库中导出大量数据到excel中为什么自动分成了好几个excel文件《excel表格新手入门》...

    EXCEL中一个单元格中多行文本如何导入或复制到SQL SERVER 数据库表中? 保留换行符保存进数据表啊,读取出来显示的时候根据需要进行转换就行了,比如要在网页上显示,可以把换行符转换成HTML的 ...

  8. android 音乐 数据库,android从数据库中取音乐数据

    android从手机数据库中取音乐数据 直接贴代码 public void getMp3(){ list = new ArrayList<>(); Cursor mAudioCursor ...

  9. php checkbox 保存,PHP中在数据库中保存Checkbox数据

    PHP中在数据库中保存Checkbox数据 /* if we passed in an array of the checkboxes we want to be displayed as check ...

最新文章

  1. java指令集_javap 指令集
  2. 链接详解--多目标文件的链接
  3. Ubuntu下用webstorm开发Nodejs(二)
  4. flume的概述和运行机制
  5. [css] 举例说明伪类:focus-within的用法
  6. Error:express-session deprecated undefined resave option; provide resave option app.js:17:10
  7. 怎样设计访谈提纲_访谈提纲设计
  8. Shell 脚本语法
  9. nginx 的基本配置
  10. Java 将PDF转为OFD
  11. 信息系统安全复习提纲
  12. 学生党什么价位蓝牙耳机性价比高?2021这五款蓝牙耳机发烧友都爱了
  13. 求职面试-HR会问你什么问题?
  14. 【IoT】创业:什么是设计思维,如何使用?
  15. 专网网速测试软件,CMD怎么测试网速?测网速用命令PING
  16. Homekit智能开关
  17. How-To Geek正在寻找远程全职技术作家
  18. 设备巡检的执行的痛点及解决方案
  19. 07-小蜜蜂单片机中断系统
  20. 常用小程序开发框架浅析

热门文章

  1. 使用iphone功能来实现远程监控
  2. MySQL优化篇:show profile进行SQL分析
  3. 一口气说出四种幂等性解决方案,面试官露出了姨母笑~
  4. 一图读懂HDFS--大数据平台技术栈06
  5. 学了那么多年设计模式依然不会用!那可真蠢!
  6. ​Leangoo在线SaaS模式的产品结构
  7. leangoo领歌敏捷开发工具新增任务到期提醒功能
  8. 如何开好一个 OKR 评审会议?
  9. ROS使用自定义消息类型
  10. 死锁产生条件-不剥夺条件