JAVA数据库的连接与操作

第一次去一家自己十分想去的公司面试,那时候面试官问了我一些关于JDBC的内容,我一下子无法答上来,然后从此就错过了那一家公司。毫无疑问,操作数据库对于一个软件和网站来说都是非常重要的,所以,为了更加系统地学习这方面的内容,趁着平时有空,对数据库方面的一些内容进行了练习。

  • 连接数据库的几种方法
    1、在平时使用的较多的也是比较常见的是原生的DriverManager的连接,示例如下:
public Connection getConn(){
        public String url = "jdbc:mysql://localhost:3306/test";
        public String user ="root";
        public String pwd = "root";
        Connection conn = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(url, user, pwd);
        }catch(Exception e){
            e.printStackTrace();
        }
        return conn;
    }

2、使用JNDI连接池
1)在服务器tomcat中的context.xml配置数据库的信息,配置内容如下:

"test" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="root" password="root" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/test"/>

2)在java代码中获取Connection对象

public Connection getJNDI(){
        public Connection conn = null;
        try{
            Context cxt = new InitialContext();
            DataSource ds = (DataSource)cxt.lookup("java:/comp/env/test");
            conn = ds.getConnection();
        }catch(Exception e){
            e.printStackTrace();
        }
        return conn;
    }

3、使用第三方的连接池c3p0
1)导入两个包:c3p0.jar和mchange-commons-java.jar下载地址
2)在src目录下,添加c3p0-config.xml配置内容,如下:


<c3p0-config>
  <named-config name="c3p0conn"> 
    <property name="user">rootproperty>
    <property name="password">rootproperty>
    <property name="driverClass">com.mysql.jdbc.Driverproperty>
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/testproperty>
    <property name="acquireIncrement">5property>
    <property name="initialPoolSize">10property>
    <property name="minPoolSize">10property>
    <property name="maxPoolSize">50property>
    <property name="maxStatements">20property> 
    <property name="maxStatementsPerConnection">5property>
  named-config>
c3p0-config>

3)在java中的代码如下:

public Connection getC3p0(){
        public Connection conn = null;
        ComboPooledDataSource dataSource= new ComboPooledDataSource("c3p0conn");
        try{
            conn = dataSource.getConnection();
        }catch(Exception e){
            e.printStackTrace();
        }
        return conn;
    }

你可能感兴趣的:(Java)