A. java後台根據條件查詢怎麼寫呀
如果是動態查詢,也就是上面的條件個數不確定時,你在後台先做判斷哪個條件是需要用的,然後先定義一個String類型的參數,把你需要的條件拼接出來。sql的話就這樣寫select * from 表明 where 1=1 後面拼接你的條件
B. 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();
}
}
}
C. java中怎麼寫一個公共的查詢資料庫方法
package cn.db;//這個是自己建的包,這樣子方便用的時候就可以通過包名來確定路徑了
import java.sql.*;
import java.util.ArrayList;
public class DbDao {
Connection con=null;//連接
Statement stm=null;//執行SQL語句
ResultSet rs=null;//保存查詢結果
public void connectDb(){
try {
Class.forName("com.mysql.jdbc.Driver");//這句固定的
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root","root");//其中的mydb是資料庫名,後面兩個root分別是資料庫用戶名和密碼(我用的是MySQL資料庫)
stm = con.createStatement();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public ArrayList executeQuery(String sql){//這個方法是用來查詢資料庫的,並且將查詢的數據放到鏈表中
ArrayList list = new ArrayList();
try {
rs = stm.executeQuery(sql);
while(rs.next()){
//這里寫入你要查詢的數據,得由你自己寫了。
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
public void closeDb(){//關閉資料庫
try {
if(rs!=null) rs.close();
if(stm!=null) stm.close();
if(con!=null) con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
D. JAVA連接資料庫,查詢功能怎麼寫
public class JdbcNoarg {
//查詢一行數據
public void getQueryNoargOne(){
JdbcMysqlPool jdbc = new JdbcMysqlPool();
Connection con=null;
Statement st = null;
String sql;
ResultSet rst = null;
try {
//獲取資料庫連接
con = jdbc.getConnection();
//在連接里打開一條通道createStatement,返回Statement對象
st = con.createStatement();
sql = "select *from student";
//把我們想要結果sql語句發送給資料庫,資料庫返回的數據用java ResultSet來接收
rst= st.executeQuery(sql);
//獲取結果集的第一行數據9
rst.first();
//獲取結果集指定列的數據
String name = rst.getString("name");
String interest = rst.getString("interest");
System.out.println("name:"+name+";interest:"+interest);
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if(rst!=null)
rst.close();
if(st!=null)
st.close();
if(con!=null)
con.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
E. JAVA中怎麼實現查詢 代碼
try{Connection con;
Statement stmt;
ResultSet rs;
int temp;
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/java","root","");//以上是資料庫連接,不同的數據管理器有 //不同的驅動和鏈接方式,以上是mysql的連接
stmt=con.createStatement();
rs=stmt.executeQuery("select * from student");//執行查詢語句,結果賦值給結果集rs
//結果集是結果於欄位編號的映射,每一個字
//段都有一個編號,最小為1,也就是第一個欄位
while(rs.next()){
String names=rs.getString("name");//查詢結果轉換成字元串。
System.out.println(names);
}rs.close();
}catch(Exception e){
e.printStackTrace();
}
F. 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(); }
} }
G. java查詢類怎麼寫
寫一個方法,多一個參數,表示參數類型,根據參數類型,改變查詢SQL語句
如:
public
ResultSet
query(參數1,參數2....
類型參數1){
if
類型參數1=1
{
sql=按第一種方式查詢的sqlstring
}
if...........
if...........
xxx.executequery(sql)
return
...
}
H. Java實現查詢的功能
查詢部分代碼如下:
StringstrSQL;
strSQL="select*fromtb_managerwheremanager='"+jTextField1.getText().trim()+"'";
rs=db.getResult(strSQL);
try
{
if(rs.first())
{
jTextField1.setText(rs.getString("manager"));
jTextField2.setText(rs.getString("den"));
jTextField3.setText(rs.getString("ID"));
jTextField4.setText(rs.getString("remark"));
jTextField5.setText(rs.getString("sex"));
}
else
{
JOptionPane.showMessageDialog(null,"無此信息");
}
}catch(SQLExceptione)
{JOptionPane.showMessageDialog(null,"查詢信息失敗!");}
}
I. java的遞歸查詢怎麼寫
原文在這里,寫得不錯,樓主可參考下,具體鏈接如下,我只是搬運工!
http://blog.csdn.net/u011627980/article/details/51454323
/**
*說明方法描述:將list轉為樹tree結構
*
*@paramallRrecords
*@return
*@time2016年5月10日下午6:00:35
*@authoryangdong
*/
publicList<Record>useListRecordToTree(List<Record>allRrecords){
List<Record>listParentRecord=newArrayList<Record>();
List<Record>listNotParentRecord=newArrayList<Record>();
//第一步:遍歷allRrecords保存所有數據的uuid用於判斷是不是根節點
Map<String,String>mapAllUuid=newHashMap<String,String>();
Map<String,Record>allRecordMap=newHashMap<String,Record>();
for(Recordrecord:allRrecords){
mapAllUuid.put(record.getStr("uuid"),record.getStr("uuid"));
allRecordMap.put(record.getStr("uuid"),record);
}
//第二步:遍歷allRrecords找出所有的根節點和非根節點
if(allRrecords!=null&&allRrecords.size()>0){
for(Recordrecord:allRrecords){
if(StringUtil.isBlank(record.getStr("parent_uuid"))
||!mapAllUuid.containsKey(record.getStr("parent_uuid"))){
listParentRecord.add(record);
}else{
listNotParentRecord.add(record);
}
}
}
//第三步:遞歸獲取所有子節點
if(listParentRecord.size()>0){
for(Recordrecord:listParentRecord){
//添加所有子級
record.set("childs",this.getTreeChildRecord(listNotParentRecord,record.getStr("uuid")));
}
}
returnlistParentRecord;
}
/**
*說明方法描述:使list轉換為樹並根據關鍵字和節點名稱過濾
*
*@paramallRecords所有節點
*@paramkeywords要過濾的關鍵字
*@paramfilterFields要過濾的欄位
*@return
*@time2016年5月19日下午3:27:32
*@authoryangdong
*/
publicList<Record>useListRecordToTreeByKeywords(List<Record>allRecords,Stringkeywords,String...filterFields){
List<Record>listRecord=newArrayList<Record>();
Map<String,Record>allRecordMap=newHashMap<String,Record>();
for(Recordrecord:allRecords){
allRecordMap.put(record.getStr("uuid"),record);
}
//遍歷allRrecords找出所有的nodeName和關鍵字keywords相關的數據
if(allRecords!=null&&allRecords.size()>0){
if(filterFields.length>1){
for(Recordrecord:allRecords){
for(Stringfield:filterFields){
//比較
if(record.getStr(field).toLowerCase().indexOf(keywords.toLowerCase())!=-1){
listRecord.add(record);
}
}
}
}else{
for(Recordrecord:allRecords){
//比較
if(record.getStr(filterFields[0]).toLowerCase().indexOf(keywords.toLowerCase())!=-1){
listRecord.add(record);
}
}
}
}
//查找過濾出來的節點和他們的父節點
listRecord=this.getSelfAndTheirParentRecord(listRecord,newArrayList<Record>(),
newHashMap<String,Record>(),allRecordMap);
//將過濾出來的數據變成樹tree結構
listRecord=this.useListRecordToTree(listRecord);
returnlistRecord;
}
/**
*說明方法描述:遞歸查詢子節點
*
*@paramchildList子節點
*@paramparentUuid父節點id
*@return
*@time2016年5月10日下午3:29:35
*@authoryangdong
*/
privateList<Record>getTreeChildRecord(List<Record>childList,StringparentUuid){
List<Record>listParentRecord=newArrayList<Record>();
List<Record>listNotParentRecord=newArrayList<Record>();
//遍歷tmpList,找出所有的根節點和非根節點
if(childList!=null&&childList.size()>0){
for(Recordrecord:childList){
//對比找出父節點
if(StringUtil.equals(record.getStr("parent_uuid"),parentUuid)){
listParentRecord.add(record);
}else{
listNotParentRecord.add(record);
}
}
}
//查詢子節點
if(listParentRecord.size()>0){
for(Recordrecord:listParentRecord){
//遞歸查詢子節點
record.set("childs",getTreeChildRecord(listNotParentRecord,record.getStr("uuid")));
}
}
returnlistParentRecord;
}
/**
*說明方法描述:遞歸找出本節點和他們的父節點
*
*@paramparentList根據關鍵字過濾出來的相關節點的父節點
*@paramresultList返回的過濾出來的節點
*@paramfilterRecordMap已經過濾出來的節點
*@paramallRecordMap所有節點
*@return
*@time2016年5月19日上午9:53:56
*@authoryangdong
*/
privateList<Record>getSelfAndTheirParentRecord(List<Record>parentList,List<Record>resultList,
Map<String,Record>filterRecordMap,
Map<String,Record>allRecordMap){
//當父節點為null或者節點數量為0時返回結果,退出遞歸
if(parentList==null||parentList.size()==0){
returnresultList;
}
//重新創建父節點集合
List<Record>listParentRecord=newArrayList<Record>();
//遍歷已經過濾出來的節點
for(Recordrecord:parentList){
Stringuuid=record.getStr("uuid");
Stringparent_uuid=record.getStr("parent_uuid");
//如果已經過濾出來的節點不存在則添加到list中
if(!filterRecordMap.containsKey(uuid)){
listParentRecord.add(record);//添加到父節點中
filterRecordMap.put(uuid,record);//添加到已過濾的map中
allRecordMap.remove(uuid);//移除集合中相應的元素
resultList.add(record);//添加到結果集中
}
//找出本節點的父節點並添加到listParentRecord父節點集合中,並移除集合中相應的元素
if(StringUtil.isNotBlank(parent_uuid)){
RecordparentRecord=allRecordMap.get(parent_uuid);
if(parentRecord!=null){
listParentRecord.add(parentRecord);
allRecordMap.remove(parent_uuid);
}
}
}
//遞歸調用
getSelfAndTheirParentRecord(listParentRecord,resultList,filterRecordMap,allRecordMap);
returnresultList;
}
[java]viewplain
//示例
[java]viewplain
/**
*說明方法描述:遞歸查詢所有許可權
*
*@paramkeyword
*@paramis_deleted
*@return
*@time2016年5月10日下午3:47:50
*@authoryangdong
*/
publicList<Record>getRecordByKeywordRecursive(Stringkeyword,Stringis_deleted){
//第一步:查詢所有的數據
StringBuffersql=newStringBuffer(
"selectpa.uuid,pa.parent_uuid,pa.author_code,pa.author_name,pa.is_menu,pa.sort_number,pa.is_enable,pa.menu_icon");
sql.append("froms_authorpa");
List<Object>params=newArrayList<Object>();
sql.append("wherepa.is_deleted=?");
params.add(is_deleted);
sql.append("orderbypa.sort_numberasc");
List<Record>allRrecords=Db.use(AppConst.DB_DATASOURCE_MAIN).find(sql.toString(),ParamUtil.listToArray(params));
[java]viewplain
//第二步:將list變為樹tree結構
if(StringUtil.isNotBlank(keyword)){
returnsuper.useListRecordToTreeByKeywords(allRrecords,keyword,"author_name");
}else{
returnsuper.useListRecordToTree(allRrecords);
}
}
J. 在java中如何使用一個方法實現兩種不同的查詢
樓主能否說的詳細點,我這里認為的是一個方法實現兩種不同形式的查詢(此處舉例:模糊查詢、精準查詢)
定義vo類A
public
class
A{
private
String
name;
private
String
addr;
......
//
get\set方法
}
定義方法B
public
list
A(A
vo){
//
vo:包含name、addr
String
sql
=
"Select
*
from
表名
where
1=1";
1、精準查詢
if(vo.getName()!=null&&vo.getName().trim()>0){
sql
+=
"and
欄位
=
'"+vo.getName()+"'";
}
2、模糊查詢
if(vo.getAddr()!=null&&vo.getAddr().trim()>0){
sql
+=
"and
欄位
like
'"+vo.getAddr()+"'";
}
return
list結果集;
}
註:不建議使用sql拼接方法進行查詢,容易sql注入,此處為了方便才這樣編寫,希望回答對你有點啟發。