`
- 浏览:
150089 次
- 性别:
- 来自:
大连
-
使用spring操作数据库是非常简单的,无论是配置还是操作,最近工作要用到就问同事如何操作了,具体的细
节还要日后慢慢学习,先贴出如何使用.
1.建立数据源,也就是一个xml配置文件 resource/applicationContext.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">
<!-- 这里是用来配置连接数据库基础信息的,用JDBC链接 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>
jdbc:mysql://10.100.100.110:3306/HotelDB
</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>password</value>
</property>
</bean>
<!-- 这里根据spring的注入原理直接把参数放到ConnectionProvider -->
<!-- 到时候通过id就直接调用ConnectionProvider对象-->
<bean id="com.badpeas.ConnectionProvider"
class="hotel.information.peohotel.dbutil.ConnectionProvider">
<property name="dataSource">
<!-- ref元素用来将容器内其它bean的id传给<constructor-arg/> 或 <property/>元素 -->
<!-- 同时提供错误验证功能 -->
<ref bean="dataSource" />
</property>
</bean>
</beans>
==============================================
2.建立方法类 com/badpeas/dbutil/ConnectionProvider.java
==============================================
package com.badpeas.dbutil;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
/**
* 连接数据库和获取数据源的普通类
* @author badpeas
*
*/
public class ConnectionProvider {
private DataSource dataSource = null;
public DataSource getDataSource() {
return dataSource;
}
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
/*
* 这个方法用来连接数据库.
*/
public Connection getConnection() throws SQLException{
if (dataSource == null){
return null;
}
return dataSource.getConnection();
}
}
==============================================
3.建立工厂类去实现连接和获取数据源的工作 com/badpeas/dbutil/ConnectionFactory.java
==============================================
package com.badpeas.dbutil;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* 利用spring统一管理连接数据库和获取数据源
* @author badpeas
*
*/
public class ConnectionFactory {
// 访问xml,获取上下文context
private static ApplicationContext context;
private static final String CONFIG_FILE = "resource/applicationContext.xml";
static {
context = new ClassPathXmlApplicationContext(CONFIG_FILE);
}
// 通过在xml中指定的id获得bean对象,然后获取连接
public static Connection getConnection() throws BeansException,
SQLException {
return ((ConnectionProvider) context
.getBean("com.badpeas.ConnectionProvider")).getConnection();
}
// 通过在xml中指定的id获得bean对象,然后获取数据源
public static DataSource getDataSource() {
return ((ConnectionProvider) context
.getBean("com.badpeas.ConnectionProvider")).getDataSource();
}
}
==============================================
4.建立DAO类,统一管理数据库的操作方法 com/badpeas/DAO/BadpeasDataSourceDAO.java
==============================================
package com.badpeas.DAO;
import hotel.information.bean.Location;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
/**
* 操作数据库的类
* @author badpeas
*
*/
public class PeoHotelLoactionDAO {
private JdbcTemplate jt = null;
// 静态方法获取dataSource
private static DataSource dataSource = null;
static {
dataSource = hotel.information.peohotel.dbutil.ConnectionFactory
.getDataSource();
}
// 初始化的时候实例化JdbcTemplate,后面用来实现数据库序列化.
public PeoHotelLoactionDAO() {
this.jt = new JdbcTemplate(dataSource);
}
// 按bookCode查询
public Book findBook(String bookCode) {
String sql = "select bookId,bookName from BookDB where bookCode=?";
RowMapper mapper = new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
Book book = new Book();
book.setBookId(rs.getString("bookId"));
book.setBookName(rs.getString("bookName"));
return book;
}
};
List<Book> list = jt.query(sql, new Object[] { bookCode }, mapper);
Book bookResult = (Book)list.get(0);
return bookResult;
}
//查询所有Book
public List<Book> findBookList() {
String sql = "select bookId,bookName from BookDB ";
RowMapper mapper = new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
Book book = new Book();
book.setBookId(rs.getString("bookId"));
book.setBookName(rs.getString("bookName"));
return book;
}
};
List list = jt.query(sql, new Object[] {}, mapper);
return list;
}
}
==============================================
5.数据源对象 com/badpeas/bean/Book.java
==============================================
package com/badpeas/bean;
import java.io.Serializable;
/**
* 书籍bean
* @author badpeas
*
*/
public class Book implements Serializable{
private String bookId;
private String bookName;
public String getBookId() {
return bookId;
}
public void setBookId(String bookId) {
this.bookId = bookId;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
}
==============================================
这里我的数据库是采用mySQL,调用的是我的BookDB表,采用的是JDBC链接,其他数据库和方式基本类同!
操作数据库的时候直接在要操作的类里面调用DAO类的方法就可以了.
[color=red][/color]
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Spring 连接数据库是 Java 企业级应用程序中的一项重要技术,通过 Spring 框架,可以轻松地实现数据库的连接和操作。本文将详细讲解如何使用 Spring 连接数据库,包括创建数据库、配置 Spring、编写数据库操作代码等...
在这个"spring连接数据库实例"中,我们将深入探讨Spring如何帮助开发者便捷地管理和操作数据库。 首先,让我们来了解Spring中的`DataSource`。`DataSource`是Java中用于存储和管理数据库连接的接口,它位于JDBC API...
Spring Boot高级教程之Spring Boot连接MySql数据库 Spring Boot是一款基于Java的开源框架,旨在简化Spring应用程序的搭建和开发。随着互联网技术的发展,数据存储的重要性日益突出,各种数据库管理系统层出不穷,...
在Spring框架中,连接到不同的数据库是通过数据源(DataSource)和相关配置来实现的。在上述描述中,我们看到了如何在Spring的配置文件`applicationContext.xml`中配置连接到MySQL、Oracle和SQL Server的数据源。...
在Spring框架中,数据库连接池是实现高效数据库操作的关键组件,它允许应用程序重复使用已建立的数据库连接,而不是每次都创建新的连接,从而提高了性能和资源利用率。 在Java中,常见的数据库连接池工具有C3P0、...
这个"mysql连接数据库..jar架包"正是这样的一个驱动包,它包含了MySQL JDBC(Java Database Connectivity)驱动,使得Java程序能够通过标准的JDBC API与MySQL服务器进行通信。 JDBC是Java语言中用来规范客户端程序...
总的来说,Spring Boot与MySQL的集成简化了数据库操作,使得开发者可以专注于业务逻辑,而不是底层数据库连接和操作的细节。通过定义实体类、接口以及使用Spring Data JPA,我们可以轻松地实现CRUD操作,大大提高了...
Spring连数据库所需jar包,包括aopalliance-1.0.jar;aspectjweaver-1.6.8.jar;c3p0-0.9.5.4.jar com.springsource.net.sf.cglib-2.2.0.jar commons-logging-1.1.3.jar mysql-connector-java-5.1.8.jar spring-aop-...
在本文中,我们将深入探讨如何使用Spring Boot框架与MySQL数据库进行连接。Spring Boot以其便捷的配置和快速的应用开发而闻名,而MySQL则是一款广泛应用的关系型数据库管理系统。将两者结合,可以构建高效、稳定的...
在本项目"spring操作MySQL数据库.zip"中,主要展示了如何使用Spring框架与MySQL数据库进行集成,实现对数据库的增删查改操作。Spring是Java领域一个广泛应用的开源框架,它提供了一个全面的编程和配置模型,使得开发...
《Spring-Batch同步数据库MySQL源码解析》 在IT领域,数据同步是一项至关重要的任务,尤其是在分布式系统中,保持数据库的一致性是确保系统稳定运行的关键。Spring-Batch作为Spring框架的一部分,为批量处理和数据...
本文将详细探讨"Spring数据库连接等配置加密"这一主题。 首先,我们来看`dbconfig.properties`文件,这是Spring项目中常见的用于存储数据库连接配置的文件。通常,这个文件会包含如下内容: ``` # 数据库连接配置 ...
至此,我们已经完成了使用Struts和Spring连接MySQL数据库的基本配置。用户注册和登录的具体业务逻辑可以在Action类中实现,通过DAO类与数据库进行交互。这个项目中的5_4文件可能包含了具体的代码实现,如Action、DAO...
本篇将详细讲解如何配置Spring与MySQL数据库进行连接,以及如何利用SimpleJdbcTemplate进行数据操作。首先,我们需要理解Spring的JDBC支持,它提供了一种简单而强大的方式来处理数据库交互。 1. **Spring与MySQL的...
idea连接mysql数据库,基于 Spring Boot + MySQL 的博客系统,个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,人工智能、电子信息,软件工程等专业的大学生课程设计、期末大作业或毕业设计,作为...
集成了多个SpringBoot项目的SpringCloud项目,并且连接MySQL数据库成功的小Demo。需要进行系统开发可直接在这个基础上添加Controller和Service内容。下载前请先看项目的执行步骤及架构链接是否合适您使用:...
在本项目中,我们主要利用Spring框架,包括其核心模块Spring、MVC模块Spring MVC以及数据访问/集成模块Spring JDBC,结合MySQL数据库来构建一个基础的登录注册系统。以下是这个项目涉及的关键技术点: 1. **Spring...
JDBC 是 Java 的一种 API,用于连接数据库。在 Spring Boot 中,我们可以使用 JDBC 来连接 MySQL 数据库。然而,在实际应用中,我们可能会遇到连接超时、连接失效等问题。例如,如果连接失效,我们可能会遇到以下...
`JdbcTemplate`和`SimpleJdbcTemplate`是Spring提供的两个核心组件,用于简化Java数据库连接(JDBC)操作,从而减轻开发人员处理事务、异常处理和资源管理的负担。下面将详细阐述这两个工具的使用及其与MySQL数据库...
- 使用C3P0时,同样可以借助Spring的@Autowired或JdbcTemplate进行数据库操作。 3. **Proxool** - Proxool是另一个轻量级的数据库连接池,它的特点是动态调整池大小,具有良好的监控功能,通过XML配置文件或编程...