使用properties文件为jdbc的配置文件
1 将数据库里面的歌手查询出来,然后使用dom4j写入到D://singer.xml文件中,将歌手地区作为id节点的属性值
2 使用dom4j读取出来,使用log4j打印.
3 测试使用junit
//properties文件为jdbc的配置文件
/**
*
*/
package com.yidu.utils;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Logger;
/**
-
描述:jdbc工具类
-
@author zhouyuxian
-
@date 2019年8月23日 下午3:09:14
-
@version 1.0
*/
public class JDBCTools {static Logger log = Logger.getLogger(“JDBCTools.class”);
static String className = null;
static String url = null;
static String user = null;
static String password = null;static{
Properties pro = new Properties();
InputStream is = JDBCTools.class.getClassLoader().getResourceAsStream(“config/db.properties”);
try {
pro.load(is);
className = pro.getProperty(“className”);
url = pro.getProperty(“url”);
user = pro.getProperty(“user”);
password = pro.getProperty(“password”);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}/**
- 得到连接
- @return
- @throws ClassNotFoundException
- @throws SQLException
*/
public static Connection getCon() throws ClassNotFoundException, SQLException{
Class.forName(className);
Connection con = DriverManager.getConnection(url, user, password);
log.info(“连接成功”);
return con;
}
/**
-
关闭
-
@param con
-
@param pstm
-
@param rs
*/
public static void close(Connection con,PreparedStatement pstm,ResultSet rs){try {
if(rs!=null){
rs.close();
}
if(pstm!=null){
pstm.close();
}
if(con!=null){
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**-
关闭
-
@param con
-
@param pstm
*/
public static void close(Connection con,PreparedStatement pstm){try {
if(pstm!=null){
pstm.close();
}
if(con!=null){
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
getCon();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//
/**
*
*/
package com.yidu.xml;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
import java.util.List;
import java.util.logging.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.Test;
import com.yidu.dao.SingerDao;
import com.yidu.model.Singer;
/**
-
描述:
-
@author zhouyuxian
-
@date 2019年8月29日 下午5:30:14
-
@version 1.0
*/
public class WriteSingerXml {static Logger log = Logger.getLogger(“WriteSingerXml.class”);
@Test
public void WriteXml(){SingerDao singerDao = new SingerDao(); List<Singer> list = singerDao.selectAll(); Document doc = DocumentHelper.createDocument(); Element singerlist = doc.addElement("singerlist"); for(Singer singer:list){ Element singers = singerlist.addElement("singers"); Element singerID = singers.addElement("id"); singerID.setText(singer.getSgId()+""); singerID.addAttribute("area", "中国"); Element singerName = singers.addElement("name"); singerName.setText(singer.getSgName()); Element singerDate = singers.addElement("birthday"); singerDate.setText(singer.getSgDate()+""); } OutputFormat of = OutputFormat.createPrettyPrint(); Writer writer = null; XMLWriter xwriter = null; try { writer = new FileWriter("d:\\T279学习\\数据库\\完成作业\\singer.xml"); xwriter = new XMLWriter(writer,of); xwriter.write(doc); } catch (IOException e) { e.printStackTrace(); } finally { try { xwriter.close(); writer.close(); } catch (IOException e) { e.printStackTrace(); } }
}
@Test
public void ReadXml(){
SAXReader sax = new SAXReader();InputStream is = null; try { is = new FileInputStream("d:\\T279学习\\数据库\\完成作业\\singer.xml"); Document doc = sax.read(is); Element singerlist = doc.getRootElement(); List<Element> list = singerlist.elements("singers"); for(int i=0;i<list.size();i++){ Element ele = list.get(i); Element id = ele.element("id"); Element name = ele.element("name"); Element date = ele.element("birthday"); log.info(id.getText()+" "+id.attributeValue("area")+" "+name.getText()+" "+date.getText()); } } catch (DocumentException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } }
}
}
/**
*/
package com.yidu.xml;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
import java.util.List;
import java.util.logging.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.Test;
import com.yidu.dao.SingerDao;
import com.yidu.model.Singer;
/**
-
描述:
-
@author zhouyuxian
-
@date 2019年8月29日 下午5:30:14
-
@version 1.0
*/
public class WriteSingerXml {static Logger log = Logger.getLogger(“WriteSingerXml.class”);
@Test
public void WriteXml(){SingerDao singerDao = new SingerDao(); List<Singer> list = singerDao.selectAll(); Document doc = DocumentHelper.createDocument(); Element singerlist = doc.addElement("singerlist"); for(Singer singer:list){ Element singers = singerlist.addElement("singers"); Element singerID = singers.addElement("id"); singerID.setText(singer.getSgId()+""); singerID.addAttribute("area", "中国"); Element singerName = singers.addElement("name"); singerName.setText(singer.getSgName()); Element singerDate = singers.addElement("birthday"); singerDate.setText(singer.getSgDate()+""); } OutputFormat of = OutputFormat.createPrettyPrint(); Writer writer = null; XMLWriter xwriter = null; try { writer = new FileWriter("d:\\T279学习\\数据库\\完成作业\\singer.xml"); xwriter = new XMLWriter(writer,of); xwriter.write(doc); } catch (IOException e) { e.printStackTrace(); } finally { try { xwriter.close(); writer.close(); } catch (IOException e) { e.printStackTrace(); } }
}
@Test
public void ReadXml(){
SAXReader sax = new SAXReader();InputStream is = null; try { is = new FileInputStream("d:\\T279学习\\数据库\\完成作业\\singer.xml"); Document doc = sax.read(is); Element singerlist = doc.getRootElement(); List<Element> list = singerlist.elements("singers"); for(int i=0;i<list.size();i++){ Element ele = list.get(i); Element id = ele.element("id"); Element name = ele.element("name"); Element date = ele.element("birthday"); log.info(id.getText()+" "+id.attributeValue("area")+" "+name.getText()+" "+date.getText()); } } catch (DocumentException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } }
}
}