当前位置:首页 » 编程语言 » java获取sql结果
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

java获取sql结果

发布时间: 2022-05-15 22:56:25

1. JAVA中sql语句的查询结果值如何体现

Stringsql="SELECT角色FROMuserinfoWHERE员工编号='A001'AND密码='a'";
try{
ResultSetres=stmt.executeQuery(sql);

while(res.next()){//循环输出结果集
Stringrole=res.getString("角色");//这里可以根据字段名称得到该记录的角色的值
}
}catch(Exceptione){
e.printStackTrace();
}

上边是基于JDBC访问Mysql的示例,希望对你有帮助

2. java如何获取SQL查询结果集中的行数和列数

在Java中,获得ResultSet的总行数的方法有以下几种。
第一种:利用ResultSet的getRow方法来获得ResultSet的总行数
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourTableName");
rset.last();
int rowCount = rset.getRow(); //获得ResultSet的总行数
第二种:利用循环ResultSet的元素来获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select * from yourTableName");
int rowCount = 0;
while(rset.next()) {
rowCount++;}rowCount就是ResultSet的总行数。
第三种:利用sql语句中的count函数获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName");
int rowCount = 0;
if(rset.next()) {
rowCount=rset .getInt("totalCount ");}rowCount就是ResultSet的总行数。
·*****************************************************************************************************************
·Java中获得ResultSet的总列数是非常简单事情,因为Java中ResultSet提供了ResultSetMetaData工具类,ResultSetMetaData是ResultSet的元数据的集合说明。
java获得ResultSet总列数的代码如下:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourtable");
ResultSetMetaData rsmd = rset.getMetaData() ;
columnCount就是ResultSet的总列数。

3. java中怎么获取mysql数据库的数据

用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对象
}

}

4. 如何在java中获得sql查询结果数量

如果使用String
sqlQuery
=
"SELECT
*
FROM
table";
的话,可以使用ResultSet的getRow
(1)首先使用last()方法,将数据库游标定位到记录集的最后一行。
(2)使用getRow()方法,返回记录集最后一行的行索引。该索引就等于记录集所包含记录的个数,也就是记录集的行数。getRow()方法是在JDBC
API
2.0中才定义的,在JDBC
API
1.0中没有这个方法。
----------------------
SELECT
count(*)
FROM
table
的话,直接从resultset中获取
rs.getInt(1);

5. java 获取SQL查询语句返回的结果

step1:构造连接
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db","root","123");

step2:构造语句
String sql = "select username,password from t_user where username=?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "zhangshan"); //给SQL的"?"(问号)传值。

step3:执行查询
ResultSet rs = stmt.executeQuery(); //rs就是SQL查询语句返回的结果集

step4:处理结果(java 获取SQL查询语句返回的结果)
List list = new ArrayList();
//遍历结果集,这样写就可以了,就是一个循环,有多少条记录,这里就会循环多少次,
//一次就是一条记录,想象一下就像一个表的一条记录
//在这里可以做查询出来的数据处理,可以封装成对象之类的(就是把值给它)
if(rs.next()) { //遍历结果集,这样写就可以了
User u = new User();
String username = rs.getString("username");
String address = rs.getString("password ");
u.setUsername(username);
u.setAddress(address);
list.add(u);
}
//上面这个例子意思是,把每一条记录封装成了一个User对象,然后这些User对象都放存入到了一个list

step4:关闭连接等

6. JAVA使用mybatis执行sql脚本,怎么获取sql脚本的查询结果

<selectid="DAO接口方法名称"parameterType="参数类型"resultType="返回结果类型">
select*from表where。。。
</select>

resultType 可以是任意Object对象,如果多条数据,这这个方法返回的是List<Object?>,

如果确认是单条数据,可以直接 Object? ***(**); 。


没有封装成对象时,默认返回的是List<Map<字段名称String,列值Object>>这样的数据。

Dao接口:
List<Map<String,Object>>list(Integerid);
SQL:
<selectid="list"parameterType="Integer"resultType="Map">
select*fromaaa
<where>
<iftest="null!=id">
id&gt;#{id}
</if>
</where>
</select>
以上示例中表示查询id>某个数值的所有结果,返回类型为MAP


执行脚本后没有返回结果的吧,看ScriptRunner源码,没有提供任何返回结果的。

privatevoidexecuteStatement(Stringcommand)throwsSQLException,UnsupportedEncodingException{
booleanhasResults=false;
Statementstatement=connection.createStatement();
statement.setEscapeProcessing(escapeProcessing);
Stringsql=command;
if(removeCRs)
sql=sql.replaceAll(" "," ");
if(stopOnError){
hasResults=statement.execute(sql);
}else{
try{
hasResults=statement.execute(sql);
}catch(SQLExceptione){
Stringmessage="Errorexecuting:"+command+".Cause:"+e;
printlnError(message);
}
}
printResults(statement,hasResults);
try{
statement.close();
}catch(Exceptione){
//
}
}

...

有结果时,最后调用了这个方法打印出来而已。
privatevoidprint(Objecto){
if(logWriter!=null){
logWriter.print(o);
logWriter.flush();
}
}

你可以调用
publicvoidsetLogWriter(PrintWriterlogWriter){
this.logWriter=logWriter;
}
传入你自己的Writer。

7. java使用mybatis执行sql脚本,怎么获取sql脚本的结果

<select id="DAO接口方法名称" parameterType="参数类型" resultType="返回结果类型">
select * from 表 where 。。。
</select>

resultType 可以是任意Object对象,如果多条数据,这这个方法返回的是List<Object?>,
如果确认是单条数据,可以直接 Object? ***(**); 。

没有封装成对象时,默认返回的是List<Map<字段名称String,列值Object>>这样的数据。

Dao接口:
List<Map<String,Object>> list(Integer id);
SQL:
<select id="list" parameterType="Integer" resultType="Map">
select * from aaa
<where>
<if test="null!=id">
id >#{id}

8. 在java中如何获得SQL语句查询结果的字符串

首先你要学会jdbc连接数据库。
其次是sql语句的问题,你要回写更新语句。
所以你的业务流程是这样的。从文本框取值到后端,jdbc连接数据库,sql语句写入。

9. java,怎么获得SQL语句查询出来的单项结果

你先要安装数据库软件,然后再用java连接数据库,然后写查询语句,然后再赋值