Java如何获取数据库中的数据·案例

Java如何获取数据库中的数据·案例,第1张

下面是一个从 mysql 数据获取用户数据的案例,可以参考一下:

import javasqlConnection;

import javasqlDriverManager;

import javasqlResultSet;

import javasqlSQLException;

import javasqlStatement;

import javautilArrayList;

import javautilList;

// 用户类,存储单个用户信息

class User {

private int id;

private String name;

public User(int id, String name) {

thisid = id;

thisname = name;

}

public int getId() {

return id;

}

public void setId(int id) {

thisid = id;

}

public String getName() {

return name;

}

public void setName(String name) {

thisname = name;

}

@Override

public String toString() {

return "User [id=" + id + ", name=" + name + "]";

}

}

public class Demo1 {

public static void main(String[] args) throws ClassNotFoundException, SQLException {

// 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息

// 放到 List 中

// 加载数据驱动

ClassforName("commysqljdbcDriver");

// 数据库连接字符串, 此例数据库为 test

String url = "jdbc:mysql://localhost:3306/test";

String user = "root"; // 数据库用户名

String password = ""; // 数据库密码

// 打开一个数据连接

Connection conn = DriverManagergetConnection(url, user, password);

Statement stmt = conncreateStatement();

// 获取表 tb_users 所有用户信息到结果集中

ResultSet rs = stmtexecuteQuery("SELECT id, name FROM tb_users");

// 定义一个存放用户信息的 List

List<User> users = new ArrayList<>();

// 提取用户信息,并将用户信息放入 List

while (rsnext()) {

// 获取用户ID

int id = rsgetInt(1);

// 获取用户名

String name = rsgetString(2);

usersadd(new User(id, name));

}

rsclose();

stmtclose();

connclose();

// 显示用户信息

for (User u : users) {

Systemoutprintln(u);

}

}

}

java 对读取数据库的数据可以显示在网页上,可以对数据进行分类,保存到其它数据库或者是文件里等,当然前提就是要把数据读取出来

以读取数据为例:

解析:

上面代码就是首先注册驱动,然后进行连接

如果连接成功

就可以用select语句进行执行并读取了

1、对应数据库中的表创建实体类(entity),封装a、b、c等字段

2、使用jdbc查询数据库,一行数据对应一个实体对象,放进一个集合List<entity>中。

获取数据库增量数据的几种方式:

a触发器:在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。触发器方式的优点是数据抽取的性能较高,缺点是要求业务表建立触发器,对业务系统有一定的影响。

b时间戳:它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段的值。当进行数据抽取时,通过比较系统时间与时间戳字段的值来决定抽取哪些数据。有的数据库的时间戳支持自动更新,即表的其它字段的数据发生改变时,自动更新时间戳字段的值。有的数据库不支持时间戳的自动更新,这就要求业务系统在更新业务数据时,手工更新时间戳字段。同触发器方式一样,时间戳方式的性能也比较好,数据抽取相对清楚简单,但对业务系统也有很大的倾入性(加入额外的时间戳字段),特别是对不支持时间戳的自动更新的数据库,还要求业务系统进行额外的更新时间戳 *** 作。

c全表比对:典型的全表比对的方式是采用MD5校验码。ETL工具事先为要抽取的表建立一个结构类似的MD5临时表,该临时表记录源表主键以及根据所有字段的数据计算出来的MD5校验码。每次进行数据抽取时,对源表和MD5临时表进行MD5校验码的比对,从而决定源表中的数据是新增、修改还是删除,同时更新MD5校验码。

d日志对比:通过分析数据库自身的日志来判断变化的数据。

android读取数据库可以使用sqlite一些api进行读取,实例如下:

/

查找一条数据

@param uid

/

public User find(Integer uid){

SQLiteDatabase db=dbOpenHelpergetReadableDatabase(); //创建数据库辅助类

Cursor cursor =dbrawQuery("select from user where uid=", new String[]{uidtoString()}); //创建一个游标

if(cursormoveToFirst()){ //循环遍历查找数组

int uid2=cursorgetInt(cursorgetColumnIndex("uid"));

String uname=cursorgetString(cursorgetColumnIndex("uname"));

String uaddress=cursorgetString(cursorgetColumnIndex("uaddress"));

User user=new User();

usersetUid(uid2);

usersetUname(uname);

usersetUaddress(uaddress);

return user;

}

cursorclose();

return null;

}

<%

//JSP页面直接访问数据库

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

try{

ClassforName("JDBC驱动");

conn = DriverManagergetConnection("url", "username", "password");

stmt = conncreateStatement();

rs = stmtexecuteQuery("select factor, ratio from 表名 where id=1");

while(rsnext()){

String factor = rsgetString("factor");

String ratio = rsgetString("ratio");

%>

factor :<%=factor %>

ratio :<%=ratio %>

<%

}

}catch(Exception e){

eprintStackTrace();

}finally{

try{

if(rs != null) rsclose();

if(stmt != null) stmtclose();

if(conn != null) connclose();

}catch(Exception e1){

e1printStackTrace();

}

}

%>

修改 驱动、url、username、password、表名、字段名成你应用的相应数据,然后将这些代码加入到你的jsp页面,就可以在jsp页面直接读取到数据库中的对应表指定字段的数据了,祝你好运!

用JDBC连接数据库,然后用sql语句。要导入mysql的驱动包。

import javasql;

public class TestMySql {

static Connection con = null; // 声明Connection对象

static Statement sql = null;

static ResultSet res = null;

public static void main(String[] args) {

TestMySql c = new TestMySql();

con = cgetConnection();

try {

sql = concreateStatement();

res = sqlexecuteQuery("select from dept");

//sql语句,我数据库里有张dept表

while (resnext()) {//输出结果

Systemoutprint(resgetString(1) + "<——>");

Systemoutprint(resgetString(2) + "<——>");

Systemoutprint(resgetString(3) );

Systemoutprintln();

}

} catch (SQLException e) {

eprintStackTrace();

} finally {

try {

if (res != null) {

resclose();

res =null;

}

if (sql != null) {

sqlclose();

sql =null;

}

if (con != null) {

conclose();

con =null;

}

} catch (SQLException e) {

eprintStackTrace();

}

}

}

public Connection getConnection() {

try {

ClassforName("commysqljdbcDriver");

// 加载oracleJDBC驱动

Systemoutprintln("数据库驱动加载成功");

} catch (ClassNotFoundException e) {

eprintStackTrace();

}

try {// 通过访问数据库的URL获取数据库连接对象

con = DriverManagergetConnection(

"jdbc:mysql://localhost:3306/mydata", "root", "qwer1234");

//mydata为mysql名字

Systemoutprintln("数据库连接成功");

} catch (SQLException e) {

eprintStackTrace();

}

return con; // 按方法要求返回一个Connection对象

}

}

以上就是关于Java如何获取数据库中的数据·案例全部的内容,包括:Java如何获取数据库中的数据·案例、java怎么把数据库的数据取出来、java获取数据库数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9353469.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存