Spring集成JDBC操作数据库实例教程
2007-08-22 12:01
615 查看
首先,我们需要安装mysql数据库,并下载相应的驱动包
库脚本如下:
CREATE TABLE `test` (
`testid` varchar(10) default NULL,
`testname` varchar(10) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
表中数据为:
1 name1
2 name2
3 name3
4 name4
5 name5
DAO接口
package ch8.jdbcTemplage;
import java.util.List;
public interface ITestDAO ...{
public List getAll();
}
对应数据表的JavaBean
package ch8.jdbcTemplage;
public class User ...{
private String name;
private String id;
public User(String name, String id) ...{
this.name = name;
this.id = id;
}
public String getId() ...{
return id;
}
public void setId(String id) ...{
this.id = id;
}
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = name;
}
public String toString() ...{
return this.id+"--"+this.name;
}
}
DAO实现
package ch8.jdbcTemplage;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.PreparedStatementCallback;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
public class TestDAOImpl extends JdbcDaoSupport implements ITestDAO ...{
public List getAll() ...{
return (List)this.getJdbcTemplate().execute(
new PreparedStatementCreator()...{
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException...{
return connection.prepareStatement("select * from test");
}
},new PreparedStatementCallback()...{
public Object doInPreparedStatement(PreparedStatement ps) throws SQLException,DataAccessException...{
List result=new ArrayList();
ResultSet rs=ps.executeQuery();
User t=null;
while(rs.next())...{
t=new User(rs.getString("testid"),rs.getString("testname"));
result.add(t);
}
return result;
}
}
);
}
}
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>1234</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/spring</value>
</property>
</bean>
<bean id="testDAO" class="ch8.jdbcTemplage.TestDAOImpl">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
</beans>
测试代码:
package ch8.jdbcTemplage;
import java.util.Iterator;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test ...{
/** *//**
* @param args
*/
public static void main(String[] args) ...{
ApplicationContext context=new ClassPathXmlApplicationContext("ch8/jdbcTemplage/applicationContext.xml");
TestDAOImpl testDAOImpl=(TestDAOImpl)context.getBean("testDAO");
List result=testDAOImpl.getAll();
for (Iterator iter = result.iterator(); iter.hasNext();) ...{
User element = (User) iter.next();
System.out.println(element);
}
}
}
库脚本如下:
CREATE TABLE `test` (
`testid` varchar(10) default NULL,
`testname` varchar(10) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
表中数据为:
1 name1
2 name2
3 name3
4 name4
5 name5
DAO接口
package ch8.jdbcTemplage;
import java.util.List;
public interface ITestDAO ...{
public List getAll();
}
对应数据表的JavaBean
package ch8.jdbcTemplage;
public class User ...{
private String name;
private String id;
public User(String name, String id) ...{
this.name = name;
this.id = id;
}
public String getId() ...{
return id;
}
public void setId(String id) ...{
this.id = id;
}
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = name;
}
public String toString() ...{
return this.id+"--"+this.name;
}
}
DAO实现
package ch8.jdbcTemplage;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.PreparedStatementCallback;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
public class TestDAOImpl extends JdbcDaoSupport implements ITestDAO ...{
public List getAll() ...{
return (List)this.getJdbcTemplate().execute(
new PreparedStatementCreator()...{
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException...{
return connection.prepareStatement("select * from test");
}
},new PreparedStatementCallback()...{
public Object doInPreparedStatement(PreparedStatement ps) throws SQLException,DataAccessException...{
List result=new ArrayList();
ResultSet rs=ps.executeQuery();
User t=null;
while(rs.next())...{
t=new User(rs.getString("testid"),rs.getString("testname"));
result.add(t);
}
return result;
}
}
);
}
}
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>1234</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/spring</value>
</property>
</bean>
<bean id="testDAO" class="ch8.jdbcTemplage.TestDAOImpl">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
</beans>
测试代码:
package ch8.jdbcTemplage;
import java.util.Iterator;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test ...{
/** *//**
* @param args
*/
public static void main(String[] args) ...{
ApplicationContext context=new ClassPathXmlApplicationContext("ch8/jdbcTemplage/applicationContext.xml");
TestDAOImpl testDAOImpl=(TestDAOImpl)context.getBean("testDAO");
List result=testDAOImpl.getAll();
for (Iterator iter = result.iterator(); iter.hasNext();) ...{
User element = (User) iter.next();
System.out.println(element);
}
}
}
相关文章推荐
- Visual C# 动态操作 SQL Server 数据库实例教程:通用数据访问类(SqlHelper)
- vb.net 教程 8-15 数据库操作实例1
- iOS基础教程-SQLite数据库操作(二简单实例学生信息增删改查数据库操作)
- Pylons 入门实例教程 – 数据库操作
- PHP网站开发实例教程之知识点归纳2(操作数据库)
- PHP的Yii框架中使用数据库的配置和SQL操作实例教程
- Laravel 数据库实例教程 —— 使用DB门面操作数据库
- PHP的Yii框架中使用数据库的配置和SQL操作实例教程
- Mysql命令行备份与还原数据库操作实例
- java操作mongo数据库的实例
- C#操作VFP的dbf数据库文件实例
- Python操作Mysql实例教程手册
- Python入门学习教程:数据库操作,连接MySql数据库
- vb.net 教程 8-3 数据库操作9-1
- Zend Framework入门教程之Zend_Db数据库操作详解
- Laravel入门教程(三)- 数据库操作 DB facade
- FLASH与ASP通信入门教程(四) ASP操作数据库入门
- MFC中ADO方式操作数据库实例
- jQuery操作cookie方法实例教程
- 老程序员学C# ------实例一 登陆系统的数据库操作