spring jdbc模板 数据库访问例子
来源:互联网 发布:咨询数据分析 编辑:程序博客网 时间:2024/05/22 12:11
import java.io.*;
import java.sql.*;
import javax.sql.DataSource;
import java.util.*;
import junit.framework.*;
import org.apache.commons.logging.*;
import org.springframework.jdbc.core.*;
import org.springframework.jdbc.datasource.*;
public class TestSpringDAO extends TestCase {
private static Log logger = LogFactory.getLog(TestSpringDAO.class);
private static DataSource datasource = null;
public TestSpringDAO() throws Exception {
logger.info("新建 "+this.getClass().getName());
try {
datasource = this.getDataSource();
JdbcTemplate template = new JdbcTemplate(datasource);
}catch(Exception e) {
e.printStackTrace();
}
}
public void setUp() {
logger.info("--------------------------------");
}
public void tearDown() {
// logger.info("--------------------------------");
}
/*private DataSource getDataSourceFromXML() throws Exception {
InputStream is = new FileInputStream("beans.xml");
XmlBeanFactory factory = new XmlBeanFactory(is);
// XmlBeanFactory factory = new XmlBeanFactory(new InputStreamResource(is));
DataSource ds = (DataSource) factory.getBean("dataSource");
return ds;
}*/
private DataSource getDataSource() throws Exception {
// BasicDataSource ds = new org.apache.commons.dbcp.BasicDataSource();
DriverManagerDataSource ds = new DriverManagerDataSource();
ds.setDriverClassName("org.gjt.mm.mysql.Driver");
ds.setUrl("jdbc:mysql://localhost/test");
ds.setUsername("root");
ds.setPassword("123456");
return ds;
}
public void _testJdbc() {
DataSource ds = null;
Connection conn = null;
Statement stmt = null;
try {
conn = datasource.getConnection();
stmt = conn.createStatement();
stmt.executeUpdate("UPDATE user SET username = 'testJdbc' WHERE id = 4");
}catch(Exception e) {
e.printStackTrace();
logger.warn("_testJdbc()"+e);
}finally {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException ex) {
logger.warn("Exception in closing JDBC Statement", ex);
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException ex) {
logger.warn("Exception in closing JDBC Connection", ex);
}
}
}
}
public void _testUpdate() {
try {
JdbcTemplate jdbcTemplate = new JdbcTemplate(datasource);
jdbcTemplate.update("UPDATE user SET username = 'testUpdate' WHERE id = 4");
logger.info("testSpringDAO()...ok");
}catch(Exception e) {
e.printStackTrace();
logger.warn("testUpdate()"+e);
}
}
public void _testUpdate2() {
try {
JdbcTemplate jdbcTemplate = new JdbcTemplate(datasource);
jdbcTemplate.update(
"UPDATE user SET password = ? WHERE id = ?",
new PreparedStatementSetter() {
public void setValues(PreparedStatement ps) throws SQLException {
ps.setString(1, "testUpdate2");
ps.setInt(2, 4);
}
}
);
logger.info("testUpdate2()...ok");
}catch(Exception e) {
e.printStackTrace();
logger.warn("testUpdate2()"+e);
}
}
public void _testInsert() {
try {
JdbcTemplate jdbcTemplate = new JdbcTemplate(datasource);
jdbcTemplate.update("INSERT INTO user (id, username, password) VALUES ('', 'testInsert', 'testInsert')");
logger.info("testInsert()...ok");
}catch(Exception e) {
e.printStackTrace();
logger.warn("testInsert()"+e);
}
}
public void _testQuery() {
class User {
int id;
String username;
String password;
void setId(String ids) { id = Integer.parseInt(ids); }
void setUsername(String user) { username = user; }
void setPassword(String pass) { password = pass; }
public String toString() {
return "Id."+id+" "+username+":"+password;
}
}
final List userList = new ArrayList();
try {
JdbcTemplate jdbcTemplate = new JdbcTemplate(datasource);
jdbcTemplate.query(
"SELECT id, username, password FROM user WHERE id>0",
new RowCallbackHandler() {
public void processRow(ResultSet rs) throws SQLException {
User user = new User();
user.setId(rs.getString("id"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
userList.add(user);
}
}
);
//打印输出
for(Iterator i=userList.iterator()
; i.hasNext(); ) {
User user = (User)i.next();
System.out.println(user.toString());
}
logger.info("testQuery()...ok");
}catch(Exception e) {
e.printStackTrace();
logger.warn("testInsert()"+e);
}
}
public void testQueryCount() {
try {
JdbcTemplate jdbcTemplate = new JdbcTemplate(datasource);
int count = jdbcTemplate.queryForInt("select count(*) from user");
logger.info("testQueryCount()..."+count);
}catch(Exception e) {
e.printStackTrace();
logger.warn("testQueryCount()"+e);
}
}
public void testQueryString() {
try {
JdbcTemplate jdbcTemplate = new JdbcTemplate(datasource);
String name = (String)jdbcTemplate.queryForObject("select username from user where id=1", java.lang.String.class);
logger.info("testQueryString()..."+name);
}catch(Exception e) {
e.printStackTrace();
logger.warn("testQueryString()"+e);
}
}
public void testQueryList() {
try {
JdbcTemplate jdbcTemplate = new JdbcTemplate(datasource);
List rows = jdbcTemplate.queryForList("select * from user");
logger.info("testQueryList()..."+rows);
}catch(Exception e) {
e.printStackTrace();
logger.warn("testQueryList()"+e);
}
}
public void _testDelete() {
try {
JdbcTemplate jdbcTemplate = new JdbcTemplate(datasource);
jdbcTemplate.update("DELETE FROM user WHERE username='testInsert'");
logger.info("testDelete()...ok");
}catch(Exception e) {
e.printStackTrace();
logger.warn("testInsert()"+e);
}
}
public static void main(String[] args) {
com.bs.mpsp.common.MyTestRunner.run(TestSpringDAO.class);
// junit.textui.TestRunner.run(TestSpringDAO.class);
}
}
- spring jdbc模板 数据库访问例子
- JDBC数据库访问例子
- Spring JDBC-使用Spring JDBC访问数据库
- 使用spring-jdbc访问数据库
- 小曹学spring--使用Spring JDBC访问数据库
- Spring DAO(2):Spring JDBC 访问数据库
- Spring 使用JDBC对数据库进行访问
- spring用jdbc访问oracle数据库方法
- 11.1 使用Spring JDBC访问数据库
- Spring JDBC主从数据库访问配置
- spring(数据库)jdbc配置、spring与jdbc编程的结合和jdbc模板方式的使用
- Spring JDBC例子
- Spring JDBC 例子
- Spring中的数据库操作 使用JDBC模板 :经典
- spring-jdbc模板连接数据库(增删改查)
- JDBC-ODBC访问数据库,JDBC访问数据库
- spring-JDBC模板操作
- spring jdbc模板
- 统一测试术语翻译迫在眉睫
- Spring JDBC DAO的两个example
- SQLServer2000的"以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机"错误
- eclipse还有数据挖掘插件
- ActionScript按钮事件
- spring jdbc模板 数据库访问例子
- 技术--oracle维护手册
- 向朋友们请教一个关于USB接口编程的问题
- 持久层与ORMaping
- pb通过icmp.dll实现ping功能
- .NET 2.0中SerialPort类数据接收问题
- java处理oracle的long数据类型
- Velocity用户手册---中文版
- 极限编程的简单思想(转)