package com.util.db;
import java.sql.Connection;
import java.sql.DriverManager;
//import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import com.util.db.DbInfo;
public class PosDB {
/**
* @param args
*
*/
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
// private PreparedStatement pstmt = null;
public static Connection getCon(){
Connection conn = null;
try {
Class.forName(DB_Info.getDbDriver());
conn=DriverManager.getConnection(DB_Info.getDbUrl(),DB_Info.getDbName(),DB_Info.getDbPassword());
} catch (Exception ex) {
// TODO 自动生成 catch 块
ex.printStackTrace();
System.out.println("数据库连接错误!");
}
return conn;
}
public Statement getStmtread() {
try {
conn = getCon();
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
}
catch (Exception e) {
System.out.println("getStmtread");
System.out.println(e.getMessage());
}
return stmt;
}
/**
*
*
* getStmt()方法得到SQL 执行类
*
* */
public Statement getStmt() {
try {
conn = getCon();
stmt = conn.createStatement();
}
catch (Exception e) {
System.out.println("getStmt");
System.out.println(e.getMessage());
}
return stmt;
}
public void excute(String SQL) {
//int k=0;
try {
conn = getCon();
stmt = this.getStmtread();
stmt.execute(SQL);
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
public boolean getUpdate(String SQL) {
int k = 0;
try {
//conn=getCon();
stmt = this.getStmtread();
k = stmt.executeUpdate(SQL);
}
catch (Exception e) {
System.out.println(e.getMessage());
}
if (k > 0) {
return true;
}
else {
return false;
}
}
/**
* getRes()方法用来得到查询结果
*
* */
public ResultSet getRs(String SQL) {
try {
conn=getCon();
stmt = this.getStmtread();
rs = stmt.executeQuery(SQL);
}
catch (Exception e) {
System.out.println(e.getMessage());
}
return rs;
}
public void close() {
try {
if (rs != null) {
rs.close();
}
}
catch (Exception e) {
}
try {
if (stmt != null) {
rs.close();
}
}
catch (Exception e) {
}
try {
if (conn != null) {
conn.close();
}
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void main(String[] args) {
//ReaderDbInfoXML configReader = new ReaderDbInfoXML("E://workspace2//LongBank_POS//src//com//util//db//dbInfoXML.xml");
System.out.println(DbInfo.getDbUrl());
System.out.println(DbInfo.getDbDriver());
// TODO 自动生成方法存根
PosDB db=new PosDB();
try{
ResultSet rs1=db.getRs("select * from login");
while(rs1.next()){
System.out.println(rs1.getInt("id"));
System.out.println(rs1.getString("name"));
System.out.println(rs1.getString("password"));
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}
public class ReaderDbInfoXML {
public ReaderDbInfoXML(String xmlname){
try{
parseDbXML(xmlname);
}catch(Exception ex){
ex.printStackTrace();
}
}
public void parseDbXML(String xmlurl) throws IOException{
try{
SAXBuilder builder = new SAXBuilder(false);
Document doc = builder.build(xmlurl);
org.jdom.Element root = doc.getRootElement();
DB_Info.setDbUrl(root.getChild("database").getChild("url").
getTextTrim()+"?useUnicode=true&characterEncoding=GBK");
DB_Info.setDbDriver(root.getChild("database").getChild(
"jdbcdriver").getTextTrim());
DB_Info.setDbName(root.getChild("database").getChild(
"dbusername").getTextTrim());
DB_Info.setDbPassword(root.getChild("database").getChild(
"dbpassword").getTextTrim());
DB_Info.setXmlurl(root.getChild("xmlfile").getChild(
"xmlurl").getTextTrim());
DB_Info.setMaxconnection(Integer.parseInt(root.getChild("database").getChild(
"maxconnection").getTextTrim()));
DB_Info.setLogfile(root.getChild("database").getChild("logfile").getTextTrim());
System.out.println("xmlurl="+root.getChild("xmlfile").getChild(
"xmlurl").getTextTrim());
DB_Info.setDbUrlToServer(root.getChild("toserverdb").getChild("url").
getTextTrim()+"?useUnicode=true&characterEncoding=GBK");
DB_Info.setDbDriverToServer(root.getChild("toserverdb").getChild(
"jdbcdriver").getTextTrim());
DB_Info.setDbNameToServer(root.getChild("toserverdb").getChild(
"dbusername").getTextTrim());
DB_Info.setDbPasswordToServer(root.getChild("toserverdb").getChild(
"dbpassword").getTextTrim());
}catch(JDOMException jdome){
}
}
public static void main(String[] args)
{
new ReaderDbInfoXML("src/com/util/db/dbInfoXML.xml");
}
}
dbInfoXML.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<database>
<url>jdbc:mysql://192.168.10.63:3306/longbankpos</url>
<jdbcdriver>org.gjt.mm.mysql.Driver</jdbcdriver>
<dbusername>longbank</dbusername>
<dbpassword>longbankpos</dbpassword>
<maxconnection>500</maxconnection>
<logfile>D:/posLog.txt</logfile>
</database>
<toserverdb>
<url>jdbc:mysql://192.168.10.254:3306/longbankpos</url>
<jdbcdriver>org.gjt.mm.mysql.Driver</jdbcdriver>
<dbusername>longbank</dbusername>
<dbpassword>longbankpos</dbpassword>
<maxconnection>500</maxconnection>
</toserverdb>
<xmlfile>
<xmlurl>src/com/main/util/config.xml</xmlurl>
</xmlfile>
</configuration>