资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

高级查询java代码 java速查

java如何实现sql连接和查询的代码?

import java.sql.Connection。

成都创新互联公司专注于邵原企业网站建设,成都响应式网站建设公司,商城网站制作。邵原网站建设公司,为邵原等地区提供建站服务。全流程按需定制,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

import java.sql.DriverManager;  

import java.sql.PreparedStatement;  

import java.sql.ResultSet;  

import java.sql.SQLException;

import javax.naming.Context;  

import javax.naming.InitialContext;  

import javax.naming.NamingException;  

import javax.sql.DataSource;

public class DBCon {

//数据库驱动对象

public static final String DRIVER="oracle.jdbc.driver.OracleDriver";

//数据库连接地址(数据库名)

public static final String URL="jdbc:oracle:thin:@localhost:1521:orcl";

//登陆名

public static final String USER="FM";

//登陆密码

public static final String PWD="FM";

//创建数据库连接对象

private Connection con=null;

//创建数据库预编译对象

private PreparedStatement ps=null;

//创建结果集

private ResultSet rs=null;

//创建数据源对象

public static DataSource source=null;

//  //静态代码块  

//  static{  

//  

//      //初始化配置文件context  

//      try {  

//          Context context=new InitialContext();  

//          source=(DataSource)context.lookup("java:comp/env/jdbc/webmessage");  

//      } catch (Exception e) {  

//          // TODO Auto-generated catch block  

//          e.printStackTrace();  

//      }  

//  

//  

//  }

/**

* 获取数据库连接

*/

public Connection getCon(){

try {

Class.forName(DRIVER);

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

con=DriverManager.getConnection(URL,USER,PWD);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return con;

}  

//  /**  

//   * 获取数据库连接  

//   */  

//  public Connection getCon(){  

//  

//      try {  

//          con=source.getConnection();  

//      } catch (SQLException e) {  

//          // TODO Auto-generated catch block  

//          e.printStackTrace();  

//      }  

//  

//      return con;  

//  }  

/**

* 关闭所有资源

*/

public void closeAll(){

if(rs!=null)

try {

rs.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if(ps!=null)

try {

ps.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if(con!=null)

try {

con.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}  

}

/**

* @param sql数据库更新(增、删、改) 语句

* @param pras参数列表(可传,可不传,不传为NULL,以数组形式存在)

* @return 返回受影响都行数

*/

public int update(String sql,String... pras){

int resu=0;

con=getCon();

try {

ps=con.prepareStatement(sql);

for(int i=0;ipras.length;i++){

ps.setString(i+1,pras[i]);

}

resu=ps.executeUpdate();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

finally{

closeAll();

}

return resu;

}

/**

* @param sql数据库查询语句

* @param pras参数列表(可传,可不传,不传为NULL,以数组形式存在)

* @return 返回结果集

*/

public ResultSet query(String sql,String... pras){

con=getCon();

try {

ps=con.prepareStatement(sql);

if(pras!=null)

for(int i=0;ipras.length;i++){

ps.setString(i+1, pras[i]);

}

rs=ps.executeQuery();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return rs;

}  

}

做个日期查询,判断开始日期与终止日期范围必须在一个月之内,用java代码

import java.text.DateFormat;

import java.text.ParsePosition;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.logging.SimpleFormatter;

public class DateTest {

/**

* 判断是否在同一个月

* @param startDate yyyy-MM-dd

* @param endDate yyyy-MM-dd

* @return false:不在同一个月内,true在同一个月内

*/

public static boolean isMonth(String startDate,String endDate){

if(margin(startDate, endDate)31){

return false;

}

int startMonth = Integer.parseInt(startDate.substring(5, 7));

int endMonth = Integer.parseInt(endDate.substring(5, 7));

if(startMonth==endMonth){

return true;

}else{

return false;

}

}

/**

* 计算开始日期和结束日期差

* @param startDate yyyy-MM-dd

* @param endDate yyyy-MM-dd

* @return

*/

private static int margin(String startDate,String endDate){

ParsePosition pos = new ParsePosition(0);

ParsePosition pos2 = new ParsePosition(0);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date ds = sdf.parse(startDate, pos);

Date de = sdf.parse(endDate, pos2);

long l = de.getTime()-ds.getTime();

int margin = (int)(l/24*60*60*1000);

return margin;

}

/**

* main方法测试

* @param args

*/

public static void main(String[] args) {

System.out.println(DateTest.isMonth("2014-10-17", "2014-10-25"));

System.out.println(DateTest.isMonth("2014-10-17", "2014-12-25"));

}

}

普通用户和高级用户,高级用户能够查询普通用户,而普通用户只能查询自己的,用java代码怎么写

你还是把问题阐述的更明确一点,这样我才能更好的理解你到底要表达什么意图。

给你的想法是:在这个用户登陆系统的时候,你就能在系统中得知用户的角色是什么,

然后在进行查询功能的时候,你区分查询业务数据,这样也能解决。

另外一种解决方法,就需要你在设计数据库表结构的时候就考虑进去。

在你所要查询的业务数据中,有一个字段区分出,这条数据是普通用户查询的。

这样也能达到你所想要的结果。但是,前提也是需要你在注册这个用户的时候

就知道这个用户的角色是普通用户还是高级用户。

java递归查询子节点,按给的示例代码实现

代码如下:

import java.util.ArrayList;

import java.util.List;

class Org {

private String id;

private String name;

private String pid;

public Org(String id, String name, String pid) {

this.id = id;

this.name = name;

this.pid = pid;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPid() {

return pid;

}

public void setPid(String pid) {

this.pid = pid;

}

@Override

public String toString() {

return "Org [id=" + id + ", name=" + name + ", pid=" + pid + "]";

}

}

public class App {

static void find(ListOrg list, String pid) {

list.stream().filter(p - p.getPid().equals(pid))

.forEach(org - {

System.out.println(org);

find(list, org.getId());

});

}

public static void main(String[] args) {

ListOrg list = new ArrayList();

list.add(new Org("111", "公司", "0"));

list.add(new Org("222", "部门", "111"));

list.add(new Org("333", "小组", "222"));

list.add(new Org("444", "员工1", "333"));

list.add(new Org("555", "员工2", "333"));

find(list, "0");

System.out.println("------------------------------------");

find(list, "111");

}

}

运行结果:


当前文章:高级查询java代码 java速查
分享网址:http://cdkjz.cn/article/dopedde.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220