spring与各种数据库连接配置及驱动
Springboot+SpringCloud实战(微课版)06-第六章
![Springboot+SpringCloud实战(微课版)06-第六章](https://img.taocdn.com/s3/m/4cc1773dfd4ffe4733687e21af45b307e871f99c.png)
Springboot整合JPA
② 在application.yml文件中配置数据源信息和JPA信息,其中JPA配置中的hibernate配置 ddl-auto: update表示会根据@Entity实体类自动更新数据库表的结构,如程序清单6-21所 示。
① 在pom.xml文件中添加Druid依赖。 ② 在application.yml文件中通过type属性配置使用的数据源为DruidDataSource
SpringBoot整合数据源
SpringBoot整合数据源
③ 创建一个配置类DataSourceConfig并添加@Configuration注解,使用@Bean注解在Spring容 器中创建一个DataSource Bean 进行管理,如程序清单6-10所示。
SpringBoot整合数据源
2.添加配置 数据源相关配置可以在核心配置文件application.properties中配置(如程序清单6-2所示),也可以 在application.yml文件中配置(如程序清单6-3所示)。
SpringBoot整合数据源
补充说明:数据源的driverClassName 会根据mysql-connector-java依赖的版本而变化,在mysqlconnector-java 5中driverClassName 为com.mysql.jdbc.Driver,而在mysql-connectorjava 6及以上版本中driverClassName 为com.mysql.cj.jdbc.Driver,并且要求在url中需要配置 serverTimezone(时区信息),serverTimezone可配置UTC、Asia/Shanghai等。配置完以上信息 之后,我们就可以在代码中使用默认的数据源进行数据库的相关操作。
spring的DriverManagerDataSource与apache的BasicDataSource
![spring的DriverManagerDataSource与apache的BasicDataSource](https://img.taocdn.com/s3/m/47299ffec1c708a1284a447c.png)
spring的DriverManagerDataSource与apache的BasicDataSource(转)情况是这样的。
2008-3-18 1:08:26 org.apache.tomcat.util.threads.ThreadPool logFull严重: All threads (150) are currently busy, waiting. Increase maxThreads (150) or check the servlet status重新启动服务器之后,问题依然存在。
分析得出以下可能情况1.连接数达到了150的最大上限2.服务器端响应用户请求的时间过长导致3.连接池的配置数出了问题分析:1.1个用户访问是OK的,当用2个用户对localhost进行访问,所以根本不可能达到并发访问线程的150的上限,所以应该不是数据库的原因,排除了第一种可能2.之前访问的JSP已经经过多次访问,所以不可能是第一次访问编译,运行而导致的请求时间过长的原因,第二情况也否定。
到此,经过分析可以确定的是连接池出了问题...首先有2个知识点需要再弄的更清楚一些DriverManager与DataSource 连接数据库有何区别?DriverManager传统的jdbc连接,通过Class.forName("XXX"),的办法注册之后,就可以DriverManager.getConnection()获得连接了。
DataSource是建立在JNDI服务基础上的,需要application server配置datasource.首先需要注册一个DataSource(一般在/META-INF/context.xml下)然后在web.xml文件中引用这个DataSource,就可以DataSource.getConnection()获得连接,具体操作参考(tomcat 目录里的JNDI Resources小节)DataSource 与DBCP pool(连接池) 的区别?J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。
jdbc数据库连接的基本参数
![jdbc数据库连接的基本参数](https://img.taocdn.com/s3/m/7b7a513bdf80d4d8d15abe23482fb4daa58d1d35.png)
JDBC数据库连接的基本参数1. 什么是JDBC?Java Database Connectivity(JDBC)是一种用于在Java应用程序和数据库之间建立连接的API。
它允许开发人员使用标准的SQL语句来访问和操作数据库。
JDBC提供了一种通用的方式来连接各种类型的数据库,包括关系型数据库(如MySQL、Oracle、SQL Server等)和非关系型数据库(如MongoDB、Redis等)。
2. JDBC连接的基本参数在使用JDBC连接数据库时,需要指定一些基本参数。
以下是常用的JDBC连接参数:•URL:表示要连接的数据库的地址。
不同类型的数据库有不同格式的URL,例如MySQL的URL格式为jdbc:mysql://hostname:port/database,其中hostname为主机名,port为端口号,database为要连接的数据库名称。
•Driver Class:表示要使用的驱动程序类名。
每个数据库供应商都提供了自己特定类型数据库驱动程序类。
•Username:表示要登录到数据库时使用的用户名。
•Password:表示要登录到数据库时使用的密码。
3. JDBC连接示例下面是一个使用JDBC连接MySQL数据库的示例:import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class JdbcExample {public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/mydatabase";String username = "root";String password = "password";try {// 加载MySQL驱动程序Class.forName("com.mysql.jdbc.Driver");// 建立数据库连接Connection connection = DriverManager.getConnection(url, username,password);// 执行SQL查询或更新操作// 关闭数据库连接connection.close();} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}}在上面的示例中,我们首先加载MySQL驱动程序,然后使用DriverManager.getConnection()方法来建立与数据库的连接。
springdata+redis配置详解
![springdata+redis配置详解](https://img.taocdn.com/s3/m/0f6e35395b8102d276a20029bd64783e09127d43.png)
springdata+redis配置详解springdata设计初衷是位简化数据类型和数据的持久化存储,它并不局限是关系型数据库还是nosql数据库,都提供了简化的数据库连接,让数据获取变得更加的简单。
所有这些的实现有统⼀的api提供。
本⽂主要设置spring-data-redis的相关配置特性:1.RedisTemplate:⾼度封装的,⾃动连接池管理类;2.对数据类型进⾏了归类,封装了操作接⼝类: a) ValueOperations:key-value操作 b) setOperations:set的相关操作 c) ZsetOperations: d) HashOperations:hash数据类型操作 e) ListOperations:list数据类型操作3.对事务进⾏封装,通过容器进⾏控制。
4.序列化机制,提供各种序列化策略选择。
集成配置详解: 1.提供简单封装保存查询操作接⼝,以及实现类。
1public interface RedisCommand {23public void save(String key,String value);45public String get(String key);67public <T> T getObject(String key,Class<T> clazz);89 }View Code1 @Service2public class RedisHandle implements RedisCommand {34 @Autowired5protected RedisTemplate<String, String> redisTemplate;67 @Override8public void save(final String key, final String value) {9 redisTemplate.execute(new RedisCallback<Object>() {10 @Override11public Object doInRedis(RedisConnection connection)12throws DataAccessException {13 connection.set(14 redisTemplate.getStringSerializer().serialize(15 "user.uid." + key), redisTemplate16 .getStringSerializer().serialize(value));17return null;18 }19 });20 }2122 @Override23public String get(final String key) {24return redisTemplate.execute(new RedisCallback<String>() {25 @Override26public String doInRedis(RedisConnection connection)27throws DataAccessException {28byte[] keys = redisTemplate.getStringSerializer().serialize(29 "user.uid." + key);30if (connection.exists(keys)) {31byte[] value = connection.get(keys);32 String name = redisTemplate.getStringSerializer()33 .deserialize(value);34return name;35 }36return null;37 }38 });39 }4041 @Override42public <T> T getObject(String key, Class<T> clazz) {43// TODO Auto-generated method stub44return null;45 }464748 }View Code 2.业务逻辑类1 @Service(value="userRedis")2public class UserRedisImpl implements UserRedis{34 @Autowired5protected RedisHandle handler;67 @Override8public void saveUser(final User user) {9 handler.save(user.getId()+"", JSONObject.toJSONString(user));10 }1112 @Override13public User getUser(final long id) {14 String value =handler.get(id+"");15 User u= JSONObject.parseObject(value, User.class);16return u;17 }18 }View Code 3.测试类:1public class TestUseRedis {23 @SuppressWarnings("resource")4public static void main(String[] args) {5 ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:/spring-redis.xml");6 UserRedis userDAO = (UserRedis)ac.getBean("userRedis");7 System.out.println("userDao"+JSONObject.toJSONString(userDAO));8 User user1 = new User();9 user1.setId(4);10 user1.setName("oba2sssss220a");11 userDAO.saveUser(user1);12 User user2 = userDAO.getUser(2);13 System.out.println(user2.getName());14 }15 }View Code 4.配置⽂件相关:spring-redis:1 <?xml version="1.0" encoding="UTF-8"?>2 <beans xmlns="/schema/beans"3 xmlns:xsi="/2001/XMLSchema-instance" xmlns:p="/schema/p"4 xmlns:context="/schema/context"5 xmlns:jee="/schema/jee" xmlns:tx="/schema/tx"6 xmlns:aop="/schema/aop"7 xsi:schemaLocation="8 /schema/beans /schema/beans/spring-beans.xsd9 /schema/context /schema/context/spring-context.xsd"> 1011 <context:property-placeholder location="classpath:redis.properties" />12 <context:component-scan base-package="com.hoo.report.web.service">13 </context:component-scan>14 <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">15 <property name="maxIdle" value="${redis.maxIdle}" />16 <property name="maxActive" value="${redis.maxActive}" />17 <property name="maxWait" value="${redis.maxWait}" />18 <property name="testOnBorrow" value="${redis.testOnBorrow}" />19 </bean>2021 <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"22 p:host-name="${redis.host}" p:port="${redis.port}" p:password="${redis.pass}" p:pool-config-ref="poolConfig"/> 2324 <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">25 <property name="connectionFactory" ref="connectionFactory" />26 </bean>2728 </beans>View Codepom引⽤:1 <!-- spring data -->2 <dependency>3 <groupId>org.springframework.data</groupId>4 <artifactId>spring-data-redis</artifactId>5 <version>1.0.2.RELEASE</version>6 </dependency>78 <dependency>9 <groupId>redis.clients</groupId>10 <artifactId>jedis</artifactId>11 <version>2.1.0</version>12 </dependency>View Coderedis.properties:1 redis.host=127.0.0.12 redis.port=63793 redis.pass=45 redis.maxIdle=3006 redis.maxActive=6007 redis.maxWait=10008 redis.testOnBorrow=trueView Code。
《Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)》_课后习题
![《Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)》_课后习题](https://img.taocdn.com/s3/m/628183555a8102d277a22f48.png)
第一章【思考题】1、请简述Spring框架的优点。
2、请简述什么是Spring的IoC和DI。
【答案】1、Spring框架的优点如下:(1)非侵入式设计:Spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。
(2)方便解耦、简化开发:Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,大大的降低了组件之间的耦合性。
(3)支持AOP:Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性。
(4)支持声明式事务处理:只需要通过配置就可以完成对事务的管理,而无需手动编程。
(5)方便程序的测试:Spring提供了对Junit4的支持,可以通过注解方便的测试Spring 程序。
(6)方便集成各种优秀框架:Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持。
(7)降低了Java EE API的使用难度:Spring对Java EE开发中非常难用的一些API (如:JDBC、JavaMail等),都提供了封装,使这些API应用难度大大降低。
2、IoC的全称是Inversion of Control,中文名称为控制反转。
控制反转就是指在使用Spring框架之后,对象的实例不再由调用者来创建,而是由Spring容器来创建,Spring 容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。
这样,控制权由应用代码转移到了Spring容器,控制权发生了反转。
DI的全称是Dependency Injection,中文称之为依赖注入。
它与控制反转(IoC)的含义相同,只不过这两个称呼是从两个角度描述的同一个概念。
从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,这相当于为调用者注入了它依赖的实例,这就是Spring的依赖注入。
SpringBoot整合Druid实现数据库连接池和监控
![SpringBoot整合Druid实现数据库连接池和监控](https://img.taocdn.com/s3/m/1c11ae0053d380eb6294dd88d0d233d4b14e3fdf.png)
SpringBoot整合Druid实现数据库连接池和监控⽬录1、Druid的简介2、创建SpringBoot项⽬与数据表2.1 创建项⽬2.2 创建数据表3、Druid实现数据库连接池3.1 Druid的配置3.2 创建实体类(Entity层)3.3 数据库映射层(Mapper层)3.4 业务逻辑层(Service层)3.5 控制器⽅法(Controller层)3.6 显⽰页⾯(View层)4、Druid实现监控功能1、Druid的简介Druid是Java语⾔中使⽤的⽐较多的数据库连接池。
Druid还提供了强⼤的监控和扩展功能。
下⾯将介绍SpringBoot整合Druid实现数据库连接池和监控功能。
官⽅⽂档:《》2、创建SpringBoot项⽬与数据表【实例】SpringBoot整合Druid实现数据库连接池和监控,使⽤MyBaits操作数据库,获取⽤户信息,如下图:2.1 创建项⽬(1)创建SpringBoot项⽬,项⽬结构如下图:(2)使⽤Maven添加依赖⽂件在pom.xml配置信息⽂件中,添加Druid连接池、MyBatis、MySQL数据库、Thymeleaf模板引擎等相关依赖:<!-- 引⼊Druid连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.23</version></dependency><!-- MyBatis与SpringBoot整合依赖 --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version></dependency><!-- MySQL的JDBC数据库驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.20</version></dependency><!-- 引⼊Thymeleaf模板引擎 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>2.2 创建数据表使⽤MySQL数据库,创建 tb_user ⽤户信息表,并添加数据。
SpringBoot(七):集成DataSource与Druid监控配置
![SpringBoot(七):集成DataSource与Druid监控配置](https://img.taocdn.com/s3/m/7f9c538ab8d528ea81c758f5f61fb7360b4c2bb7.png)
SpringBoot(七):集成DataSource与Druid监控配置绑定DataSource:Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSource,Druid是Java语⾔中最好的数据库连接池,并且能够提供强⼤的监控和扩展功能,⽽且datasource是⼀般项⽬都需要使⽤的功能。
因此,这⾥将学习如何使⽤springboot与druid集成datasource。
springboot2.0.1+alibaba druid组件导⼊maven:1)导⼊alibaba druid组件:<!--druid 依赖--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.9</version></dependency>备注:具体请查看官⽹提供的使⽤介绍:https:///alibaba/druid/tree/master/druid-spring-boot-starter。
2)导⼊mysql驱动包:<!--MySQL Driver驱动包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency>3)导⼊springboot jpa集成组件:<!-- Spring Boot的JPA依赖包--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency>此时,pom.xml配置内容为:1<?xml version="1.0" encoding="UTF-8"?>2<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"3 xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">4<modelVersion>4.0.0</modelVersion>56<groupId>com.dx</groupId>7<artifactId>springboot-helloword</artifactId>8<version>0.0.1-SNAPSHOT</version>9<packaging>jar</packaging>1011<name>springboot-helloword</name>12<description>Demo project for Spring Boot</description>1314<parent>15<groupId>org.springframework.boot</groupId>16<artifactId>spring-boot-starter-parent</artifactId>17<version>2.0.1.RELEASE</version>18<relativePath/><!-- lookup parent from repository -->19</parent>2021<properties>22<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>23<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>24<java.version>1.8</java.version>25</properties>2627<dependencies>28<dependency>29<groupId>org.springframework.boot</groupId>30<artifactId>spring-boot-starter-web</artifactId>31</dependency>32<!--完成get set toString注册 -->33<dependency>34<groupId>org.projectlombok</groupId>35<artifactId>lombok</artifactId>36</dependency>37<!--springboot 热部署⼯具-->38<dependency>39<groupId>org.springframework.boot</groupId>40<artifactId>spring-boot-devtools</artifactId>41<optional>true</optional>42</dependency>43<dependency>44<groupId>org.springframework.boot</groupId>45<artifactId>spring-boot-starter-test</artifactId>46<scope>test</scope>47</dependency>48<dependency>49<groupId>org.springframework.boot</groupId>50<artifactId>spring-boot-starter-thymeleaf</artifactId>51</dependency>52<!--druid 依赖-->53<dependency>54<groupId>com.alibaba</groupId>55<artifactId>druid-spring-boot-starter</artifactId>56<version>1.1.9</version>57</dependency>58<!--MySQL Driver驱动包-->59<dependency>60<groupId>mysql</groupId>61<artifactId>mysql-connector-java</artifactId>62<scope>runtime</scope>63</dependency>64<!-- Spring Boot的JPA依赖包-->65<dependency>66<groupId>org.springframework.boot</groupId>67<artifactId>spring-boot-starter-data-jpa</artifactId>68</dependency>69</dependencies>7071<build>72<plugins>73<plugin>74<groupId>org.springframework.boot</groupId>75<artifactId>spring-boot-maven-plugin</artifactId>76</plugin>77</plugins>78</build>798081</project>View Code⾃定义datasource配置项加载:1)在src/resources/application.properties中添加以下配置信息:# ⾃定义数据库配置信息ername=rootdb.password=rootdb.url=jdbc:mysql://localhost:3306/springboot_helloworddb.driver-class-name=com.mysql.jdbc.Driver2)修改项⽬的启动⼊⼝,添加DataSource的bean注⼊,及标注⾃定义参数配置注⼊:package com.dx.controller;import com.alibaba.druid.pool.DruidDataSource;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import javax.sql.DataSource;@SpringBootApplicationpublic class SpringbootHellowordApplication {@Bean@ConfigurationProperties(prefix = "db")public DataSource dateSource() {DruidDataSource dataSource = new DruidDataSource();return dataSource;}public static void main(String[] args) {SpringApplication.run(SpringbootHellowordApplication.class, args);}}这⾥的dateSource() 启到的作⽤就是注⼊datasourcebean,同时加载⾃定义配置项的作⽤。
SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)
![SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)](https://img.taocdn.com/s3/m/8e86831bf12d2af90242e68b.png)
SSI框架搭建SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6编号:SSI-SMVC3-S3-I3版本:V1.0级别:公开编写时间:2016-02-17目录1 导言 (1)1.1 目的 (1)1.2 范围 (1)1.3 说明 (1)2 搭建SpringMVC (2)2.1 搭建所需jar包 (2)2.2 其他依赖包 (3)2.3 搭建步骤 (4)2.3.1 创建项目 (4)2.3.2 导入jar包 (6)2.3.3 配置web.xml (7)2.3.4 配置spring-servlet.xml (9)2.3.5 配置applicationContext.xml (10)2.3.6 配置log4j.properties (10)3 整合mybatis (11)3.1 整合所需jar包 (11)3.2 其他依赖包 (11)3.3 整合步骤 (11)3.3.1 导入jar包 (11)3.3.2 配置config.properties (12)3.3.3 配置spring-dataSource.xml (12)3.3.4 配置applicationContext.xml (15)3.3.5 配置mybatis-config.xml (16)3.3.6 创建实体model (17)3.3.7 创建实例化dao (19)3.3.8 创建业务服务service (21)3.3.9 创建控制层controller (23)3.3.10 页面代码 (28)3.3.11 启动项目 (37)1导言1.1 目的本文档是根据个人的工作经验搭建的轻量级SSI框架,也是实际应用中比较全面的基础框架,用于指导SSI框架初学者学习搭建SSI框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。
1.2 范围本次框架搭建的版本是SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6,数据库采用的是mysql,在eclipse开发工具下搭建直接搭建的web项目,页面采用的是h5,ajax实现数据访问,如果页面为jsp等,则修改controller的返回类型即可。
springboot配置双数据源MySQL和SqlServer
![springboot配置双数据源MySQL和SqlServer](https://img.taocdn.com/s3/m/57f7e22fabea998fcc22bcd126fff705cc175c69.png)
springboot配置双数据源MySQL和SqlServer1. pom⽂件的驱动jar包加上去,compile 'com.microsoft.sqlserver:mssql-jdbc:6.2.2.jre8'2. application.ymlspring:datasource:master:jdbc-url: jdbc:mysql://10.12.49.55:3306/smartcity-01username: rootpassword: root# 使⽤druid数据源type: com.alibaba.druid.pool.DruidDataSourcedriverClassName: com.mysql.jdbc.Driverother:jdbc-url: jdbc:sqlserver://10.12.49.35:1433;DatabaseName=LandscapingDBusername: sapassword: Sql123#使⽤druid数据源type: com.alibaba.druid.pool.DruidDataSourcedriverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver注意不要使⽤url,要使⽤jdbc-url主数据库配置:package com.pactera.scm.config;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.SqlSessionTemplate;import org.mybatis.spring.annotation.MapperScan;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.boot.jdbc.DataSourceBuilder;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import javax.sql.DataSource;@Configuration@MapperScan(basePackages ="com.pactera.scm.mapper", sqlSessionFactoryRef = "masterSqlSessionFactory")public class MybatisDbMasterConfig {@Primary@Bean(name = "masterDataSource")@ConfigurationProperties(prefix = "spring.datasource.master")public DataSource dataSource() {return DataSourceBuilder.create().build();}@Primary@Bean(name = "masterSqlSessionFactory")public SqlSessionFactory sqlSessionFactory(@Qualifier("masterDataSource") DataSource dataSource) throws Exception {SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();factoryBean.setDataSource(dataSource);factoryBean.setTypeAliasesPackage("com.pactera.scm.entity");factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));return factoryBean.getObject();}@Primary@Bean(name = "masterTransactionManager")public DataSourceTransactionManager transactionManager(@Qualifier("masterDataSource") DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}@Bean(name = "masterSqlSessionTemplate")@Primarypublic SqlSessionTemplate testSqlSessionTemplate(@Qualifier("masterSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {return new SqlSessionTemplate(sqlSessionFactory);}} 第⼆数据库配置:package com.pactera.scm.config;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.SqlSessionTemplate;import org.mybatis.spring.annotation.MapperScan;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.boot.jdbc.DataSourceBuilder;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import javax.sql.DataSource;@Configuration@MapperScan(basePackages = "com.pactera.scm.otherDB", sqlSessionFactoryRef = "otherSqlSessionFactory")public class MybatisDbOtherConfig {@Bean(name = "otherDataSource")@ConfigurationProperties(prefix = "spring.datasource.other")public DataSource dataSource() {return DataSourceBuilder.create().build();}@Bean(name = "otherTransactionManager")public DataSourceTransactionManager transactionManager(@Qualifier("otherDataSource") DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}@Bean(name = "otherSqlSessionFactory")public SqlSessionFactory basicSqlSessionFactory(@Qualifier("otherDataSource") DataSource basicDataSource) throws Exception { SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();factoryBean.setDataSource(basicDataSource);factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:other/*.xml"));return factoryBean.getObject();}@Bean(name = "otherSqlSessionTemplate")public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("otherSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {return new SqlSessionTemplate(sqlSessionFactory);}}启动类正常些就⾏了,不需要改动,保证能扫描到配置⽂件就⾏@SpringBootApplication@EnableConfigurationProperties@EnableSchedulingpublic class ScmApplication {public static void main(String[] args) {SpringApplication.run(ScmApplication.class, args);}}使⽤:@Resourceprivate AccountMapper accountMapper;直接调⽤就⾏。
springboot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法
![springboot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法](https://img.taocdn.com/s3/m/bcf7263c443610661ed9ad51f01dc281e53a56b6.png)
springboot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置⽅法此⽅法为极简配置,⽀持MySQL数据库多库连接、⽀持Hikari连接池、⽀持MyBatis(包括Dao类和xml⽂件位置的配置)。
1、pom.xml中引⼊依赖:<!-- Begin of DB related --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.1.1</version><exclusions><exclusion><groupId>org.apache.tomcat</groupId><artifactId>tomcat-jdbc</artifactId></exclusion></exclusions></dependency><dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- End of DB related -->我们使⽤了mybatis-spring-boot-starter,并让它把tomcat-jdbc连接池排除掉,这样spring-boot就会寻找是否有HikariCP可⽤,第⼆个依赖就被找到了,然后mysql-connector也有了。
常用数据源连接池配置
![常用数据源连接池配置](https://img.taocdn.com/s3/m/69f82bd5360cba1aa811da8f.png)
-->
配置proxoop有些不同,不能仅仅加入,还需要改动: <property name="proxool.pool_alias">dbpool</property>
<property name="proxool.xml">test/huatech/conf/ProxoolConf.xml</property>
<property name="connection.password">informix</property>
<property name="connection.driver_class">rmix.jdbc.IfxDriver</property>
<property name="connection.url">
<!--登录密码-->
<property name="connection.password"></property>
<!--是否将运行期生成的SQL输出到日志以供调试-->
<property name="show_sql">true</property>
<!--指定连接的语言-->
... javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
Spring_c3p0 配置详解
![Spring_c3p0 配置详解](https://img.taocdn.com/s3/m/6c523283ec3a87c24028c463.png)
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
配置一个数据源
Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。
DBCP数据源
DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖 Jakarta commons-pool对象池机制的数据库连接池,所以在类路径下还必须包括/lib/jakarta- commons/commons-pool.jar。下面是使用DBCP配置MySql数据源的配置片断:
<property name="maxIdleTime">
<value>60</value>
</property>
<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
<property name="acquireIncrement">
<value>root</value>
</property>
<property name="password">
SpringBoot项目中同时操作多个数据库的实现方法
![SpringBoot项目中同时操作多个数据库的实现方法](https://img.taocdn.com/s3/m/4d075a5532687e21af45b307e87101f69e31fb0a.png)
SpringBoot项⽬中同时操作多个数据库的实现⽅法⽬录⼀、导⼊相关pom⽂件⼆、application.yml配置⽂件编写三、数据库连接配置⽂件四、主启动类注解修改五、测试在实际项⽬开发中可能存在需要同时操作两个数据库的场景,⽐如从A库读取数据,进⾏操作后往B库中写⼊数据,此时就需要进⾏多数据库配置。
本⽂以操作本地和线上的MySQL数据库为例:⼀、导⼊相关pom⽂件<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.5</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.3</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.7</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>⼆、application.yml配置⽂件编写单数据源的配置如下:spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/meal_order?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8username: rootpassword: roottype: com.alibaba.druid.pool.DruidDataSource多数据源的配置如下:spring:datasource:dev:driver-class-name: com.mysql.cj.jdbc.DriverjdbcUrl: jdbc:mysql://xxx.xx.xx.xx:3306/meal_order?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8username: rootpassword: roottype: com.alibaba.druid.pool.DruidDataSourcelocal:driver-class-name: com.mysql.cj.jdbc.DriverjdbcUrl: jdbc:mysql://127.0.0.1:3306/db2021?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8username: rootpassword: roottype: com.alibaba.druid.pool.DruidDataSource经过对⽐可以发现:1、多数据源的配置中需要指定具体的名称来区分不同的数据库(上述配置中的dev和local,名称可以根据具体需求⾃定义)2、需要使⽤jdbcUrl代替url三、数据库连接配置⽂件dev数据源配置⽂件:@Configuration@MapperScan(basePackages = "com.multiple.mapper.dev",sqlSessionFactoryRef = "devSqlSessionFactory")public class DevDataSourceConfig {@Primary@Bean(name = "devDataSource")@ConfigurationProperties("spring.datasource.dev")public DataSource masterDataSource(){return DataSourceBuilder.create().build();}@Bean(name = "devSqlSessionFactory")public SqlSessionFactory sqlSessionFactory(@Qualifier("devDataSource") DataSource dataSource) throws Exception {SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();sessionFactoryBean.setDataSource(dataSource);sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapping/dev/*.xml"));return sessionFactoryBean.getObject();}}local数据源配置⽂件:@Configuration@MapperScan(basePackages = "com.multiple.mapper.local",sqlSessionFactoryRef = "localSqlSessionFactory")public class LocalDataSourceConfig {@Primary@Bean(name = "localDataSource")@ConfigurationProperties("spring.datasource.local")public DataSource masterDataSource(){return DataSourceBuilder.create().build();}@Bean(name = "localSqlSessionFactory")public SqlSessionFactory sqlSessionFactory(@Qualifier("localDataSource") DataSource dataSource) throws Exception {SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();sessionFactoryBean.setDataSource(dataSource);sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapping/local/*.xml"));return sessionFactoryBean.getObject();}}不同配置⽂件通过@MapperScan注解的内容来区分不同数据库下的mapper⽂件,通过@ConfigurationProperties注解来加载指定的数据源以DevDataSourceConfig为例四、主启动类注解修改@SpringBootApplication(exclude={<!--{C}%3C!%2D%2D%20%2D%2D%3E-->DataSourceAutoConfiguration.class})⽬录结构如下:五、测试从dev库中查询数据,取出字段插⼊local库中:public interface DevMapper {@Select("select * from test")List<Test> getAllTest();}public interface LocalMapper {@Insert("insert into payment(serial) values (#{name})")int insertMessage(String name);}@SpringBootTestclass MultipleDatabaseApplicationTests {@Autowiredprivate DevMapper devMapper;@Autowiredprivate LocalMapper localMapper;@Testvoid contextLoads() {List<com.multiple.pojo.Test> testList = devMapper.getAllTest();for(com.multiple.pojo.Test test : testList){localMapper.insertMessage(test.getAa());}}}运⾏测试代码,从dev库中查出的数据可以成功添加⾄local库该⽅法也适⽤需要使⽤多种不同的数据库的场景,⽐如MySQL和Oracle,修改数据源配置⽂件即可到此这篇关于SpringBoot项⽬中同时操作多个数据库的实现⽅法的⽂章就介绍到这了,更多相关SpringBoot项⽬操作多个数据库内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
Springboot默认数据源Hikari的配置详解(转)
![Springboot默认数据源Hikari的配置详解(转)](https://img.taocdn.com/s3/m/82b2ecf69a89680203d8ce2f0066f5335a81676d.png)
Springboot默认数据源Hikari的配置详解(转)【转发⾃:】基本概念在开始说明Spring Boot中的数据源配置之前,我们先搞清楚关于数据访问的这些基本概念:什么是JDBC?Java数据库连接(Java Database Connectivity,简称JDBC)是Java语⾔中⽤来规范客户端程序如何来访问数据库的应⽤程序接⼝,提供了诸如查询和更新数据库中数据的⽅法。
JDBC也是Sun Microsystems的商标。
我们通常说的JDBC是⾯向关系型数据库的。
JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中),主要包括(斜体代表接⼝,需驱动程序提供者来具体实现):DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调⽤者返回相应的数据库连接(Connection)。
Driver:驱动程序,会将⾃⾝加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。
Connection:数据库连接,负责与进⾏数据库间通讯,SQL执⾏以及事务处理都是在某个特定Connection环境中进⾏的。
可以产⽣⽤以执⾏SQL的Statement。
Statement:⽤以执⾏SQL查询和更新(针对静态SQL语句和单次执⾏)。
PreparedStatement:⽤以执⾏包含动态参数的SQL查询和更新(在服务器端编译,允许重复执⾏以提⾼效率)。
CallableStatement:⽤以调⽤数据库中的存储过程。
SQLException:代表在数据库连接的建⽴和关闭和SQL语句的执⾏过程中发⽣了例外情况(即错误)。
什么是数据源?可以看到,在java.sql中并没有数据源(Data Source)的概念。
这是由于在java.sql中包含的是JDBC内核API,另外还有个javax.sql包,其中包含了JDBC标准的扩展API。
spring配置详解
![spring配置详解](https://img.taocdn.com/s3/m/4dded1d65ebfc77da26925c52cc58bd631869310.png)
spring配置详解1.前⾔公司⽼项⽬的后台,均是基于spring框架搭建,其中还⽤到了log4j.jar等开源架包。
在新项⽬中,则是spring和hibernate框架均有使⽤,利⽤了hibernate框架,来实现持久化,简化sql操作等。
Hibernate配置⽂件可以有两种格式,⼀种是 hibernate.properties,另⼀种是hibernate.cfg.xml。
后者稍微⽅便⼀些,当增加hbm映射⽂件的时候,可以直接在 hibernate.cfg.xml ⾥⾯增加,不必像 hibernate.properties 必须在初始化代码中加⼊。
我们新项⽬中使⽤的是hibernate.cfg.xml格式。
不过在本⽂中不将细述,后续有机会再补上。
公司项⽬中,中间件主要有tomcat,webshpere,WebLogic。
以下,将对项⽬中spring基本配置,log4j的配置,还有中间件的相关参数配置做⼀个初步的介绍。
2.spring配置——以⽼GIS项⽬为例⼦GISV13中的配置涉及到了SpringMVC,IOC,AOP, Quartz⽅⾯的配置。
配置的实现是通过注记配置和XML配置来合作实现。
这⾥,我将按照Spring的配置流程,将其他⼏个⽅⾯的配置融合其中,来进⾏全⾯解析。
2.1SpringMVC的配置2.1.1.web.xml的配置Web程序中,当中间件启动时,中间件会⾸先读取web.xml中的配置。
在web.xml中可以配置监听器,过滤器,servlet映射等等。
在Spring 框架中,我们主要需配置容器初始化时读取的spring容器配置⽂件的路径以及springMVC中的分发器DispatcherServlet。
在GISV13的web.xml中,我们定义了如下内容:InitGISConfigServlet定义了容器启动时,⾸先要运⾏这个⽅法。
然后servletname为MVC的这部分便是定义了springMVC的分发器以及此servlet所对应的加载配置⽂件的路径。
Spring数据库连接池(JDBC)详解
![Spring数据库连接池(JDBC)详解](https://img.taocdn.com/s3/m/6a03ae0a974bcf84b9d528ea81c758f5f61f2931.png)
Spring数据库连接池(JDBC)详解数据库连接池对⼀个简单的数据库应⽤,由于对数据库的访问不是很频繁,这时可以简单地在需要访问数据库时,就新创建⼀个连接,就完后就关闭它,这样做也不会带来什么性能上的开销。
但是对于⼀个复杂的数据库应⽤,情况就完全不同⽽,频繁的建⽴、关闭连接,会极⼤地减低系统的性能,因为对于连接的使⽤成了系统性能的瓶颈。
通过建⽴⼀个数据库连接池以及⼀套连接使⽤管理策略,可以达到连接复⽤的效果,使得⼀个数据库连接可以得到安全、⾼效的复⽤,避免了数据库连接频繁建⽴、关闭的开销。
数据库连接池的基本原理是在内部对象池中维护⼀定数量的数据库连接,并对外暴露数据库连接获取和返回⽅法。
如:外部使⽤者可通过getConnection⽅法获取连接,使⽤完毕后再通过releaseConnection⽅法将连接返回,注意此时连接并没有关闭,⽽是由连接池管理器回收,并为下⼀次使⽤做好准备。
数据库连接池技术带来的好处:1、资源重⽤由于数据库连接得到重⽤,避免了频繁创建、释放链接引起的⼤量性能开销。
在减少系统消耗的基础上,另⼀⽅⾯也增进了系统运⾏环境的平稳性(减少内存碎⽚以及数据库临时进⾏/线程数量)2、更快地系统响应速度数据库连接池在初始化过程中,往往已经创建了若⼲数据库连接池置于池中备⽤。
此时连接的初始化⼯作均已完成,对于业务请求处理⽽⾔,直接利⽤现有可⽤连接,避免了数据库连接初始化和释放过程的时间开销,从⽽缩减了系统整体响应时间3、统⼀的连接管理,避免数据库连接泄露在较为完备的数据库连接池实现中,可根据预先的连接占⽤超时设定,强制收回被占⽤连接,从⽽避免了常规数据库连接操作中可能出现的资源泄露。
⽬前数据库连接池产品是⾮常多的,主要有:1、dbcpdbcp,即DataBase Connection PoolApache出品,Spring开发组推荐使⽤的数据库连接池,开发较为活跃,是⼀个使⽤极为⼴泛的数据库连接池产品。
如何在SpringBoot项目中使用Oracle11g数据库
![如何在SpringBoot项目中使用Oracle11g数据库](https://img.taocdn.com/s3/m/c5ee485c777f5acfa1c7aa00b52acfc788eb9f5a.png)
如何在SpringBoot项⽬中使⽤Oracle11g数据库在SpringBoot项⽬中使⽤Oracle11g数据库具体步骤如下:1:下载ojdbc6.jar ,随便放个英⽂⽬录位置就好2:命令⾏下输⼊下⾏,注意最后-Dfile 为⾃⼰的下载⽬录mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 -Dpackaging=jar -Dfile=H:\eclpise-workspace\ojdbc6.jar3:在项⽬的pom⽂件中引⼊下⾯依赖<dependency><groupId>com.oracle</groupId><artifactId>ojdbc6</artifactId><version>11.2.0.1.0</version></dependency>4:在项⽬的配置⽂件中写数据库的连接信息,其中,假设Oracle连接ip为127.0.0.1,端⼝号为1521,数据库为database,⽤户名为username,密码为passwordspring.datasource.driver-class-name=oracle.jdbc.OracleDriverspring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:databaseername=usernamespring.datasource.password=password完成!SpringBoot 2.0连接Oracle 11g遇到的问题基本配置信息:驱动oracle.jdbc.driver.OracleDriver连接Url jdbc:oracle:thin:@192.168.112.129:1521:orcl⽤户System密码Aa123456添加驱动包:这⾥添加的是ojdbc6包,因为之前在Davinci系统使⽤ojdbc14时报错了,我使⽤的Jdk1.8的版本。
如何使用Spring Data对数据进行管理,提高数据管理效率
![如何使用Spring Data对数据进行管理,提高数据管理效率](https://img.taocdn.com/s3/m/f54b153bf02d2af90242a8956bec0975f465a4ba.png)
如何使用Spring Data对数据进行管理,提高数据管理效率随着互联网和云计算技术的发展,数据管理已经成为企业最重要的工作之一。
数据管理对于企业而言,是保持竞争优势和增长的关键。
那么如何精准、高效、可靠地管理数据呢?这就需要我们使用Spring Data对数据进行管理。
Spring是一个开源框架,提供了丰富的Java开发工具和API,简化了Java 应用程序的开发和部署过程。
Spring Data是Spring提供的扩展功能,它可以帮助我们更好地管理数据,提高数据管理效率。
Spring Data的主要功能有以下几个方面:1. 数据访问层的开发2. 数据库连接和事务管理3. NoSQL数据库的支持4. 数据库版本控制5. 数据库集群的支持下面我们来详细介绍Spring Data的使用方法。
一、数据访问层的开发Spring Data可以帮助我们开发数据访问层(DAO)。
DAO是数据访问对象的缩写,它是用来访问数据库的,Spring Data通过提供一套通用的数据访问API,帮助我们轻松地开发DAO。
使用Spring Data,我们可以通过定义Java接口来访问数据,而不需要手动编写SQL语句。
比如我们可以定义一个UserRepository接口,然后在接口中定义各种查询方法,如findByUsername和findByEmail。
@Repositorypublic interface UserRepository extends JpaRepository<User, Long> {User findByUsername(String username);User findByEmail(String email);}在上面的例子中,@Repository注解表示UserRepository是一个仓库,@JpaRepository注解表示这个仓库使用JPA进行数据访问。
findByUsername和findByEmail是两个查询方法,只需要在方法名中加上findBy,然后紧跟着被查询的属性名,就可以快速定义查询方法。
spring配置datasource三种方式数据库连接池
![spring配置datasource三种方式数据库连接池](https://img.taocdn.com/s3/m/f09f32c909a1284ac850ad02de80d4d8d15a0106.png)
spring配置datasource三种⽅式数据库连接池尊重原创(原⽂链接):/kunkun378263/article/details/85063551、使⽤org.springframework.jdbc.datasource.DriverManagerDataSource说明:DriverManagerDataSource建⽴连接是只要有连接就新建⼀个connection,根本没有连接池的作⽤。
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName"><value>${jdbc.driverClassName}</value></property><property name="url"><value>${jdbc.url}</value></property><property name="username"><value>${ername}</value></property><property name="password"><value>${jdbc.password}</value></property></bean>2、使⽤mons.dbcp.BasicDataSource说明:这是⼀种推荐说明的数据源配置⽅式,它真正使⽤了连接池技术<bean id="dataSource" class="mons.dbcp.BasicDataSource"><property name="driverClassName"><value>oracle.jdbc.driver.OracleDriver</value></property><property name="url"><value>jdbc:oracle:thin:@localhost:1521:orcl</value></property><property name="username"><value>test</value></property><property name="password"><value>test</value></property><property name="maxActive"><value>255</value></property><property name="maxIdle"><value>2</value></property><property name="maxWait"><value>120000</value></property></bean>3、使⽤org.springframework.jndi.JndiObjectFactoryBean说明:JndiObjectFactoryBean 能够通过JNDI获取DataSource<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"><property name="jndiName"><value>java:comp/env/jdbc/roseindiaDB_local</value></property></bean>总结:3种⽅式中的第⼀种没有使⽤连接池,故少在项⽬中⽤到,第三种⽅式需要在web server中配置数据源,不⽅便于部署,本⼈推荐使⽤每⼆种⽅式进⾏数据源的配置。
springboot自定义配置文件
![springboot自定义配置文件](https://img.taocdn.com/s3/m/1ea0b53c30126edb6f1aff00bed5b9f3f90f72e7.png)
springboot⾃定义配置⽂件 前⾔:如果你⼀点spring的基础没有,建议你不要学习springboot,⾄少先有⼀个spring的项⽬经验或者⾃⼰搭建过spring的项⽬再学习springboot,这样你会发现在spring中搞不懂的,在springboot中得到⼀些答案。
springboot的原则是“约定⼤于配置”,所以在使⽤springboot 的时候如果出现问题,没有⼀点基础,解决问题就很困难。
⽬标:将spring的容器中的配置:数据库的配置,定时器的配置转换到springboot中,实现spring与springbooot的配置对接。
数据库的配置转换: spring中数据库连接的配置如下<!--数据库实例--><bean id="dataSource" class="mons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="${jdbc.mybatis.driver}" /><property name="url" value="${jdbc.mybatis.url}" /><property name="username" value="${ername}" /><property name="password" value="${jdbc.mybatis.password}" /><!-- 初始化连接⼤⼩ --><property name="initialSize" value="10" /><!-- 连接池最⼤数量 --><property name="maxActive" value="1000" /><!-- 连接池最⼤空闲 --><property name="maxIdle" value="30" /><!-- 连接池最⼩空闲 --><property name="minIdle" value="10" /><!-- 获取连接最⼤等待时间 --><property name="maxWait" value="2000" /></bean>pringboot中的配置@Bean(name = "dataSource")public BasicDataSource myGetDataSource() {BasicDataSource dataSource = new BasicDataSource();dataSource.setDriverClassName(driverClassName);dataSource.setUrl(url);dataSource.setPassword(passWord);dataSource.setUsername(userName);dataSource.setMaxIdle(2);dataSource.setMaxActive(20);dataSource.setMaxWait(1000);dataSource.setInitialSize(2);//dataSource.setValidationQuery("SELECT 1");dataSource.setRemoveAbandoned(true);dataSource.setTestWhileIdle(true);dataSource.setTimeBetweenEvictionRunsMillis(30000);dataSource.setNumTestsPerEvictionRun(30);dataSource.setMinEvictableIdleTimeMillis(1800000);return dataSource;}spring 中的配置<!-- spring和MyBatis完美整合,不需要mybatis的配置映射⽂件 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="mapperLocations" value="classpath:springMVCmybatis/com/my/mapper/*.xml" /><!-- <property name="typeAliasesPackage" value="com.my.model"/> --></bean> springboot配置sqlSessionFactoryBean,对应上⾯的sping的SqlSessionFactoryBean类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4. MySQL
vbean id="dataSource" class="mons.dbcp.BasicDataSource" Destroy-method="close">
vproperty name="driverClassName" value="com.mysql.jdbc.Driver" />
vproperty name="url" value="jdbc:mysql:〃localhost:3309/sampledb"/> vpropertyname="username" value="test"/> vproperty name="password" value="test"/> v/bean>
Spring
1. Oracle
vbean id="dataSource" class="mons.dbcp.BasicDataSourcei" destroy-method="close">
vproperty name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/> vproperty name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" /> vproperty name="username" value="test"/>
vproperty name="password" value="test"/> v/bean>
value="jdbc:Microsoft:sqlserver:〃localhost:1433;DatabaseName=testDB"/> vproperty name="username" value="test" /> vproperty name="password" value="test" />
5. HSQLDB
vbean id="dataSource" class="mons.dbcp.BasicDataSource" Destroy-method="close">
vproperty name="driverClassName" value="org.hsqldb.jdbcDriver"/> vproperty name="url" value="jdbc:hsqldb:hsql:〃localhost:9902"/> vproperty name="username" value="test"/>
vproperty name="password" value="test"/>
v/bean>
2. DB2
vbeanቤተ መጻሕፍቲ ባይዱid="dataSource" class="mons.dbcpBasicDataSource" Destroy-method="close">
vproperty name="driverClassName" value="com.ibm.db2.app.DB2Driver"/> vproperty name="url" value="jdbc:db2//localhost:5000/testDB"/> vproperty name="username" value="test"/>
vproperty name="password" value="test"/>
v/bean>
3. SQL Server
vbean id="dataSource" class="mons.dbcp.BasicDataSource"
Destroy-method="close"> vproperty name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/> vproperty name="url"