实现Spring连接数据库

来源:互联网 发布:listview的5大优化方法 编辑:程序博客网 时间:2024/05/16 17:16

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完成!");
 
}
}

原创粉丝点击