Ⅰ 如何在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;