實現Spring連接數據庫

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

發佈了19 篇原創文章 · 獲贊 24 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章