您的位置:

java查询数据库,java查询数据库表并输出

本文目录一览:

java中,用DAO查询一个数据库步骤,分哪几个步骤,原理解析

创建一个以JDBC连接数据库的程序,包含7个步骤:

1、加载JDBC驱动程序:

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),

这通过java.lang.Class类的静态方法forName(String className)实现。

例如:

try{

//加载MySql的驱动类

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

}catch(ClassNotFoundException e){

System.out.println("找不到驱动程序类 ,加载驱动失败!");

e.printStackTrace() ;

}

成功加载后,会将Driver类的实例注册到DriverManager类中。

2、提供JDBC连接的URL

•连接URL定义了连接数据库时的协议、子协议、数据源标识。

•书写形式:协议:子协议:数据源标识

协议:在JDBC中总是以jdbc开始

子协议:是桥连接的驱动程序或是数据库管理系统名称。

数据源标识:标记找到数据库来源的地址与连接端口。

例如:(MySql的连接URL)

jdbc:mysql:

//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为

gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。

3、创建数据库的连接

•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,

该对象就代表一个数据库的连接。

•使用DriverManager的getConnectin(String url , String username ,

String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和

密码来获得。

例如:

//连接MySql数据库,用户名和密码都是root

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

String username = "root" ;

String password = "root" ;

try{

Connection con =

DriverManager.getConnection(url , username , password ) ;

}catch(SQLException se){

System.out.println("数据库连接失败!");

se.printStackTrace() ;

}

4、创建一个Statement

•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3

种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过PreparedStatement实例实现。

3、执行数据库存储过程。通常通过CallableStatement实例实现。

具体的实现方式:

Statement stmt = con.createStatement() ;

PreparedStatement pstmt = con.prepareStatement(sql) ;

CallableStatement cstmt =

con.prepareCall("{CALL demoSp(? , ?)}") ;

5、执行SQL语句

Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate

和execute

1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句

,返回一个结果集(ResultSet)对象。

2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或

DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等

3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的

语句。

具体实现的代码:

ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;

int rows = stmt.executeUpdate("INSERT INTO ...") ;

boolean flag = stmt.execute(String sql) ;

6、处理结果

两种情况:

1、执行更新返回的是本次操作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些

行中数据的访问。

• 使用结果集(ResultSet)对象的访问方法获取数据:

while(rs.next()){

String name = rs.getString("name") ;

String pass = rs.getString(1) ; // 此方法比较高效

}

(列是从左到右编号的,并且从列1开始)

7、关闭JDBC对象

操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声

明顺序相反:

1、关闭记录集

2、关闭声明

3、关闭连接对象

if(rs != null){ // 关闭记录集

try{

rs.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(stmt != null){ // 关闭声明

try{

stmt.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(conn != null){ // 关闭连接对象

try{

conn.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

java程序操作MySQL数据库

数据库内容

  java源代码 (代码实现的是查询成绩为 的人员信息 至于其他功能的 代码中有注释) 注意 在eclipse里运行程序的时候 要工程里插入jar包 否则运行异常! import java sql *; import java io *; class database_manage {  public Connection conn = null;  public ResultSet rs = null;  private String DatabaseDriver = " mysql jdbc Driver";  // DataSource 数据源名称DSN  private String DatabaseConnStr = "jdbc:mysql://localhost: /people_manage?useUnicode=truecharacterEncoding=utf "  + " root root";  public void setDatabaseDriver(String Driver) { this DatabaseDriver = Driver;  }  public String getDatabaseDriver() { return (this DatabaseDriver);  }  public void setDatabaseConnStr(String ConnStr) { this DatabaseConnStr = ConnStr;  }  public String getDatabaseConnStr() { return (this DatabaseConnStr);  }  public database_manage() {// 构造函数连接数据库 try {  Class forName(DatabaseDriver); } catch (java lang ClassNotFoundException e) {  System err println("加载驱动器有错误:" + e getMessage());  System out print("执行插入有错误:" + e getMessage());// 输出到客户端 }  }  public ResultSet query(String sql) {// 查询数据库 rs = null; try {  conn = DriverManager   getConnection(  "jdbc:mysql://localhost: /people_manage?useUnicode=truecharacterEncoding=utf "  "root" "root");  Statement stmt = conn createStatement();  rs = stmt executeQuery(sql); } catch (SQLException ex) {  System err println("执行查询有错误:" + ex getMessage());  System out print("执行查询有错误:" + ex getMessage()); // 输出到客户端 }

return rs;

 }  public int update_database(String sql) {// 更新或插入数据库 int num = ; try {  conn = DriverManager   getConnection(  "jdbc:mysql://localhost: /people_manage?useUnicode=truecharacterEncoding=utf "  "root" "root");  Statement stmt = conn createStatement();  num = stmt executeUpdate(sql); } catch (SQLException ex) {  System err println("执行插入有错误:" + ex getMessage());  System out print("执行插入有错误:" + ex getMessage());// 输出到客户端 }  CloseDataBase(); return num;  }  public void CloseDataBase() {// 关闭数据库 try {  conn close(); } catch (Exception end) {  System err println("执行关闭Connection对象有错误 " + end getMessage());  System out print("执行执行关闭Connection对象有错误 有错误:" + end getMessage()); // 输出到客户端 }  } } class people {  private String uid;  private String name;  private String banji;  private int score;  public people() {  }  public people(String uid String name String banji) { this uid = uid; this name = name; this banji = banji;  }  public people(String uid String name String banji int score) { this uid = uid; this name = name; this banji = banji; this score = score;  }  public String getUid() { return uid;  }  public void setUid(String uid) { this uid = uid;  }  public String getName() { return name;  }  public void setName(String name) { this name = name;  }  public String getBanji() { return banji;  }  public void setBanji(String banji) { this banji = banji;  }  public int getScore() { return score;  }  public void setScore(int score) { this score = score;  } } public class manage {  private people[] people_array ;// 对象数组  public void add_people(String uid String name) {  String sql = "insert people (uid name) values ( " + uid + " " + name + " )";// sql插入语句 // String sql = "insert people (uid name) values ( uid tom )";  database_manage db_obj = new database_manage(); db_obj update_database(sql);  }  public void update_people(String uid String name) {  String sql = "update people set name= " + name + " where uid= " + uid + " "; database_manage db_obj = new database_manage(); db_obj update_database(sql);  }  public void delete_people(String uid) {  String sql = "delete from people  where uid= " + uid + " ";  database_manage db_obj = new database_manage();  db_obj update_database(sql);  }  public people query_people(String uid) { database_manage db_obj = new database_manage(); // String adminid=null; String uid_new name banji; uid_new = null; name = null; banji = null; String sql_query = "select * from people where uid= " + uid + " ";  try {  ResultSet rs = db_obj query(sql_query);  if (rs next()) { uid_new = rs getString("uid"); name = rs getString("name"); banji = rs getString("banji");  } } catch (Exception e) {  e getMessage(); } people new_people = new people(uid_new name banji); return new_people;  }  public people[] query_people_byscore(int score) { database_manage db_obj = new database_manage(); String uid_new name banji; uid_new = null; name = null; banji = null; int score_new = ;

String sql_query = "select * from people where score=" + score;// sql查询语句

try {

ResultSet rs = db_obj query(sql_query);// 查询后 返回结果集

int num = ;

ResultSet rs_new = rs;

while (rs_new next()) {// 统计结果集中学生个数

num++;

}

// System out println(num);

people_array = new people[num];

int i = ;

rs beforeFirst();// 返回结果集的开始

while (rs next()) {

uid_new = rs getString("uid");

name = rs getString("name");

banji = rs getString("banji");

score_new = rs getInt("score");

people_array [i] = new people(uid_new name banji score_new);

i++;

}

} catch (Exception e) {

e getMessage();

}

return people_array ;

}

public static void main(String args[]) {

/*

* people new_people=new people();

*

* manage mr=new manage(); //mr add_people(" " "小明");插入一个学生的信息

*

* new_people=mr query_people(" ");//查询uid= 的学生信息 返回对象 System out

* println(""+new_people getName()+"  "+new_people getBanji());

* mr update_people(" " "小王");更新一个学生的信息

*

* new_people=mr query_people(" ");//更新后查询

*

* System out println(""+new_people getName()+"  "+new_people getBanji(

* ));

*/

manage mr = new manage();

// mr delete_people(" ");删除uid= 的学生信息

people[] people_array;// 声明对象数组

people_array = mr query_people_byscore( );// 返回成绩为一百的学生类数组 后输出

int num = ;

num = people_array length;

for (int i = ; i num; i++) {

System out println(people_array[i] getUid() + " "

+ people_array[i] getName() + "  "

+ people_array[i] getBanji() + "  "

+ people_array[i] getScore());

}

}

}

lishixinzhi/Article/program/Java/JSP/201311/20030

java 查询数据库怎么循环输出?

连接数据库查询可以得到一个ResultSet

rs结果集总可以实现吧

然后通过

List

list

=

new

ArrayList();

while(rs.next()){

创建一个实体对象po

po.setAttribute1(rs.getString("value1"));

po.setAttribute2(rs.getString("value2"));

po.setAttribute3(rs.getString("value3"));

list.add(po);

}

request.setAttribute("list",list);

返回一个list集合到界面通过

c:foreach

item="${list}"

var="c"

tr

td${c.value1}/td

td${c.value2}/td

td${c.value3}/td

/tr

/c:foreach

就可以了

Java怎么查询出数据库当前月份的数据并返回给前端

你是想做到JSP页面不加入%%这种小脚本吧

那可以采用EL表达式,或者一些框架的输出方式,通常用EL就可以了,因为EL就是用来运算和表达的。后台获取数据以后,这个数据可以是一个简单类型,也可以是一个对象,如果是同一个请求下的,也就是request对象没有变,那么可以用这个存储,否则要用session存储,存储数据的对象是JSP内置的对象,有page,request,session,application等,每个对象都能存储数据,但是作用于不同,page针对当前页面,request针对一个请求,session针对一个会话,application针对整个应用程序。 通常session就可以了。 比如后台获取一个String的name值,那么你可以session.setAttribute("name",name); 那么JSP直接可以EL这样写:${sessionScope.name} 获取这个值,这里的name是后台封装的键的名,不是后面变量name的名。

java中怎么把数据库中数据查询出来

刚刚漏了帐号密码了,现在补上

try {

//这里的是MYSQL 举例

//加载驱动

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

//创建数据库连接

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");

//创建查询 “请求”

PreparedStatement ps = con.prepareStatement("select * from user");

//返回查询结果

ResultSet rs = ps.executeQuery();

//遍历结果

while(rs.next()) {

//假如 User 表中 有个 name 列

System.out.println("name "+rs.getString("name"));

}

//关闭

rs.close();

ps.close();

con.close();

} catch (Exception e) {

e.printStackTrace();

}

如何用Java实现数据库查询

import java.sql.*;

public class MSSQLText

{

public static void main(String args[])

{

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";

String user="sa";//这里替换成你自已的数据库用户名

String password="sa";//这里替换成你自已的数据库用户密码

String sqlStr="select CustomerID, CompanyName, ContactName from Customers";

try

{ //这里的异常处理语句是必需的.否则不能通过编译!

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

System.out.println("类实例化成功!");

Connection con = DriverManager.getConnection(url,user,password);

System.out.println("创建连接对像成功!");

Statement st = con.createStatement();

System.out.println("创建Statement成功!");

ResultSet rs = st.executeQuery(sqlStr);

System.out.println("操作数据表成功!");

System.out.println("----------------!");

while(rs.next())

{

System.out.print(rs.getString("CustomerID") + " ");

System.out.print(rs.getString("CompanyName") + " ");

System.out.println(rs.getString("ContactName"));

}

rs.close();

st.close();

con.close();

}

catch(Exception err){

err.printStackTrace(System.out);

}

}

}

java查询数据库,java查询数据库表并输出

2023-01-03
java数据库查询,java数据库查询代码

2023-01-08
java数据库查询,java数据库查询显示日历

2023-01-03
java查询数据库,java查询数据库返回一个表

2023-01-10
mysqljava查询(java查询数据库)

2022-11-13
mysql数据库笔记1000行,sql数据库查询最后1000

2022-11-23
查询java结果,java 查询数据库

2022-11-22
jsp查询数据库语句(jsp获取数据库数据,数据库查询输出数

本文目录一览: 1、jsp页面在数据库查询 2、如何在jsp上查询并显示数据库mysql的数据表 3、怎样用JSP语言查询数据库中的数据,并可以修改 jsp页面在数据库查询 String mysql=

2023-12-08
java查询数据库字段名,查询字段名sql

2022-11-24
java查询,java查询语句

2022-11-30
Java查询功能实现-数据库查询示例

2023-05-17
jsp数据库笔记,jsp写入数据库

本文目录一览: 1、怎么用jsp连接mysql数据库 2、jsp中怎么使用数据库 3、JSP 从数据库中如何取得图片的路径? 怎么用jsp连接mysql数据库 一. 数据库的连接和操作笔记:1.初始化

2023-12-08
java轮询,java轮询同步数据库数据

2023-01-07
mysql数据库查询数量,mysql查看数据库表数量

本文目录一览: 1、mysql快速查询数据库中有多少条数据 2、mysql查询表中一共多少条数据 3、mysql 怎么指定查询多少条数据 mysql快速查询数据库中有多少条数据 今天主要复习了MySQ

2023-12-08
java数据库,java数据库增删改查

2023-01-09
php查询数据库表数据,php数据库查询系统

2022-12-02
javasql查询,java mysql 查询

2023-01-09
mysql查数据库数据量(mysql查询数据库数据量)

2022-11-09
java查询mysql数据(java获取mysql里面的数据

2022-11-16
java查询mysql表格jframe,java创建mysq

2022-11-24