jdbc带条件查询(java web前端如何按条件查询数据库大量数据)

本文目录
- java web前端如何按条件查询数据库大量数据
- java中的条件查询怎么写
- spring jdbctemplate 使用中文查询条件 查不出结果
- java界面里怎么将从数据库中按条件查询的结果显示在界面里急求
java web前端如何按条件查询数据库大量数据
1.参数传到后台,通过hibernate的hql语句写一个普通的模糊查询就可以了,hql基本无法优化,只能加索引。
2.用jdbc或者mybatis。
3.配置文件应该是jdbc.properties吧?一般不需要,因为jdbc.properties里一般只写driver 、url、username和password,顶多还有一些连接池相关的配置。
java中的条件查询怎么写
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.PreparedStatement;
public class JDBC {
private Connection con = null;
private Statement stmt = null;
private ResultSet rs = null;
private String driver = "com.mysql.jdbc.Driver";
private String url="jdbc:mysql://localhost:3306/dataname
?characterEncoding=GBK";
private String user = "root";
private String password = "mysql";
/**
* 准备连接
*/
public void startConnection() throws ClassNotFoundException, SQLException {
Class.forName(driver); //注册数据库驱动
con = DriverManager.getConnection(url, user, password); //获得数据库连接
}
/**
* 执行select 并返回结果集 throws SQLException
*/
public ResultSet query(String sql) throws SQLException {
stmt = con.createStatement(); //创建Statement
rs = stmt.executeQuery(sql); //执行查询
return rs;
}
/**
* 执行insert update delete
*/
public int update(String sql) throws SQLException {
stmt = con.createStatement();
int r = stmt.executeUpdate(sql);
return r;
}
/**
* 释放资源(连接)
*/
public void releaseConnection() {
try {
if (rs != null)
rs.close();
stmt.close();
if (con != null)
con.close();
} catch (SQLException e) {
e.printStackTrace(); }
} }
spring jdbctemplate 使用中文查询条件 查不出结果
在连接数据库的url的后面加一句:characterEncoding=UTF-8
例如:jdbc:mysql://localhost:3306/java?useSSL=false&characterEncoding=UTF-8
如果是xml文件,&后面加amp;
例如:jdbc:mysql://localhost:3306/java?useSSL=false&characterEncoding=UTF-8
java界面里怎么将从数据库中按条件查询的结果显示在界面里急求
首先创建可以可以操作数据库的模型用来实现crud
package model;
/*
* 负责对数据库操作的表模型
*/
import java.sql.*;
public class SqlModel {
static Connection con=null;
static PreparedStatement ps=null;
static ResultSet rs=null;
//ResultSet rs2=null;
public SqlModel(){
try {
//加载驱动
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//2、得到连接(指定连接到那个数据源),hostel:数据源名
con=DriverManager.getConnection("jdbc:odbc:hostel","","");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//负责增、删、改的方法
public boolean update(String sql,String paras){
boolean b=true; //判断是否删除成功
try {
ps=con.prepareStatement(sql); //向数据库发送sql语句
//利用循环给sql语句中的问号赋值
for(int i=0;i《paras.length;i++){
ps.setString(i+1, paras);
}
//得到结果
//int rs=ps.executeUpdate();
ps.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return b;
}
//负责查询的方法
public ResultSet query(String sql, String paras){
try {
ps=con.prepareStatement(sql); //向数据库发送sql语句
//利用循环给sql语句中的问号赋值
for(int i=0;i《paras.length;i++){
ps.setString(i+1, paras);
}
//得到结果
rs=ps.executeQuery();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
//关闭数据库连接的方法
public void close(){
try {
if(rs!=null){rs.close();}
if(ps!=null){ps.close();}
if(con!=null){con.close();}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
再创建一个表模型,
package model;
import java.sql.*;
import java.util.*;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
public class Table extends AbstractTableModel{
SqlModel sm;
Connection con=null;
PreparedStatement ps=null;
ResultSet rs=null;
Vector Hang,Lie;
//查询的方法
public void ShuJuKuLianJie(String sql,String paras){
try {
Hang=new Vector();
Lie=new Vector();
SqlModel sm=new SqlModel();
rs=sm.query(sql, paras);
//利用ResultSetMetaData可以得到返回列的列名
ResultSetMetaData rsm=rs.getMetaData();
for(int i=0;i《rsm.getColumnCount();i++){
this.Hang.add(rsm.getColumnName(i+1));
}
while(rs.next()){
Vector《String》 lie=new Vector《String》();
for(int i=0;i《rsm.getColumnCount();i++){
lie.add(rs.getString(i+1));
}
Lie.add(lie);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(rs!=null){rs.close();};
if(ps!=null){ps.close();};
if(con!=null){con.close();};
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//增删改方法
public boolean ZhengShanGai(String sql,String paras){
boolean b=true; //用来返回操作是否成功
SqlModel sm=new SqlModel();
try {
b=sm.update(sql, paras);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
sm.close();
}
return b;
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
//得到共有多少列
return this.Lie.size();
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
//得到共有多少行
return this.Hang.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
//得到某行某列的数据
return ((Vector) this.Lie.get(rowIndex)).get(columnIndex);
}
public String getColumnName(int column) {
// TODO Auto-generated method stub
return (String)this.Hang.get(column);
}
}
查询过后别忘记刷新表模型
.setModel();方法

更多文章:
code是什么意思c语言(C语言中,code uint8 a[] 里面的“code“是什么意思)
2026年2月6日 01:45
中信银行app上开通的会员在哪里找?qq红色会员装扮专区怎么进
2026年5月25日 19:30
mybatis plus批量删除(如何实现springmvc+mybatis用多选框批量删除的功能Java代码)
2025年10月26日 18:30
腾讯视频url地址怎么获取(怎么读取到腾讯视频的真实可引用地址)
2026年5月20日 18:15
oracle vm virtualbox怎么复制粘贴(如何向virtualbox虚拟机拷贝文件)
2026年2月15日 18:15
java地下城与勇士(地下城与勇士韩服手游检查非法程序oppo手机怎么设置)
2026年3月4日 11:15
中高端女包品牌有哪些牌子?十大全球品牌女包排行榜(包包牌子有哪些)
2025年9月11日 17:15
html默认占据整行(HTML 中怎样使input占据表格的整个td)
2026年7月15日 00:00















