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

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

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

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

import java.util.ArrayList

import java.util.List

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

class User {

private int id

private String name

public User(int id, String name) {

this.id = id

this.name = name

}

public int getId() {

return id

}

public void setId(int id) {

this.id = id

}

public String getName() {

return name

}

public void setName(String name) {

this.name = 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 中

// 加载数据驱动

Class.forName("com.mysql.jdbc.Driver")

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

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

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

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

// 打开一个数据连接

Connection conn = DriverManager.getConnection(url, user, password)

Statement stmt = conn.createStatement()

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

ResultSet rs = stmt.executeQuery("SELECT id, name FROM tb_users")

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

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

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

while (rs.next()) {

// 获取用户ID

int id = rs.getInt(1)

// 获取用户名

String name = rs.getString(2)

users.add(new User(id, name))

}

rs.close()

stmt.close()

conn.close()

// 显示用户信息

for (User u : users) {

System.out.println(u)

}

}

}

写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!

[java] view plain copy

package edu.thu.keyword.test  

  

import java.io.File  

import java.io.InputStreamReader  

import java.io.BufferedReader  

import java.io.BufferedWriter  

import java.io.FileInputStream  

import java.io.FileWriter  

  

public class cin_txt {  

    static void main(String args[]) {  

        try { // 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw  

  

            /* 读入TXT文件 */  

            String pathname = "D:\\twitter\\13_9_6\\dataset\\en\\input.txt" // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径  

            File filename = new File(pathname) // 要读取以上路径的input。txt文件  

            InputStreamReader reader = new InputStreamReader(  

                    new FileInputStream(filename)) // 建立一个输入流对象reader  

            BufferedReader br = new BufferedReader(reader) // 建立一个对象,它把文件内容转成计算机能读懂的语言  

            String line = ""  

            line = br.readLine()  

            while (line != null) {  

                line = br.readLine() // 一次读入一行数据  

            }  

  

            /* 写入Txt文件 */  

            File writename = new File(".\\result\\en\\output.txt") // 相对路径,如果没有则要建立一个新的output。txt文件  

            writename.createNewFile() // 创建新文件  

            BufferedWriter out = new BufferedWriter(new FileWriter(writename))  

            out.write("我会写入文件啦\r\n") // \r\n即为换行  

            out.flush() // 把缓存区内容压入文件  

            out.close() // 最后记得关闭文件  

  

        } catch (Exception e) {  

            e.printStackTrace()  

        }  

    }  

}

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

import java.sql.*

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 = c.getConnection()

try {

sql = con.createStatement()

res = sql.executeQuery("select * from dept")

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

while (res.next()) {//输出结果

System.out.print(res.getString(1) + "<——>")

System.out.print(res.getString(2) + "<——>")

System.out.print(res.getString(3) )

System.out.println()

}

} catch (SQLException e) {

e.printStackTrace()

} finally {

try {

if (res != null) {

res.close()

res =null

}

if (sql != null) {

sql.close()

sql =null

}

if (con != null) {

con.close()

con =null

}

} catch (SQLException e) {

e.printStackTrace()

}

}

}

public Connection getConnection() {

try {

Class.forName("com.mysql.jdbc.Driver")

// 加载oracleJDBC驱动

System.out.println("数据库驱动加载成功")

} catch (ClassNotFoundException e) {

e.printStackTrace()

}

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

con = DriverManager.getConnection(

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

//mydata为mysql名字

System.out.println("数据库连接成功")

} catch (SQLException e) {

e.printStackTrace()

}

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

}

}


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

原文地址: http://outofmemory.cn/sjk/9902800.html

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

发表评论

登录后才能评论

评论列表(0条)

保存