【Java】SpringMVC集成mybatis 连接池c3p0和druid分别实验
来源:互联网 发布:cf画面优化是什么意思 编辑:程序博客网 时间:2024/06/08 04:00
1.pom.xml
Spring框架包 mybatis包 AOP包 aspectj包 aopalliance包
<!-- mysql start --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <!-- mysql end --><!-- 连接池 支持oracle mysql--><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.5</version> </dependency> <!--或者--><dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5-pre10</version></dependency><!-- 连接池 end --><!--mybatis --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.2</version></dependency><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.0</version></dependency>
2.web.xml:
<!-- druid --> <servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping>
3.application.properties
jdbc.mysql.driverClass=com.mysql.jdbc.Driverjdbc.mysql.jdbcUrl=jdbc:mysql://127.0.0.1:3306/mybatisjdbc.mysql.user=xxxxxjdbc.mysql.password=xxxxxxjdbc.mysql.maxPoolSize=20jdbc.mysql.maxIdleTIme=1000jdbc.mysql.minPoolSize=6jdbc.mysql.initalPoolSize=5
4.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"xmlns:p="http://www.springframework.org/schema/p"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-4.0.xsdhttp://www.springframework.org/schema/cachehttp://www.springframework.org/schema/cache/spring-cache-4.0.xsd"><context:property-placeholder location="classpath:application.properties" /><context:annotation-config /><!-- 使用annotation 自动注册bean,并保证@Required,@Autowired,@Resource的属性被注入 --><context:component-scan base-package="com.naton" /><import resource="spring-mysql.xml"/><import resource="spring-aop.xml"/><!-- 多文件上传 --><!-- <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/> --><bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" /></beans>
5.spring-aop.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" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd "> <!-- spring aop --> <aop:aspectj-autoproxy /></beans>
6.spring-mysql.xml:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:mybatis="http://mybatis.org/schema/mybatis-spring" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd"> <!-- 开启注解 --> <context:annotation-config /> <!-- 一、使用数据库连接池注册数据源,引入相关的配置文件 暂时用c3p0 --> <import resource="c3p0.xml"/> <!-- 二、创建mybatis会话工厂 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="cpdataSource" /> <property name="configLocation" value="classpath:mybatis-config.xml"></property> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="cpdataSource" /> </bean><tx:annotation-driven transaction-manager="transactionManager"/> <!-- 三、创建mybatis会话template --> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg> </bean> <!-- 注册接口类的bean,使得程序中可以用注解方式获取 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.naton.dao" /> </bean> </beans>
7.mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <mappers> <mapper resource="com/naton/dao/mapper/UserMapper.xml"/> </mappers> </configuration>
8.c3p0.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" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 一、使用c3p0连接池注册数据源 --> <bean id="cpdataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- 基础配置 --> <property name="jdbcUrl" value="${jdbc.mysql.jdbcUrl}"></property> <property name="driverClass" value="${jdbc.mysql.driverClass}"></property> <property name="user" value="${jdbc.mysql.user}"></property> <property name="password" value="${jdbc.mysql.password}"></property> <!-- 关键配置 --> <!--初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3 --> <property name="initialPoolSize" value="3"></property> <!--连接池中保留的最小连接数。Default: 2 --> <property name="minPoolSize" value="2"></property> <!--连接池中保留的最大连接数。Default: 15 --> <property name="maxPoolSize" value="15"></property> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> <property name="acquireIncrement" value="3"></property> <!-- 性能配置 --> <!-- 控制数据源内加载的PreparedStatements数量。如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0 --> <property name="maxStatements" value="8"></property> <!-- maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0 --> <property name="maxStatementsPerConnection" value="5"></property> <!--最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> <property name="maxIdleTime" value="1800"></property> </bean></beans>
9.实验过程:
package com.naton.controller;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import com.naton.dao.UserMapper;import com.naton.pojo.po.User;import com.naton.service.TxTestService;@Controllerpublic class MybatisController { @Autowired TxTestService txTestService; @RequestMapping(value = "/mybatis/text") @ResponseBody public String text(HttpServletRequest request) { return "{\"what\":\"hi\"}"; } @RequestMapping(value = "/mybatis/InsertTest") @ResponseBody public String test(HttpServletRequest request) { txTestService.insert(); return ""; }}package com.naton.service;import java.util.UUID;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import com.naton.dao.UserMapper;import com.naton.pojo.po.User;@Transactional@Servicepublic class TxTestService { @Autowired UserMapper userMapper; public void insert() { for (int i = 0; i < 100; i++) { User u = new User(); u.setUsername(UUID.randomUUID().toString()); u.setPassword(UUID.randomUUID().toString()); userMapper.insert(u); } throw new RuntimeException(); } }
UserMapper.java、 User.java、UserMapper.xml都是通过之前介绍的工具生成好的http://blog.csdn.net/jack_eusong/article/details/78537125
//UserMapper.javapackage com.naton.dao;import org.springframework.stereotype.Service;import com.naton.pojo.po.User;@Servicepublic interface UserMapper { int deleteByPrimaryKey(Integer id); int insert(User record); int insertSelective(User record); User selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(User record); int updateByPrimaryKey(User record);}package com.naton.pojo.po;//User.javapublic class User { private Integer id; private String username; private String password; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username == null ? null : username.trim(); } public String getPassword() { return password; } public void setPassword(String password) { this.password = password == null ? null : password.trim(); }}//UserMapper.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.naton.dao.UserMapper" > <resultMap id="BaseResultMap" type="com.naton.pojo.po.User" > <id column="ID" property="id" jdbcType="INTEGER" /> <result column="username" property="username" jdbcType="VARCHAR" /> <result column="password" property="password" jdbcType="VARCHAR" /> </resultMap> <sql id="Base_Column_List" > ID, username, password </sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" > select <include refid="Base_Column_List" /> from tb_user where ID = #{id,jdbcType=INTEGER} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" > delete from tb_user where ID = #{id,jdbcType=INTEGER} </delete> <insert id="insert" parameterType="com.naton.pojo.po.User" > insert into tb_user (ID, username, password ) values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR} ) </insert> <insert id="insertSelective" parameterType="com.naton.pojo.po.User" > insert into tb_user <trim prefix="(" suffix=")" suffixOverrides="," > <if test="id != null" > ID, </if> <if test="username != null" > username, </if> <if test="password != null" > password, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides="," > <if test="id != null" > #{id,jdbcType=INTEGER}, </if> <if test="username != null" > #{username,jdbcType=VARCHAR}, </if> <if test="password != null" > #{password,jdbcType=VARCHAR}, </if> </trim> </insert> <update id="updateByPrimaryKeySelective" parameterType="com.naton.pojo.po.User" > update tb_user <set > <if test="username != null" > username = #{username,jdbcType=VARCHAR}, </if> <if test="password != null" > password = #{password,jdbcType=VARCHAR}, </if> </set> where ID = #{id,jdbcType=INTEGER} </update> <update id="updateByPrimaryKey" parameterType="com.naton.pojo.po.User" > update tb_user set username = #{username,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR} where ID = #{id,jdbcType=INTEGER} </update></mapper>
- 启动程序,访问http://localhost:8080/mybatis/InsertTest,运行后,到数据库中看了一下,确实插入了100条数据。整合完成。
11.实验druid部分
druid.xml 注意druid 的id与之前c3p0中的id是一样的,主要是为了快速切换,少改东西。
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 一、使用druid数据库连接池注册数据源 --> <bean id="cpdataSource" class="com.alibaba.druid.pool.DruidDataSource"> <!-- 基础配置 --> <property name="url" value="${jdbc.mysql.jdbcUrl}"></property> <property name="driverClassName" value="${jdbc.mysql.driverClass}"></property> <property name="username" value="${jdbc.mysql.user}"></property> <property name="password" value="${jdbc.mysql.password}"></property> <!-- 关键配置 --> <!-- 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时 --> <property name="initialSize" value="3" /> <!-- 最小连接池数量 --> <property name="minIdle" value="2" /> <!-- 最大连接池数量 --> <property name="maxActive" value="15" /> <!-- 配置获取连接等待超时的时间 --> <property name="maxWait" value="10000" /> <!-- 性能配置 --> <!-- 打开PSCache,并且指定每个连接上PSCache的大小 --> <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> <!-- 其他配置 --> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="300000" /> <!-- 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis, 执行validationQuery检测连接是否有效。 --> <property name="testWhileIdle" value="true" /> <!-- 这里建议配置为TRUE,防止取到的连接不可用 ,申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。--> <property name="testOnBorrow" value="true" /> <!-- 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能 --> <property name="testOnReturn" value="false" /> </bean></beans>
将spring-mysql.xml中的
<!-- 一、使用数据库连接池注册数据源,引入相关的配置文件 --> <import resource="c3p0.xml"/> 改成 <import resource="druid.xml"/>
运行程序:到数据库中查看 数据 成功插入,配置完成。
附录:完整的pom配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.naton</groupId> <artifactId>mavenexample</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties><!-- spring版本号 --><spring.version>4.2.9.RELEASE</spring.version><aspectj.version>1.6.10</aspectj.version><tomcat.version>8.0.39</tomcat.version></properties><dependencies><dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version></dependency><dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-catalina</artifactId> <version>${tomcat.version}</version> <scope>provided</scope></dependency><dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>1.10</version></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.9</version></dependency><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.1</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.1.41</version></dependency><dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier></dependency><!-- URL Rewrite --><dependency> <groupId>org.tuckey</groupId> <artifactId>urlrewritefilter</artifactId> <version>4.0.4</version></dependency><!-- thymeleaf start --><dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf</artifactId> <version>2.1.5.RELEASE</version> </dependency> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring4</artifactId> <version>2.1.5.RELEASE</version> </dependency> <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-springsecurity3</artifactId> <version>2.1.2.RELEASE</version> </dependency><!-- thymeleaf end --><!-- 日志 --><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version></dependency><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version></dependency><!-- shiro --><dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.3</version></dependency><dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.2</version></dependency><dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>1.2.2</version></dependency><dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version>1.2.2</version></dependency><dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.2.2</version></dependency> <!-- shiro end --><!-- mongodb drive start --><dependency><groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId><version>2.13.1</version></dependency> <!-- mongodb drive end --><!-- morphia start --><dependency><groupId>org.mongodb.morphia</groupId><artifactId>morphia</artifactId><version>1.0.1</version></dependency><dependency><groupId>com.thoughtworks.proxytoys</groupId><artifactId>proxytoys</artifactId><version>1.0</version><type>jar</type><optional>true</optional></dependency><!-- morphia end --><!-- redis start --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency><!-- redis end --><!-- oracle start--><dependency><groupId>com.oracle</groupId><artifactId>ojdbc14</artifactId><version>10.2.0.4.0</version></dependency><!-- oracle end--><!-- mysql start --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <!-- mysql end --><!-- 连接池 支持oracle mysql--><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.5</version> </dependency> <!-- 连接池 end --><dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5-pre10</version> </dependency><!--mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.0</version> </dependency> <!--mybatis end --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency> <!-- 支持@Transactional --><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>1.0</version></dependency><!-- 映入JSON --><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-asl</artifactId><version>1.9.13</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.7.4</version></dependency><!-- httpClient--> <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.2</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpmime</artifactId><version>4.5.2</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.3.2</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build></project>
阅读全文
0 0
- 【Java】SpringMVC集成mybatis 连接池c3p0和druid分别实验
- spring,springmvc,mybatis,AJAX集成+alibaba的连接池druid
- springmvc(五)集成阿里 druid数据库连接池和事务等配置,集成mybatis
- SpringMVC+MyBatis+C3P0连接池详细配置
- 数据连接池c3p0和druid的简单配置
- SpringMVC Spring Mybatis Druid SpringSession集成例子
- Spring和MyBatis整合,druid连接池
- spring+mybatis+c3p0数据库连接池或druid连接池使用配置整理
- spring+mybatis+c3p0数据库连接池或druid连接池使用配置整理
- spring+mybatis+c3p0数据库连接池或druid连接池使用配置整理
- spring+mybatis+c3p0数据库连接池或druid连接池使用配置整理
- spring+mybatis+c3p0数据库连接池或druid连接池使用配置整理
- 数据库连接池 DBCP、C3P0、Druid 连接代码
- c3p0数据连接池更换为druid
- SSM超详细搭建教程(Spring+SpringMVC+Mybatis)以及集成Redis和Druid
- SpringBoot集成Druid连接池
- MyBatis配置C3P0连接池
- MyBatis配置C3P0连接池
- Java发送邮件(还不太懂,为自己以后用得到的时候再来看看)
- solr查询索引,各种查询,查询字符串,过滤查询,条件查询,排序查询、分页查询、高亮查询
- 关于UGUI Canvas RectTransfrom Scale的求法
- php实现浏览器记住密码功能
- Java.9.Data.Structures.and.Algorithms.2017.4.pdf 英文原版 免费下载
- 【Java】SpringMVC集成mybatis 连接池c3p0和druid分别实验
- 深入理解JVM之JVM内存区域与内存分配
- 51Nod 1267 四个数字和为零
- 【记录】float:right和position:absolute的问题
- 解决Spring的java.lang.IllegalArgumentException异常
- 要么听我的,要么走开(摘自《代码之道》第8章)
- 使用Filter解决获取到jsp输入值为乱码的问题
- Linux ActiveMQ开源消息总线安装
- Java 阿里云短信服务的集成