Spring连接数据库
使用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类的方法就可以了.
相关推荐
Spring 连接数据库代码详解 Spring 连接数据库是 Java 企业级应用程序中的一项重要技术,通过 Spring 框架,可以轻松地实现数据库的连接和操作。本文将详细讲解如何使用 Spring 连接数据库,包括创建数据库、配置 ...
在这个"spring连接数据库实例"中,我们将深入探讨Spring如何帮助开发者便捷地管理和操作数据库。 首先,让我们来了解Spring中的`DataSource`。`DataSource`是Java中用于存储和管理数据库连接的接口,它位于JDBC API...
在"spring连接数据库aop-jdbc"这个主题中,我们主要关注Spring框架如何通过AOP(面向切面编程)和JDBC(Java Database Connectivity)来实现数据库的高效管理。以下是关于这一主题的详细知识: 1. **Spring JDBC...
至此,我们已经完成了使用Struts和Spring连接MySQL数据库的基本配置。用户注册和登录的具体业务逻辑可以在Action类中实现,通过DAO类与数据库进行交互。这个项目中的5_4文件可能包含了具体的代码实现,如Action、DAO...
本文将详细介绍Spring连接数据库的几种常用方式,以便开发者根据项目需求选择合适的方法。 首先,我们来看一个简单的Spring测试主类`MySpringTest`,它展示了如何通过Spring获取数据源并执行SQL查询。在主类中,...
在Spring框架中,连接到不同的数据库是通过数据源(DataSource)和相关配置来实现的。在上述描述中,我们看到了如何在Spring的配置文件`applicationContext.xml`中配置连接到MySQL、Oracle和SQL Server的数据源。...
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框架中,数据库连接池是实现高效数据库操作的关键组件,它允许应用程序重复使用已建立的数据库连接,而不是每次都创建新的连接,从而提高了性能和资源利用率。 在Java中,常见的数据库连接池工具有C3P0、...
在初学SpringCloud的过程中,与Oracle数据库的连接是构建分布式系统的一个重要环节。SpringCloud作为一个微服务框架,提供了丰富的服务治理功能,而数据库作为数据存储的核心,与SpringBoot的集成使得我们可以轻松...
本文将详细探讨"Spring数据库连接等配置加密"这一主题。 首先,我们来看`dbconfig.properties`文件,这是Spring项目中常见的用于存储数据库连接配置的文件。通常,这个文件会包含如下内容: ``` # 数据库连接配置 ...
以下是一个使用Spring连接数据库的例子: ```java @Autowired private JdbcTemplate jdbcTemplate; public void connect() { jdbcTemplate.execute("SELECT * FROM my_table"); } ``` Spring管理数据库连接池,...
在这个"spring连接数据库实例"中,我们将探讨Spring如何与数据库进行交互,以及它在实际项目中的应用。 1. **Spring JDBC模块** Spring 提供了JDBC抽象层,简化了数据库操作,避免了繁琐的JDBC代码和资源管理。...
在Spring MVC应用中,数据库连接池的管理是一个关键部分,其中Druid是一个广泛使用的高性能连接池组件。在标准配置下,Druid允许开发者通过配置文件(如`druid.properties`或`application.properties`)来设置数据库...
集成了多个SpringBoot项目的SpringCloud项目,并且连接MySQL数据库成功的小Demo。需要进行系统开发可直接在这个基础上添加Controller和Service内容。下载前请先看项目的执行步骤及架构链接是否合适您使用:...
spring配置数据库文件,连接数据库的一写配置文件
Spring连接图存数据库Neo4jSpring连接图存数据库Neo4jSpring连接图存数据库Neo4jSpring连接图存数据库Neo4jSpring连接图存数据库Neo4jSpring连接图存数据库Neo4jSpring连接图存数据库Neo4jSpring连接图存数据库Neo4...
1. **数据源配置**:Spring允许配置数据源,这样就封装了数据库连接的基本信息,并进行了优化处理。这种方式不仅可以提高性能,还能够减少代码量。 2. **模板模式**:Spring JDBC提供了`JdbcTemplate`类,这是一个...
Spring Boot 连接 Oracle 数据库 JDBC 配置步骤 在本文中,我们将详细介绍如何使用 Spring Boot 连接 Oracle 数据库,配置 JDBC 驱动程序,并实现数据库的基本操作。 Step 1: 添加依赖项 在 Spring Boot 项目中,...
在Spring框架中,整合数据库连接是开发Web应用的常见任务,它提供了多种方式来管理数据库连接池,确保高效、稳定的数据交互。以下是Spring整合数据库连接的三种主要方式:DBCP、C3P0和Proxool,以及它们各自的特点和...
然而,在使用 Spring Boot 连接数据库时,可能会遇到断线重连的问题。本文将详细介绍 Spring Boot 数据库连接断线重连问题,并提供解决方案。 数据库连接断线重连问题 在使用 Spring Boot 连接数据库时,可能会...