JDBC/XML

一、知識點題目:JDBC核心API的使用

 

關鍵字:JDBC核心API

 

內容:

 

1)加載JDBC驅動:

Oracle:Class.forName(“oracle.jdbc.driver.OracleDriver”);

MYSQL:Class.forName(“com.mysql.jdbc.Driver”);

2)通過DriverManage獲取連接:

Connection conn=

DriverManage.getConnection(String url,String username,String pwd);

其中url:

Oracle=jdbc:oracle:thin:@hostIP:port:databaseName

MYSQL=jdbc:mysql://hostIP:port/databaseName

 

3)通過Connection創建Statement對象

   非預編譯:

Statement stat=conn.createStatement();

   預編譯:

String sql=”select *  from table where id=?”;

    PreparedStatement stat=conn.PreparedStatement(sql);

 

4)執行SQL語句,獲得結果

stat.setXxx(1,value);

stat.executeUpdate();

stat.execute();

ResultSet rs=stat.executeQurey();

5)獲取結果集中的值

rs.next():判斷集合裏下一個是否有值

rs.getXxx(字段名)rs.getInt(1)結果集每項第一列的值

6)關閉打開的對象

if(rs!=null){

rs.colse();

}

if(stat!=null){

stat.colse();

}

if(conn!=null){

conn.colse();

}

 

 

二、知識點題目:DBUtil工具類的編寫

 

關鍵字:DBUtil

 

內容:以mysql實現爲例:

方法:private static Connection getMConn()//用於獲取連接對象的方法

先編寫mysql.properties配置文件,用於配置連接所需的字段信息

內容以鍵值對的形式(key=value):

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/futao

jdbc.username=futao

jdbc.password=1234

 

創建對象來加載配置文件

Properties prop=new Properties();

prop.load(DBUtil.class.getClassLoader().getResourceAsStream("util/mysql.properties"));

 

根據Properties對象的getProperty(key)方法來獲取相應的字段名

 

按照知識點一的方法獲取連接對象並返回該對象

 

方法:public static Connection getMConnection()//以事務的方法返回連接對象,並且該對象始終只被一個線程所使用

1.ThreadLocal<Connection> connections=new ThreadLocal<Connection>();

用於存放當前線程所使用的連接對象

2. conn=getMConn();

connections.set(conn);

獲取連接並把連接放入ThreadLocal用於當前線程使用

3.返回連接對象

 

方法:public static void closeConnection()//用戶關閉當前線程所使用的連接對象

1.關閉conn連接

2.將ThreadLocal集合裏設爲null

 

方法:public static void beginTransaction()//用於啓動事務

1.獲取當前線程的連接

2.conn.setAutoCommit(false);關閉事務的自動提交

 

方法:public static void commitTransaction()//用於事務的提交

1.獲取當前線程的連接

2.conn.commit();提交事務

3.關閉連接

方法:public static void rollbackTransaction()//用於回滾事務

1.獲取當前線程連接

2.conn.rollback();回滾事務

3.關閉連接

 

 

三、知識點題目:用於返回類的實例的工廠方法

 

關鍵字:Factory 工廠方法

 

內容:

1.編寫配置文件,將需要返回的對象的類與字段對應起來,以鍵值對的形式(key=value)

:factory.preperties文件中寫入

   IAccountDAO=implement.AccountDAOImpl

   IStockDAO=implement.StockDAOImpl

2.通過Properties對象加載配置文件

3.方法:public static Object getInstance(String type)//根據type指定的字段在配置文件中匹配並返回相應類的對象

1)獲取type對應的value

2)通過反射Class c=Class.forName(value);獲取指定類的類對象

4.通過類對象的newInstance()方法創建一個該類的實例

5.將該實例返回

 

 

 

四、知識點題目:編寫DAO的思路

 

關鍵字:DAO

 

內容:

1)根據業務編寫實體類entity與數據庫中的表一一對應

2)編寫接口,定義一些操作數據庫的方法

3)編寫操作數據庫的類實現接口,訪問數據庫,對數據庫進行相關的操作

4)編寫業務類,通過調用一系列操作數據的類的方法來實現具體的業務

小結:以上具體表現了在開發中將數據層、業務層等進行分離的開發方法.提高代碼的可維護性,減少耦合,是MVC模式的基礎

 

五、知識點題目:DOM4J核心API的使用

 

關鍵字:DOM4J XML

 

內容:

1)向XML中寫內容:Point類爲例

1.在內存中創造一棵樹

Document doc=DocumentHelper.createDocument();

2.爲樹添加一個根節點

Element root=doc.addElement("point");

3.在根節點下,爲樹添加子節點

Element xElement=root.addElement("x");

Element yElement=root.addElement("y");

4.爲子節點賦值

xElement.setText(point.getX());

yElement.setText(point.getY());

5.創建字節文件輸出流

OutputStream ops=new FileOutputStream("d:/fu/point.xml");

6.可以設置XML寫內容時的對齊排版格式

OutputFormat format=OutputFormat.createPrettyPrint();

爲帶換行的標準格式

7.將內存中樹的數據輸出到流指定的文件

XMLWriter writer=new XMLWriter(ops);

writer.write(doc);

8.關閉輸出流

:除了在根節點下添加葉子節點外還可以:

A.添加屬性root.addAttribute("type", cus.getType());

B.添加CDATA:root.addCDATA(xxx);

等內容.

 

2)XML文件中讀內容

1.創建字節文件輸入流

InputStream ips=new FileInputStream("d:/fu/point.xml");

2.創建讀取XML的類

SAXReader reader=new SAXReader();

Document doc=reader.read(ips);

3.獲取根節點

Element root=doc.getRootElement();

4.獲取屬性的值

String type=root.attributeValue("type");

5.獲取子節點的值

String x=root.elementText("x");

String y=root.elementText(“y");

6.關閉輸入流

發佈了13 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章