实现Spring连接数据库
2011-05-16 19:51
411 查看
1.创建数据库
mysql工具SQLyog创建mytest
2.创建项目 SpringDBTest
3.myspring.xml
<?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="dbtest" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" >
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://127.0.0.1/mytest</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>111111</value>
</property>
</bean>
</beans>
在src文件夹下创建myspring.xml
4.创建抽象类SQLStatement
package tm.statement;
public abstract class SqlStatement {
final public static String createSqlString="create table mytable(id int,cname varchar(50))";
final public static String insertData1String="insert into mytable values(1,'name1')";
final public static String insertData2String="insert into mytable values(2,'name2')";;
final public static String insertData3String="insert into mytable values(3,'name3')";;
final public static String selectSqlString="select * from mytable";
}
5.新建类SpringtoResultSetInfoBean
package tm.bean;
public class SpringtoResultSetInfoBean {
private int id;
private String templatename;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTemplatename() {
return templatename;
}
public void setTemplatename(String templatename) {
this.templatename = templatename;
}
}
6.新建测试类Test
package tm.test;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;
import org.springframework.jdbc.core.RowCountCallbackHandler;
import tm.bean.SpringtoResultSetInfoBean;
import tm.statement.SqlStatement;
public class SpringTest {
public static void main(String[] args) {
Resource resource=new ClassPathResource("myspring.xml");
BeanFactory factory=new XmlBeanFactory(resource);
JdbcTemplate jt=(JdbcTemplate)factory.getBean("dbtest");
//jt.execute(SqlStatement.createSqlString);
jt.execute(SqlStatement.insertData1String);
jt.execute(SqlStatement.insertData2String);
jt.execute(SqlStatement.insertData3String);
RowCountCallbackHandler rccHandler=new RowCountCallbackHandler();
jt.query(SqlStatement.selectSqlString, rccHandler);
System.out.println("结果集中的列数量"+rccHandler.getColumnCount());
System.out.println("结果集中的行的数量"+rccHandler.getRowCount());
System.out.println("结果集中的结果");
String[] strings=rccHandler.getColumnNames();
for(int i=0;i<strings.length;i++)
{
System.out.print(strings[i]+" ");
}
final ArrayList list=new ArrayList();
jt.query(SqlStatement.selectSqlString, new RowCallbackHandler(){
public void processRow(ResultSet resultSet) throws SQLException {
SpringtoResultSetInfoBean sBean=new SpringtoResultSetInfoBean();
sBean.setId(resultSet.getInt(1));
sBean.setTemplatename(resultSet.getString(2));
list.add(sBean);
}
}
);
for (int i = 0; i < list.size(); i++) {
SpringtoResultSetInfoBean sBean=(SpringtoResultSetInfoBean)list.get(i);
System.out.println("/n"+" "+sBean.getId());
System.out.println(" "+sBean.getTemplatename());
}
System.out.println("/n完成!");
}
}
mysql工具SQLyog创建mytest
2.创建项目 SpringDBTest
3.myspring.xml
<?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="dbtest" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" >
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://127.0.0.1/mytest</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>111111</value>
</property>
</bean>
</beans>
在src文件夹下创建myspring.xml
4.创建抽象类SQLStatement
package tm.statement;
public abstract class SqlStatement {
final public static String createSqlString="create table mytable(id int,cname varchar(50))";
final public static String insertData1String="insert into mytable values(1,'name1')";
final public static String insertData2String="insert into mytable values(2,'name2')";;
final public static String insertData3String="insert into mytable values(3,'name3')";;
final public static String selectSqlString="select * from mytable";
}
5.新建类SpringtoResultSetInfoBean
package tm.bean;
public class SpringtoResultSetInfoBean {
private int id;
private String templatename;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTemplatename() {
return templatename;
}
public void setTemplatename(String templatename) {
this.templatename = templatename;
}
}
6.新建测试类Test
package tm.test;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;
import org.springframework.jdbc.core.RowCountCallbackHandler;
import tm.bean.SpringtoResultSetInfoBean;
import tm.statement.SqlStatement;
public class SpringTest {
public static void main(String[] args) {
Resource resource=new ClassPathResource("myspring.xml");
BeanFactory factory=new XmlBeanFactory(resource);
JdbcTemplate jt=(JdbcTemplate)factory.getBean("dbtest");
//jt.execute(SqlStatement.createSqlString);
jt.execute(SqlStatement.insertData1String);
jt.execute(SqlStatement.insertData2String);
jt.execute(SqlStatement.insertData3String);
RowCountCallbackHandler rccHandler=new RowCountCallbackHandler();
jt.query(SqlStatement.selectSqlString, rccHandler);
System.out.println("结果集中的列数量"+rccHandler.getColumnCount());
System.out.println("结果集中的行的数量"+rccHandler.getRowCount());
System.out.println("结果集中的结果");
String[] strings=rccHandler.getColumnNames();
for(int i=0;i<strings.length;i++)
{
System.out.print(strings[i]+" ");
}
final ArrayList list=new ArrayList();
jt.query(SqlStatement.selectSqlString, new RowCallbackHandler(){
public void processRow(ResultSet resultSet) throws SQLException {
SpringtoResultSetInfoBean sBean=new SpringtoResultSetInfoBean();
sBean.setId(resultSet.getInt(1));
sBean.setTemplatename(resultSet.getString(2));
list.add(sBean);
}
}
);
for (int i = 0; i < list.size(); i++) {
SpringtoResultSetInfoBean sBean=(SpringtoResultSetInfoBean)list.get(i);
System.out.println("/n"+" "+sBean.getId());
System.out.println(" "+sBean.getTemplatename());
}
System.out.println("/n完成!");
}
}
相关文章推荐
- Spring 使用JdbcTemPlate的方式实现与数据库的连接
- Spring 数据库连接(Connection)绑定线程(Thread)的实现
- Spring实现加密数据库连接
- SpringBootl连接数据库MyBatis方式实现
- hibernate+spring 连接多个数据库,动态切换(多帐套)的实现
- Spring与JDBC连接实现对数据库的增删改查
- Spring boot + maven + hibernate 实现数据库连接、查询
- Spring连接数据库的方式1:利用Spring实现bean属性setter方式注入
- Spring+SpringMVC+MyBatis实现数据库连接的登录功能
- IDE maven 创建spring boot 用hibernate 实现连接数据库
- 【Spring】基于c3p0连接池,实现数据库加解密连接MySQL数据库
- 实现spring+mybatis+uncode dal,应用自动切换连接数据库
- spring 集成hibernate 连接多数据库 java BaseDao 实现
- ConcurrentHashMap实现数据库连接的线程安全问题
- Tomcat数据源,Jsp/Java使用JDNI服务来实现数据库连接
- jsp实现数据库连接
- spring实现数据库读写分离
- python实现简易数据库之三——join多表连接和group by分组
- 深入理解Spring Redis的使用 (九)、通过Redis 实现 分布式锁 的 BUG,以及和数据库加锁的性能测试
- Zendframework连接两个或多个数据库的实现