从零开始搭建springMVC项目4——JDBC获取数据库数据

终于开始讲数据库连接了,首先声明我连接数据库用了祖传的JDBC数据库连接池,我就写一下这个工具类的实际使用。

连接池类这里下 http://download.csdn.net/detail/hys564219/9484916


搞数据库前首先要导入依赖,一个数据库连接依赖,顺便导入log显示用的jar

                <!-- log4j -->
		<dependency>  
		    <groupId>org.slf4j</groupId>  
		    <artifactId>slf4j-log4j12</artifactId>  
		    <version>1.7.2</version>  
		</dependency>  
		<!-- mysql -->
		<dependency>
		  <groupId>mysql</groupId>
		  <artifactId>mysql-connector-java</artifactId>
		  <version>5.1.6</version>
		</dependency></span>

建个utils包,里面放工具类或是共通方法,祖传工具类也放在这里


再在resources下面建立连接池配置文件


内容如下:

drivers=oracle.jdbc.driver.OracleDriver;com.mysql.jdbc.Driver
oracle.url=jdbc:oracle:thin:@127.0.0.1:1521:XE
oracle.user=root
oracle.password=123456
oracle.maxconn=100
mysql.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
mysql.user=root
mysql.password=123456
mysql.maxconn=20</span>
上半部分是oracle的,这次主要用的mysql在下半部分,反正oracle那一块留着不用也没问题,就留着吧。

url那里127.0.0.1自行改成相应地址(现在是本地),问号前面的“test”是指数据库名字,自行修改。

user用户名,password密码自行修改。maxconn是最大连接数,本地就设个20,实际使用看用户规模吧...

最后是根据第一个“.”左边的内容选择读取哪一块数据


打开HelloWorldDaoImpl,在原有的基础上改造一下返回从数据库取出来的数据。完整如下

package test.spring.DaoImpl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;

import test.spring.Dao.HelloWorldDao;
import test.spring.utils.DBConnectionManager;

@Repository
public class HelloWorldDaoImpl implements HelloWorldDao{
	
	private static final Logger logger = LoggerFactory.getLogger(HelloWorldDaoImpl.class);

	@Override
	public String getStrFromDao() {
		String ret = null;
		Connection con = DBConnectionManager.getInstance().getConnection("mysql");
		PreparedStatement stmt = null;
		ResultSet rs = null;
		try {
			String sql = "select *\n"
					+ "from " + "test_table" + " where ID = ?";
			stmt = con.prepareStatement(sql);
			stmt.setString(1, "3");
			rs = stmt.executeQuery();
			if (rs.next()) {
				ret = rs.getString("NAME");
			}
        } catch (SQLException ex) {
        	logger.error("", ex);
        } finally {
        	if(rs != null) {
        		try{ rs.close(); } catch(Exception e) {}
        	}
        	if(stmt != null) {
        		try{ stmt.close(); } catch(Exception e) {}
        	}
        	DBConnectionManager.getInstance().freeConnection("mysql", con);
        }
		return ret;
	}

}
</span>

记得导入包的时候logger相关的选择org.slf4j旗下的,sql相关的选择java.sql旗下的。


用DBConnectionManager轻松建立连接,之后的使用百度JDBC相关的也能查到。

我这里是从test_table选取ID=3的那一行取出了name

如果返回结果有多行,那就不用if (rs.next()) 而使用while (rs.next()),每个返回行会进一次循环。


差不多就这样了,多做多熟悉....

你可能感兴趣的:(eclipse,spring,tomcat,mvc,项目创建)