All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nutz.dao.impl.SimpleDataSource Maven / Gradle / Ivy

Go to download

Nutz, which is a collections of lightweight frameworks, each of them can be used independently

There is a newer version: 1.r.72
Show newest version
package org.nutz.dao.impl;

import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Logger;

import javax.sql.DataSource;

import org.nutz.lang.Lang;
import org.nutz.log.Log;
import org.nutz.log.Logs;

/**
 * 这是一个神奇的DataSource!!你甚至不需要设置driverClassName!!
 * 

把用户名,密码,jdbcURL设置一下,这个类就能用了!! *

当然,你在你的 CLASSPATH 下要放置相应的数据库驱动 jar 包 * * @author wendal([email protected]) */ public class SimpleDataSource implements DataSource { private static final Log log = Logs.get(); protected String username; protected String password; protected String driverClassName; protected String jdbcUrl; public SimpleDataSource() { log.warn("SimpleDataSource is NOT a Connection Pool, So it is slow but safe for debug/study"); } /** * 这是唯一会被NutDao调用的方法 */ public Connection getConnection() throws SQLException { Connection conn; if (username != null) conn = DriverManager.getConnection(jdbcUrl, username, password); else conn = DriverManager.getConnection(jdbcUrl); return conn; } public void close() {} public void setDriverClassName(String driverClassName) throws ClassNotFoundException { Lang.loadClass(driverClassName); } public void setUsername(String username) { this.username = username; } public void setPassword(String password) { this.password = password; } public void setJdbcUrl(String jdbcUrl) { this.jdbcUrl = jdbcUrl; } //加载Nutz所支持的数据库的驱动!! static { String[] drivers = {"org.h2.Driver", "com.ibm.db2.jcc.DB2Driver", "org.hsqldb.jdbcDriver", "org.gjt.mm.mysql.Driver", "oracle.jdbc.OracleDriver", "org.postgresql.Driver", "net.sourceforge.jtds.jdbc.Driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver", "org.sqlite.JDBC"}; for (String driverClassName : drivers) { try { Lang.loadClass(driverClassName); } catch (Throwable e) {} } } //--------------------------------------------------------------- public PrintWriter getLogWriter() throws SQLException { throw Lang.noImplement(); } public void setLogWriter(PrintWriter out) throws SQLException { throw Lang.noImplement(); } public void setLoginTimeout(int seconds) throws SQLException {throw Lang.noImplement();} public int getLoginTimeout() throws SQLException { throw Lang.noImplement(); } public T unwrap(Class iface) throws SQLException { throw Lang.noImplement(); } public boolean isWrapperFor(Class iface) throws SQLException { throw Lang.noImplement(); } public Connection getConnection(String username, String password) throws SQLException { throw Lang.noImplement(); } public Logger getParentLogger() { throw Lang.noImplement(); } public static DataSource createDataSource(Properties props) { SimpleDataSource sds = new SimpleDataSource(); sds.setJdbcUrl(props.getProperty("url", props.getProperty("jdbcUrl"))); sds.setPassword(props.getProperty("password")); sds.setUsername(props.getProperty("username")); return sds; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy