我是靠谱客的博主 烂漫黄豆,最近开发中收集的这篇文章主要介绍spring中的mysql数据库_spring中连接mysql数据库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天做了一个spring小项目,第一次使用spring连接mysql数据库,按照实例步骤,一步一步的做;

1。首先创建一个mysql数据库myspringtest;

2。在Eclipse中创建了SpringDBTest项目

2.1   在Eclipse“窗口首选项java构建路径用户库”中建立用户库"spring",选择spring开发包spring-framework-1.2中的dist目录下的所有jar文件,完成后在项目中"配置构建路径\库\添加库用户库spring"

2.2   建立spring配置文件myspring.xml

配置数据源

ttp://www.springframework.org/dtd/spring-beans.dtd">http://www.springframework.org/dtd/spring-beans.dtd">

class="org.springframework.jdbc.core.JdbcTemplate">

class="org.apache.commons.dbcp.BasicDataSource"

destroy-method="close">

org.gjt.mm.mysql.Driver

jdbc:mysql://localhost:3306/mytest

root

root

2.3 新建一个SqlStatement类存放操作数据库的语句,包括新建表格,插入数据,查询

package test;

public class SqlStatement {

final public static String createSql = "create table mytable (id int,cname varchar(50))";

final public static String insertData1 = "insert into mytable values (1,'name1')";

final public static String insertData2 = "insert into mytable values (2,'test2')";

final public static String insertData3 = "insert into mytable values (3,'test3')";

final public static String selectSql = "select * from mytable";

}

2.4 新建类SpringtoReseltSetInfo类,对应查询所得到的数据记录

package test;

public class SpringtoResultSetInfo {

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;

}

}

2.5 建立测试类Test,连接,查询,输出数据package 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.jdbc.core.JdbcTemplate;

import org.springframework.jdbc.core.RowCallbackHandler;

import org.springframework.jdbc.core.RowCountCallbackHandler;

public class test {

public static void main(String[] args) {

ClassPathResource resource = new ClassPathResource("myspring.xml");

BeanFactory factory = new XmlBeanFactory(resource);

JdbcTemplate jt = (JdbcTemplate) factory.getBean("dbtest");

//创建数据库

//jt.execute(SqlStatement.createSql);

//插入数据

jt.execute(SqlStatement.insertData1);

jt.execute(SqlStatement.insertData2);

jt.execute(SqlStatement.insertData3);

//获得数据表信息

RowCountCallbackHandler rcch = new RowCountCallbackHandler();

jt.query(SqlStatement.selectSql,rcch);

System.out.println("结果集中的列数量:"+rcch.getColumnCount());

System.out.println("结果集中的行数量:"+rcch.getRowCount());

System.out.println("结果集中的结果:");

//取得列名

String[] str = rcch.getColumnNames();

for(int i = 0;i < str.length; i++)

{

System.out.println(str[i] + " ");

}

//获取数据表中的数据

final ArrayList list = new ArrayList();

jt.query(SqlStatement.selectSql, new RowCallbackHandler(){

public void processRow(ResultSet rs) throws SQLException {

SpringtoResultSetInfo sri = new SpringtoResultSetInfo();

sri.setId(rs.getInt(1));

sri.setTemplatename(rs.getString(2));

list.add(sri);

}

}

);

for(int i = 0; i < list.size(); i ++){

SpringtoResultSetInfo sri = (SpringtoResultSetInfo) list.get(i);

System.out.print("n" + "" + sri.getId());

System.out.print("n" + "" + sri.getTemplatename());

}

System.out.print("n完成");

}

}

注:在连接mysql数据库的过程中,一定要导入mysql的驱动程序:mysql-connector-java-3.1.14-bin.jar.

此时,运行程序test.java,出现如下异常:

提示信息:2009-9-14 20:49:58 org.springframework.core.CollectionFactory 信息: JDK 1.4+ collections available

2009-9-14 20:49:58 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

信息: Loading XML bean definitions from class path resource [myspring.xml]

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Line 14 in XML document from class path resource [myspring.xml] is invalid; nested exception is org.xml.sax.SAXParseException: Attribute "destory-method" must be declared for element type "bean".

org.xml.sax.SAXParseException: Attribute "destory-method" must be declared for element type "bean".

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172)

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(XMLDTDValidator.java:1306)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1971)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:795)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:878)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)

at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:250)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)

at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:222)

at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:173)

at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)

at org.springframework.beans.factory.xml.XmlBeanFactory.(XmlBeanFactory.java:73)

at org.springframework.beans.factory.xml.XmlBeanFactory.(XmlBeanFactory.java:61)

at test.Test.main(Test.java:17)在网上搜索了很久,才找到如下的解决方法:

连接时一定要导入spring-framework-1.2spring-framework-1.2.7libjakarta-commons下的四个包,commons-collections,commons-dbcp,commons-pool,commons-logging.他们对于连接过程很重要,在开发过程中,在这里卡了很长时间,因为我在spring核心包内并不包括这几个jar文件.

到此,运行成功了O(∩_∩)O~

3.完成后的项目输出如下:

2009-9-14 22:40:18 org.springframework.core.CollectionFactory 信息: JDK 1.4+ collections available

2009-9-14 22:40:19 org.springframework.core.CollectionFactory 信息: Commons Collections 3.x available

2009-9-14 22:40:19 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

信息: Loading XML bean definitions from class path resource [myspring.xml]

结果集中的列数量:2

结果集中的行数量:6

结果集中的结果:

id

cname

1

name1

2

test2

3

test3

1

name1

2

test2

3

test3

完成

最后

以上就是烂漫黄豆为你收集整理的spring中的mysql数据库_spring中连接mysql数据库的全部内容,希望文章能够帮你解决spring中的mysql数据库_spring中连接mysql数据库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部