ldap的增刪改查基本操作
public class Factory { private static Ldap instance; public synchronized static Ldap creatInstance(){ if(instance==null){ try { String className="com.zte.dap.uima.ldap.LdapImpl"; Class<?> c=Class.forName(className); instance=(Ldap) c.newInstance(); //instance=(Ldap) Class.forName("LdapImpl").newInstance(); } catch (Exception e) { throw new RuntimeException(); } } return instance; } }
public interface Ldap { public void connect() throws NamingException; public String search(String para) throws NamingException; public void update() throws NamingException; public void add() throws NamingException; public void delete() throws NamingException; public void close() throws NamingException; }
public class LdapImpl implements Ldap { private DirContext ds; @Override public synchronized void connect() throws NamingException { Hashtable<String, Object> env=new Hashtable<String,Object>(11); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, "ldap://10.43.139.211:389"); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, "cn=root,o=ZTE,c=cn"); env.put(Context.SECURITY_CREDENTIALS, "secret"); ds=new InitialDirContext(env); } @Override public String search(String para) throws NamingException { String password=null; SearchControls searchCtls=new SearchControls(); searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE); String searchFilter="uid="+para; String searchBase="o=ZTE,c=cn"; String returnedAttrs[]={"userPassword"}; searchCtls.setReturningAttributes(returnedAttrs); NamingEnumeration<SearchResult> entries=ds.search(searchBase, searchFilter, searchCtls); while(entries.hasMoreElements()){ SearchResult entry=entries.next(); Attributes attrs=entry.getAttributes(); if(attrs!=null){ for(NamingEnumeration<? extends Attribute> names=attrs.getAll();names.hasMore();){ Attribute attr=names.next(); for(NamingEnumeration<?> e =attr.getAll();e.hasMore();){ byte[] s=(byte[]) e.next(); password=new String(s); } } } } return password; } @Override public void update() throws NamingException { ModificationItem[] mods=new ModificationItem[1]; Attribute attr=new BasicAttribute("sn","張三"); mods[0]=new ModificationItem(DirContext.REPLACE_ATTRIBUTE, attr); ds.modifyAttributes("uid=test,o=founder,c=com", mods); } @Override public void add() throws NamingException { Attributes attrs=new BasicAttributes(); attrs.put("uid","test"); attrs.put("sn","test"); attrs.put("cn","test Test"); attrs.put("userPassword", "222222"); Attribute objclass=new BasicAttribute("objectClass"); objclass.add("inetOrgPerson"); attrs.put(objclass); this.ds.createSubcontext("uid=test,ou=users,o=ZTE,c=cn", attrs); } @Override public void delete() throws NamingException { this.ds.destroySubcontext("uid=test,o=founder,c=com"); } @Override public void close() throws NamingException { ds.close(); } }
public class TestLdap
{
public static void main(String[] args) throws NamingException
{
Ldap ldap=Factory.creatInstance();
ldap.connect();
try {
// add uid=test,ou=tester,dc=ibm,dc=com
//ldap.add();
// search uid=test
ldap.search("test");
// update cn with new value of "changed name"
//ldap.update();
// search uid=test to see cn value.
//ldap.search();
// delete uid=test,ou=tester,dc=ibm,dc=com
//ldap.delete();
// search again.
//ldap.search();
} finally {
ldap.close();
}
}
}
相關推薦
ldap的增刪改查基本操作
public class Factory { private static Ldap instance; public synchronized static Ldap creatInstance(){ if(instance==null)
搭建MyBatis工作環境以及增刪改查基本操作
read generated artifact this close sco del url eal 數據庫準備 創建一個數據庫為mybatus-test,表為user CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_I
XML模塊增刪改查基本操作
讀取 try element utf-8 文檔 ldo nco nbsp 基本 增:新建一個xml文件,把數據寫進去 # 怎麽生成一個xml文件? # 1,導入模塊 import xml.etree.ElementTree as et # 2, 定義節點 root =
例項介紹MyBatis增刪改查基本操作
通過上一篇部落格《MyBatis的入門介紹》我們瞭解了MyBatis基本原理 這篇我們就說說它的增刪改查基本操作 例項應用 建立Java Product專案,目錄結構如下: 資料庫結構如下 conf.xml檔案內容 <?xml version=
Oracle-資料庫增刪改查基本操作
一、建立資料表 1).建立不存在的新表: create table tname( Data_Name Date_Type [default][預設值] ); 2).建立已存在表的副本 create table emp1 as selec
git入門學習一(git安裝,增刪改查基本操作命令)
git 工作區 暫存區 版本庫 在當前目錄新建一個Git程式碼庫 git init (會多出.git資料夾) 設計提交程式碼時的使用者資訊 :git config --global user.name zhangsan git config --glob
Oracle 增刪改查基本操作
Oracle是甲骨文公司旗下的一款關係型資料庫,是一款較為主流的資料庫軟體,下面主要介紹一下oracle的一些基本操作 1.增加資料 增加資料的關鍵詞為insert into 其語法結構為 insert into 表名(欄位)values(對應的值),當要對全部內容進行新
mongodb php增刪改查基本操作
剛學習mongodb,現在網上的資料還比較少,讀了一本mongodb權威指南,介紹的內容不是很全面。七零八湊找了些對mongo資料庫的基本增刪改查操作。 $mongo = new Mongo(); $db = $mongo->selectDB('test'); $co
mongodb增刪改查基本操作
有的真想不到,在昆明這樣的地方居然也有企業在使用非關係型資料庫mongodb,因此無論如何都要掌握一點非關係資料庫的基本知識,這次我整理了一點mongodb最基本的增刪改查操作 1.插入資料 簡單的表結構可能就只是單列的json,但是如果情況比較複雜還可能出現巢狀的情況,這
jpa資料庫增刪改查基本操作
1.插入一條資料(儲存實體)save(T entity) 2.查詢一個特定實體findOne(Id) 3.刪除指定實體delete(T entity);delete(Id); 4.更新實體@Transaction@Modifying@Query("update Custom
【pandas】[2] DataFrame 基礎,建立DataFrame和增刪改查基本操作(1)
作者:lianghc 地址:http://blog.csdn.net/zutsoft DataFrame 是pandas最常用的資料結構,類似於資料庫中的表,不過DataFrame不僅僅限制於2維,可以建立多維資料表。DataFrame既有行索引,也有列
MyBatis的增刪改查基本操作
MyBatis和Hibernate的使用基本一樣,區別在於Hibernate在Java程式碼中實現資料庫操作,整合度高;Mybatis在註解或者xml檔案中通過配置實現SQL語句,更加靈活 建立使用MyBatis的Java專案 1. 建立
MyBatis 學習總結 02 對表執行增刪改查(CRUD)操作 OLD
去除 dev ins tlist 只需要 獲取 exception ref ssi 可以對上一節中使用mybatis打開一次session的業務邏輯進行封裝,封裝的成工具類命名為: MyBatisUtil package com.mybatis.util;
數據庫表--增刪改查的操作實例
數字電路 查看 varchar 數學 sna 成績 同學 part 及其 一、設置數據庫 包括四個表:學生表(Student)、課程表(Course)、成績表(Score)以及教師信息表(Teacher)。四個表的結構分別如表1-1的表(一)~表(四)所示,數據如表1-2的
Python字典中增刪改查的操作
增:字典中的增加鍵值對與列表相差無幾,例:dic = {'name1':'tom'} 實現增加的操作:dic['name2'] = 'Jack' 注意不要忘記加''(上引號) 刪:三種方法,dic.pop('key'),可
python連線MongoDB資料庫方法及增刪改查等操作小結。
Y9 建議安裝MongoDB視覺化工具“Robo 3T”,可以很直觀的看到對MongoDB操作後的資料。 1、‘Robo 3T’的安裝,網上很多途徑可下載,在此分享我使用的版本: 連結:https://pan.baidu.com/s/1EcjmUVkXz1GQeTXy2fMk
一、mybaitis的增刪改查簡單操作
1、匯入jar包 mysql-connector-java-5.1.7-bin.jar mybatis-3.2.7.jar 2、db.propertiese jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localho
JAVA資料管理系統(用ArrayList實現增刪改查等操作)
通過查詢大量有關ArrayList操作的文章,終於將這個小東西寫完了。感覺心累。 //import java.util.ArrayList; //import java.util.List; //import java.util.Scanner;// I/O庫函式 /
spring結合mongodb增刪改的基本操作
## is查詢 這是按明確條件查詢例如:要查詢名字為Eric的記錄Query query=new Query();query.addCriteria(Criteria.where("name").is("Eric"));User users=mongoTemplate.fi
MongoDB增刪改查命令操作
1. 資料庫操作l 顯示所有資料庫showdbs顯示所有資料庫(預設有3個:admin、local、test)。admin和local會顯示出來,test沒有資料所以不顯示。l 開啟/建立資料庫use 資料庫名例如:use tb_user自動建立一個tb_user資料庫,