import java.sql.Connection。
成都創(chuàng)新互聯(lián)公司專注于邵原企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站制作。邵原網(wǎng)站建設(shè)公司,為邵原等地區(qū)提供建站服務(wù)。全流程按需定制,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
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 {
//數(shù)據(jù)庫驅(qū)動(dòng)對(duì)象
public static final String DRIVER="oracle.jdbc.driver.OracleDriver";
//數(shù)據(jù)庫連接地址(數(shù)據(jù)庫名)
public static final String URL="jdbc:oracle:thin:@localhost:1521:orcl";
//登陸名
public static final String USER="FM";
//登陸密碼
public static final String PWD="FM";
//創(chuàng)建數(shù)據(jù)庫連接對(duì)象
private Connection con=null;
//創(chuàng)建數(shù)據(jù)庫預(yù)編譯對(duì)象
private PreparedStatement ps=null;
//創(chuàng)建結(jié)果集
private ResultSet rs=null;
//創(chuàng)建數(shù)據(jù)源對(duì)象
public static DataSource source=null;
// ?//靜態(tài)代碼塊 ?
// ?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(); ?
// ? ? ?} ?
// ?
// ?
// ?}
/**
* 獲取數(shù)據(jù)庫連接
*/
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;
} ?
// ?/** ?
// ? * 獲取數(shù)據(jù)庫連接 ?
// ? */ ?
// ?public Connection getCon(){ ?
// ?
// ? ? ?try { ?
// ? ? ? ? ?con=source.getConnection(); ?
// ? ? ?} catch (SQLException e) { ?
// ? ? ? ? ?// TODO Auto-generated catch block ?
// ? ? ? ? ?e.printStackTrace(); ?
// ? ? ?} ?
// ?
// ? ? ?return con; ?
// ?} ?
/**
* 關(guān)閉所有資源
*/
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數(shù)據(jù)庫更新(增、刪、改) 語句
* @param pras參數(shù)列表(可傳,可不傳,不傳為NULL,以數(shù)組形式存在)
* @return 返回受影響都行數(shù)
*/
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數(shù)據(jù)庫查詢語句
* @param pras參數(shù)列表(可傳,可不傳,不傳為NULL,以數(shù)組形式存在)
* @return 返回結(jié)果集
*/
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;
} ?
}
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.SimpleFormatter;
public class DateTest {
/**
* 判斷是否在同一個(gè)月
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return false:不在同一個(gè)月內(nèi),true在同一個(gè)月內(nèi)
*/
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;
}
}
/**
* 計(jì)算開始日期和結(jié)束日期差
* @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"));
}
}
你還是把問題闡述的更明確一點(diǎn),這樣我才能更好的理解你到底要表達(dá)什么意圖。
給你的想法是:在這個(gè)用戶登陸系統(tǒng)的時(shí)候,你就能在系統(tǒng)中得知用戶的角色是什么,
然后在進(jìn)行查詢功能的時(shí)候,你區(qū)分查詢業(yè)務(wù)數(shù)據(jù),這樣也能解決。
另外一種解決方法,就需要你在設(shè)計(jì)數(shù)據(jù)庫表結(jié)構(gòu)的時(shí)候就考慮進(jìn)去。
在你所要查詢的業(yè)務(wù)數(shù)據(jù)中,有一個(gè)字段區(qū)分出,這條數(shù)據(jù)是普通用戶查詢的。
這樣也能達(dá)到你所想要的結(jié)果。但是,前提也是需要你在注冊(cè)這個(gè)用戶的時(shí)候
就知道這個(gè)用戶的角色是普通用戶還是高級(jí)用戶。
代碼如下:
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");
}
}
運(yùn)行結(jié)果: