Ⅰ 如何在java里實現復雜的動態查詢功能
根據選擇查詢內容在後台動態拼接sql,比如條件A,select * from A,條件B換成select * from B.
前端也可以動態的顯示要查詢的內容。
Ⅱ 用java寫一個程序,實現對SQL資料庫的動態表進行定時查詢
你這跟struts2沒關系,需要一個定時器,定時去跑你的查詢庫表代碼就OK了。
如果你的程序是需要將查詢結果展示在jsp頁面上,你需要在jsp頁面上使用js寫定時器代碼,參考SetInterval方法。
如果你的程序是桌面應用程序,你可以使用java的定時器Timer。當然,你的項目中如果使用了spring,那有更好的解決方案Quartz。
具體問題要具體分析了。
Ⅲ 如何用java語言中如何執行sql查詢語句
使用jdbc技術,首先導入連接資料庫的jar包,聲明載入的類名,獲取連接,進行查詢,如:
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery("select * from tablename");
Ⅳ Java 實現動態sql的分步提交
沒理解你為啥要這樣設計,為啥不直接前台確定後直接執行,或者如果你一定要這樣搞,可以在要update的那個表裡加個欄位,比如值就默認為0,你要update的時候不直接做update,而是把那個欄位的值改為1,前台確定後再查到這個為1的直接update
Ⅳ 關於Java的sql動態參數
st=conn.PreparedStatement("insert into DailyCoal VALUES(?,?,?)");
st.setString(1,dat);
st.setString(2,name);
st.setString(3,num);
這樣動態傳參
Ⅵ 動態實現sql查詢條件替換
<select id="queryEmp" resultType="cn.test.entity.Emp">
select * from emp where 1=1
<if test="deptNo!=null">
and deptno=#{deptNO}
</if>
<if test="deptName!=null">
and deptno=#{deptName}
</if>
</select>
註:<if test="deptNo!=null">中 的deptNo是指實體類中的屬性或欄位;
choose:
<select id="queryEmp" resultType="cn.test.entity.Emp">
select * from emp where 1=1
<choose>
<when test="deptNo!=null">
and deptno=#{deptNo}
</when>
<when test="deptName!=null">
and deptname=#{deptName}
</when>
<otherwise>
and personnum>#{personNum}
</otherwise>
</choose>
</select>
Ⅶ Java動態sql語句拼接
Map<String,Boolean> map = new HashMap<String,Boolean>();
Set<Entry<String, Boolean>> ens = map.entrySet();
StringBuilder sb = new StringBuilder();
if(ens != null && ens.size() > 0){
for(Entry<String, Boolean> en: ens){
if(en.getValue()){
sb.append("'").append(en.getKey()).append("',");
}
}
}
String names = sb.toString();
if(names.length() > 0){
names = names.substring(0, names.length()-1);//去掉最後一個逗號
String sql = "select * from stuent t1 where t1.name in("+names+")";
System.out.println(sql);
}else{
System.out.println("沒有及格的學生");
}
Ⅷ Java怎樣調用動態sql語句
java調用存儲過程?
可以。
Ⅸ sql動態條件查詢語句
你的意思是通過程序來添加查詢吧,我給你一個代碼參考
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import Jdbc.Util.DBPUtil;
public class PreparedStatementDemo {
public static void main(String[] args)
{
PreparedStatementDemo psd = new PreparedStatementDemo();
psd.updateSalary("JACOB",3000);//給方法傳入2個參數,執行sql語句
psd.selectSalary("JACOB");
}
public void updateSalary(String ename,double sal)
{
String sql = "Update stu_emp set sal= ? Where ename = ?";
Connection cn = null;
PreparedStatement ps = null;
try
{
cn = DBPUtil.getConnection();
ps = cn.prepareStatement(sql);
ps.setDouble(1, sal);
ps.setString(2, ename);
int num = ps.executeUpdate();
System.out.println("提示:總共有 "+num+" 條數據已經更新!");
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
DBPUtil.stmtClose(ps);
DBPUtil.connClose(cn);
}
}
public void selectSalary(String name)
{
String sql = "Select * From stu_emp Where ename = ?";
Connection cn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try
{
cn = DBPUtil.getConnection();
ps = cn.prepareStatement(sql);
ps.setString(1, name);
rs = ps.executeQuery();
while(rs.next())
{
System.out.println(rs.getString("ename")+" 的工資是: "+ rs.getInt("sal"));
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
DBPUtil.stmtClose(ps);
DBPUtil.rsClose(rs);
DBPUtil.connClose(cn);
}
}
}
Ⅹ java用sql語句動態的往表裡面添加欄位,之後怎麼能動態的讀寫新欄位的數據
用SQL語句添加表欄位:alter table 表名add 欄位名 欄位類型;
用select name from syscolumns where id=object_id(表名)查找出所有的表欄位。然後再使用SELECT 查找到的欄位 from 表名。
使用ResultSet動態讀取資料庫數據。ResultSet 是一個迭代模式的動態連接容器。迭代模式的容器遍歷方式:
while(rs.next()){
//循環內容
}
rs.next()返回值是一個布爾值,表示迭代容器中是否還有下一條數據,即在迭代過程中是否已經到結尾。直到迭代集合中再無數據rs.next()返回false;